Class: AppConfig

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

Constant Summary collapse

@@env_prefix =
nil
@@config =
nil

Class Method Summary collapse

Class Method Details

.[](name, default = nil) ⇒ Object



18
19
20
# File 'lib/app_config.rb', line 18

def self.[](name, default = nil)
  ENV.fetch("#{env_prefix}#{name.to_s.upcase.sub('-','_')}", config.respond_to?(:fetch) ? config.fetch(name, default) : nil)
end

.configObject



11
12
13
# File 'lib/app_config.rb', line 11

def self.config
  @@config
end

.config=(value) ⇒ Object



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

def self.config=(value)
  @@config = value
end

.env_prefixObject



3
4
5
# File 'lib/app_config.rb', line 3

def self.env_prefix
  @@env_prefix
end

.env_prefix=(value) ⇒ Object



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

def self.env_prefix=(value)
  @@env_prefix = value
end

.method_missing(name, *args, &block) ⇒ Object



22
23
24
25
26
27
28
# File 'lib/app_config.rb', line 22

def self.method_missing(name, *args, &block)
  if block_given?
    self[name, yield(*args)]
  else
    self[name, args.first]
  end
end