class StackerBee::Connection
Attributes
configuration[RW]
Public Class Methods
new(config)
click to toggle source
# File lib/stacker_bee/connection.rb, line 13 def initialize(config) self.configuration = config uri = URI.parse(configuration.url) uri.path = '' fail ConnectionError, 'no protocol specified' unless uri.scheme initialize_faraday( url: uri.to_s, ssl: { verify: configuration.ssl_verify? } ) end
Public Instance Methods
get(path, params)
click to toggle source
# File lib/stacker_bee/connection.rb, line 44 def get(path, params) @faraday.get(path, params) rescue Faraday::Error::ConnectionFailed => error configuration.logger.error error if configuration.logger raise ConnectionError, "Failed to connect to #{configuration.url}, #{error}" end
initialize_faraday(options)
click to toggle source
# File lib/stacker_bee/connection.rb, line 26 def initialize_faraday(options) @faraday = Faraday.new(options) do |faraday| faraday.use HTTPMiddleware::Detokenizer faraday.use HTTPMiddleware::SignedQuery, configuration.secret_key configuration.faraday_middlewares.call faraday unless using_adapter?(faraday.builder.handlers) faraday.adapter Faraday.default_adapter # Net::HTTP end end end
using_adapter?(handlers)
click to toggle source
# File lib/stacker_bee/connection.rb, line 38 def using_adapter?(handlers) handlers.find do |handler| handler.klass.ancestors.include?(Faraday::Adapter) end end