class Crowdkit::Config
Public Class Methods
config(key, value = nil, &block)
click to toggle source
# File lib/crowdkit/config.rb, line 3 def self.config(key, value = nil, &block) @@config ||= {} attr_accessor key @@config[key] = {value: value, block: block} end
new(overrides = {}) { |self| ... }
click to toggle source
# File lib/crowdkit/config.rb, line 20 def initialize(overrides = {}) @@config.each do |key,config| self.send("#{key}=", overrides[key] || ENV["CROWDKIT_#{key.upcase}"] || config[:value]) end yield(self) if block_given? end
Public Instance Methods
connection_options()
click to toggle source
# File lib/crowdkit/config.rb, line 44 def connection_options { headers: { accept: "application/json", user_agent: self.user_agent }, ssl: self.ssl } end
stack(&block)
click to toggle source
# File lib/crowdkit/config.rb, line 27 def stack(&block) @stack ||= begin if block_given? Faraday::RackBuilder.new(&block) else Faraday::RackBuilder.new(&default_middleware) end end end
to_hash()
click to toggle source
# File lib/crowdkit/config.rb, line 37 def to_hash @@config.inject({}) do |memo,(key,value)| memo[key] = instance_variable_get(:"@#{key}") memo end end
Protected Instance Methods
default_middleware()
click to toggle source
# File lib/crowdkit/config.rb, line 53 def default_middleware proc do |builder| builder.response :logger if ENV['DEBUG'] || self.debug builder.use Faraday::Request::TokenAuthentication, self.access_token builder.use Crowdkit::Middleware::RaiseError builder.adapter self.adapter || Faraday.default_adapter end end