Sha256: 617e035d315aa47ba3dbfe3f5db36a02b6ca1d9d0f1a0e4404557c30d1bb3062

Contents?: true

Size: 1.27 KB

Versions: 1

Compression:

Stored size: 1.27 KB

Contents

# Provide service methods for getting a list of all authorities and scenarios for an authority.
module QaServer
  class AuthorityListerService

    # Return a list of supported authorities
    # @return [Array<String>] list of authorities
    def self.authorities_list
      LINKED_DATA_AUTHORITIES_CONFIG.keys.sort
    end

    # Fill in status_log with data about each scenario for an authority
    # @param authority_name [String] the name of the authority
    # @param status_log [ScenarioLogger] the log that will hold the data about the scenarios
    def self.scenarios_list(authority_name:, status_log:)
      scenarios = QaServer::ScenariosLoaderService.load(authority_name: authority_name, status_log: status_log)
      return if scenarios.blank?
      list_terms(scenarios, status_log)
      list_searches(scenarios, status_log)
    end

    private

      def self.list_terms(scenarios, status_log)
        scenarios.term_scenarios.each { |scenario| QaServer::TermScenarioValidator.new(scenario: scenario, status_log: status_log).log_without_running }
      end

      def self.list_searches(scenarios, status_log)
        scenarios.search_scenarios.each { |scenario| QaServer::SearchScenarioValidator.new(scenario: scenario, status_log: status_log).log_without_running }
      end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
qa_server-0.1.99 app/services/qa_server/authority_lister_service.rb