Module: ConfigurationManager

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

Defined Under Namespace

Classes: Configuration, Railtie

Constant Summary collapse

VERSION =
"0.1.0"

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



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

def check_configuration_freshness
  current = "application.yml"
  reference = "application.#{AppConfig.theme}.dev.yml"

  current_path = "#{Rails.root}/config/#{current}"
  reference_path = "#{Rails.root}/config/#{reference}"

  different = configs_different? current_path, reference_path

  if different && !AppConfig['allow_custom_configuration']
    raise "Current configuration #{current} does not match #{reference}. " +
      "Either run `rake config:update` or set allow_custom_configuration to true" +
      " in your application.yml."
  end
end

#reload_configObject



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

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