Sha256: d6d966e732b97fa3351f3131bec451f085d0c4f08a776394fa41fc440d907c0d
Contents?: true
Size: 1.33 KB
Versions: 6
Compression:
Stored size: 1.33 KB
Contents
require 'config/factory' require 'uri' class SourceConfig include Config::Factory key :protocol attr_reader :source_uri def initialize(source_url:) @source_uri = URI(source_url) end end class OAISourceConfig < SourceConfig protocol 'OAI' attr_reader :oai_base_url attr_reader :metadata_prefix attr_reader :set attr_reader :seconds_granularity def initialize(oai_base_url:, metadata_prefix:, set: nil, seconds_granularity: false) super(source_url: oai_base_url) @oai_base_url = source_uri @metadata_prefix = metadata_prefix @set = set @seconds_granularity = seconds_granularity end end class ResyncSourceConfig < SourceConfig protocol 'Resync' attr_reader :capability_list_url def initialize(capability_list_url:) super(url: capability_list_url) @capability_list_url = source_uri end end # IndexConfig class IndexConfig include Config::Factory key :adapter attr_reader :uri def initialize(url:) @uri = URI(url) end end class SolrConfig < IndexConfig adapter 'Solr' attr_reader :url attr_reader :proxy attr_reader :open_timeout attr_reader :read_timeout def initialize(url:, proxy: nil, open_timeout: 60, read_timeout: 120) super(url: url) @url = uri @proxy = proxy @open_timeout = open_timeout @read_timeout = read_timeout end end
Version data entries
6 entries across 6 versions & 1 rubygems