Class: Shaf::Settings

Inherits:
Object
  • Object
show all
Defined in:
lib/shaf/settings.rb

Constant Summary collapse

SETTINGS_FILE =
'config/settings.yml'

Class Method Summary collapse

Class Method Details

.envObject



14
15
16
# File 'lib/shaf/settings.rb', line 14

def env
  @env ||= (ENV['APP_ENV'] || ENV['RACK_ENV'] || :development).to_sym
end

.loadObject



9
10
11
12
# File 'lib/shaf/settings.rb', line 9

def load
  @settings = File.exist?(SETTINGS_FILE) ?
    YAML.load(File.read(SETTINGS_FILE)) : {}
end

.method_missing(method, *args) ⇒ Object



18
19
20
21
22
23
24
25
26
# File 'lib/shaf/settings.rb', line 18

def method_missing(method, *args)
  load unless defined? @settings

  define_singleton_method(method) do
    @settings.dig(env.to_s, method.to_s)
  end

  return public_send(method)
end

.respond_to_missing?(method, include_private = false) ⇒ Boolean

Returns:

  • (Boolean)


28
29
30
# File 'lib/shaf/settings.rb', line 28

def respond_to_missing?(method, include_private = false)
  return true
end