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