class Figaro::Settings
This class should be extended in your own application to provide a higher level API for use in your application.
Your app shouldn't use ENV
, Figaro.env
not Settings#[]
. It also shouldn't fiddle with data conversion in settings.
class Settings
< Figaro::Settings
requires :per_page # makes it fail on startup requires :port, :int def per_page self[:per_page].int end
end
Constants
- NAMESPACE_SEPARATOR
Attributes
namespace[R]
Public Class Methods
new(namespace)
click to toggle source
# File lib/figaro/settings.rb, line 45 def initialize(namespace) @namespace = [namespace] end
Public Instance Methods
[](key)
click to toggle source
# File lib/figaro/settings.rb, line 49 def [](key) self.class.new(namespace + [key]) end
inspect()
click to toggle source
# File lib/figaro/settings.rb, line 70 def inspect "Setting: #{key} => #{value.inspect}" end
key()
click to toggle source
# File lib/figaro/settings.rb, line 53 def key ns = namespace || [] ns.join NAMESPACE_SEPARATOR end
to_s()
click to toggle source
# File lib/figaro/settings.rb, line 66 def to_s value end
to_str()
click to toggle source
# File lib/figaro/settings.rb, line 62 def to_str value end
value()
click to toggle source
# File lib/figaro/settings.rb, line 58 def value env.send key end
Private Instance Methods
env()
click to toggle source
# File lib/figaro/settings.rb, line 120 def env Figaro.env end