Module: Settis::Container
- Defined in:
- lib/settis/container.rb
Instance Method Summary collapse
- #redis ⇒ Object
- #root(value = nil) ⇒ Object
-
#setting(name, type, options = {}) ⇒ Object
Defines a new setting.
Instance Method Details
#redis ⇒ Object
20 21 22 |
# File 'lib/settis/container.rb', line 20 def redis @redis ||= Redis::Namespace.new(root, :redis => Settis.redis) end |
#root(value) ⇒ Object #root ⇒ Object
29 30 31 32 33 34 35 |
# File 'lib/settis/container.rb', line 29 def root(value = nil) if value.nil? @root ||= 'settings' else @root = value end end |
#setting(name, type, options = {}) ⇒ Object
Defines a new setting.
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/settis/container.rb', line 43 def setting(name, type, = {}) @settings ||= {} name = name.to_s raise ArgumentError, "The setting '#{name}' already exists." if @settings.key?(name) klass = case type when :string then Settings::Scalar when :integer then Settings::Integer when :boolean then Settings::Boolean else raise ArgumentError, "Unknown type '#{type}'." end @settings[name] = klass.new(name, self, ) end |