code: def check_report_definition_hash(report_definition)
        # Minimal set of fields required.
        REQUIRED_FIELDS.each do |field|
          unless report_definition.include?(field)
            raise AdwordsApi::Errors::InvalidReportDefinitionError,
                "Required field '%s' is missing in the definition" % field
          end
        end
        # Fields list is also required.
        unless report_definition[:selector].include?(:fields)
          raise AdwordsApi::Errors::InvalidReportDefinitionError,
              'Fields list is required'
        end
        # 'Fields' must be an Array.
        unless report_definition[:selector][:fields].kind_of?(Array)
          raise AdwordsApi::Errors::InvalidReportDefinitionError,
              'Fields list must be an array'
        end
        # We should request at least one field.
        if report_definition[:selector][:fields].empty?
          raise AdwordsApi::Errors::InvalidReportDefinitionError,
              'At least one field needs to be requested'
        end
      end
docs: Checks if the report definition looks correct.