Module: ConfigurationManager

Defined in:
lib/configuration_manager.rb,
lib/configuration_manager/merger.rb,
lib/configuration_manager/railtie.rb,
lib/configuration_manager/version.rb,
lib/configuration_manager/configuration.rb

Defined Under Namespace

Classes: Configuration, Merger, Railtie

Constant Summary collapse

VERSION =
"0.2.1"

Class Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Class Attribute Details

.configurationObject

Returns the value of attribute configuration.



6
7
8
# File 'lib/configuration_manager/configuration.rb', line 6

def configuration
  @configuration
end

Class Method Details

.configure {|configuration| ... } ⇒ Object

Yields:



8
9
10
11
# File 'lib/configuration_manager/configuration.rb', line 8

def configure
  self.configuration ||= Configuration.new
  yield(configuration) if block_given?
end

Instance Method Details

#check_configuration_freshnessObject



15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/configuration_manager.rb', line 15

def check_configuration_freshness
  current = YAML.load_file("#{Rails.root}/config/application.yml")
  generated = Merger.config(AppConfig.current_theme)

  differences = differing_configs(current, generated)

  if differences.any? && !AppConfig['allow_custom_configuration']
    raise "Current application.yml does not match the default for #{AppConfig.current_theme}. " +
      "Either run `rake config:update` or set allow_custom_configuration to true" +
      " in your application.yml. Differences: #{differences}"
  end
end

#reload_configObject



8
9
10
11
12
13
# File 'lib/configuration_manager.rb', line 8

def reload_config
  AppConfig.reload!
rescue Errno::ENOENT
  raise "Missing the application.yml configuration file. Try loading with " +
    "`cp config/application.cx.dev.yml config/application.yml`"
end