Sha256: df929deb383683e3919efd6b60a44d43ce3080645fee9dc8015bb5e31a6a0577

Contents?: true

Size: 933 Bytes

Versions: 10

Compression:

Stored size: 933 Bytes

Contents

require 'logger'
require "bootic_client/version"
require "bootic_client/entity"
require "bootic_client/relation"
require "bootic_client/client"
require "bootic_client/configuration"

module BooticClient
  class << self
    def strategies
      @strategies ||= {}
    end

    def client(strategy_name, client_opts = {}, &on_new_token)
      opts = client_opts.dup
      opts[:logging] = configuration.logging
      opts[:logger] = configuration.logger if configuration.logging
      opts[:cache_store] = configuration.cache_store if configuration.cache_store
      opts[:user_agent] = configuration.user_agent if configuration.user_agent
      require "bootic_client/strategies/#{strategy_name}"
      strategies.fetch(strategy_name.to_sym).new configuration, opts, &on_new_token
    end

    def configure(&block)
      yield configuration
    end

    def configuration
      @configuration ||= Configuration.new
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
bootic_client-0.0.31 lib/bootic_client.rb
bootic_client-0.0.30 lib/bootic_client.rb
bootic_client-0.0.29 lib/bootic_client.rb
bootic_client-0.0.28 lib/bootic_client.rb
bootic_client-0.0.27 lib/bootic_client.rb
bootic_client-0.0.26 lib/bootic_client.rb
bootic_client-0.0.25 lib/bootic_client.rb
bootic_client-0.0.24 lib/bootic_client.rb
bootic_client-0.0.23 lib/bootic_client.rb
bootic_client-0.0.22 lib/bootic_client.rb