Class: OmniAuth::ProviderRegistry::Registry

Inherits:
Object
  • Object
show all
Defined in:
lib/omniauth/provider_registry/registry.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(factory_methods) ⇒ Registry

Returns a new instance of Registry.



6
7
8
# File 'lib/omniauth/provider_registry/registry.rb', line 6

def initialize(factory_methods)
  @factory_methods = factory_methods
end

Instance Attribute Details

#factory_methodsObject (readonly)

Returns the value of attribute factory_methods.



4
5
6
# File 'lib/omniauth/provider_registry/registry.rb', line 4

def factory_methods
  @factory_methods
end

Instance Method Details

#factories_by_nameObject



15
16
17
18
19
20
# File 'lib/omniauth/provider_registry/registry.rb', line 15

def factories_by_name
  @factories_by_name ||= factory_methods.each_with_object({}){|f, all|
    name = f.call.name.to_sym
    all[name] = f
  }
end

#find(name) ⇒ Object



10
11
12
13
# File 'lib/omniauth/provider_registry/registry.rb', line 10

def find(name)
  factory = factories_by_name[name.to_sym]
  factory.call if factory
end