class OmniAuth::Swagger::DefaultProviderLookup

Constants

OPTION_URI

Public Class Methods

new(providers_config) click to toggle source
# File lib/omniauth/swagger/default_provider_lookup.rb, line 12
def initialize(providers_config)
  @config = providers_config
end

Public Instance Methods

get(provider_name, env) click to toggle source
# File lib/omniauth/swagger/default_provider_lookup.rb, line 16
def get(provider_name, env)
  defaults = provider_defaults[provider_name] || {}
  if cfg = @config[provider_name]
    opts = defaults.merge(cfg)
    configure_spec_loader(opts)
    opts
  else
    defaults
  end
end

Protected Instance Methods

configure_spec_loader(opts) click to toggle source
# File lib/omniauth/swagger/default_provider_lookup.rb, line 28
def configure_spec_loader(opts)
  uri = opts.delete(OPTION_URI)
  opts[OmniAuth::Strategies::Swagger::OPTION_SPECIFICATION] = Proc.new{
    spec = nil
    open(uri) do |f|
      spec = Apiture::Swagger::Parser.new.parse(f)
    end
    spec
  }
end