Class: Anyway::Settings::Future

Inherits:
Object
  • Object
show all
Defined in:
lib/anyway/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.



31
32
33
# File 'lib/anyway/settings.rb', line 31

def initialize
  @store = {}
end

Class Method Details

.setting(name, default_value) ⇒ Object



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

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



26
27
28
# File 'lib/anyway/settings.rb', line 26

def settings
  @settings ||= {}
end

Instance Method Details

#use(*names) ⇒ Object



35
36
37
38
# File 'lib/anyway/settings.rb', line 35

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