Class: Anyway::Settings::Future

Inherits:
Object
  • Object
show all
Defined in:
lib/anyway/settings.rb,
lib/anyway/rails/settings.rb

Overview

Future encapsulates settings that will be introduced in the upcoming version with the default values, which could break compatibility

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeFuture

Returns a new instance of Future.



29
30
31
# File 'lib/anyway/settings.rb', line 29

def initialize
  @store = {}
end

Class Method Details

.setting(name, default_value) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
# File 'lib/anyway/settings.rb', line 12

def setting(name, default_value)
  settings[name] = default_value

  define_method(name) do
    store[name]
  end

  define_method(:"#{name}=") do |val|
    store[name] = val
  end
end

.settingsObject



24
25
26
# File 'lib/anyway/settings.rb', line 24

def settings
  @settings ||= {}
end

Instance Method Details

#use(*names) ⇒ Object



33
34
35
36
# File 'lib/anyway/settings.rb', line 33

def use(*names)
  store.clear
  names.each { store[_1] = self.class.settings[_1] }
end