Class: OmniAuthConfigure::CentralParameters

Inherits:
Object
  • Object
show all
Defined in:
lib/omniauth_configure/central_parameters.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(file_path) ⇒ CentralParameters

Returns a new instance of CentralParameters.



17
18
19
20
21
# File 'lib/omniauth_configure/central_parameters.rb', line 17

def initialize(file_path)
  @raw_values = YAML::load( File.open(file_path) )

  @raw_values = nested_symbolize_keys!(deep_clone(raw_values))
end

Instance Attribute Details

#entriesObject



9
10
11
# File 'lib/omniauth_configure/central_parameters.rb', line 9

def entries
  @entries ||= {}
end

#raw_valuesObject



13
14
15
# File 'lib/omniauth_configure/central_parameters.rb', line 13

def raw_values
  @raw_values ||= {}
end

Instance Method Details

#[](app, provider) ⇒ Object



23
24
25
26
27
28
29
30
31
32
# File 'lib/omniauth_configure/central_parameters.rb', line 23

def [](app, provider)
  unless entries.key?(app)
    entries[app] = {}
    entries[app][provider] = 
        {}.deep_merge((raw_values[:default] || {})[provider] || {}).
        deep_merge((raw_values[:defaults] || {})[provider] || {}).
        deep_merge((raw_values[app] || {})[provider] || {})
  end
  entries[app][provider]
end