Sha256: 55a5526859070736af1de2b76bda1c046d39ea675cf3f4f29eb0791d8e8007f5
Contents?: true
Size: 1.59 KB
Versions: 2
Compression:
Stored size: 1.59 KB
Contents
module ResoTransport class Client attr_reader :connection, :uid, :vendor, :endpoint, :auth, :md_file def initialize(options) @endpoint = options.fetch(:endpoint) @md_file = options.fetch(:md_file, nil) @authentication = ensure_valid_auth_strategy(options.fetch(:authentication)) @vendor = options.fetch(:vendor, {}) @faraday_options = options.fetch(:faraday_options, {}) @logger = options.fetch(:logger, nil) @connection = Faraday.new(@endpoint, @faraday_options) do |faraday| faraday.request :url_encoded faraday.response :logger, @logger || ResoTransport.configuration.logger #yield faraday if block_given? faraday.use Authentication::Middleware, @authentication faraday.adapter Faraday.default_adapter #unless faraday.builder.send(:adapter_set?) end end def resources @resources ||= metadata.entity_sets.map {|es| {es.name => Resource.new(self, es)} }.reduce(:merge!) end def metadata @metadata ||= Metadata.new(self) end def to_s %(#<ResoTransport::Client endpoint="#{endpoint}", md_file="#{md_file}">) end def inspect to_s end private def ensure_valid_auth_strategy(options) case options when Hash if options.has_key?(:endpoint) Authentication::FetchTokenAuth.new(options) else Authentication::StaticTokenAuth.new(options) end else raise ArgumentError, "#{options.inspect} invalid: cannot determine strategy" end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
reso_transport-1.5.3 | lib/reso_transport/client.rb |
reso_transport-1.5.2 | lib/reso_transport/client.rb |