Sha256: 5958877ee48e294de60c6e839f8bf0c332d46f5bca37bcfc188aedd5329ad543

Contents?: true

Size: 766 Bytes

Versions: 1

Compression:

Stored size: 766 Bytes

Contents

module UkParliament
  # Manages creation of the correct member data source class and makes the
  # member data available to the caller.
  class HouseMembersManager
    include UkParliament

    attr_reader :members

    # Create the factory class instance and return its member data.
    def initialize(house_id, load_from_file)
      log.info('------------------------------------------------------------')
      data_source_id = load_from_file ? DATA_SOURCE_FILE : DATA_SOURCE_HTTP
      log.info("Using '#{data_source_id}' data source for '#{house_id}' members")
      source = HouseMembersSourceFactory.init_data_source(data_source_id, house_id)
      log.info("'#{house_id}' has #{source.members.size} members")
      @members = source.members
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
uk_parliament-0.1.0 lib/uk_parliament/house_members_manager.rb