Class: Pakyow::Support::Configurable::Setting Private
- Inherits:
-
Object
- Object
- Pakyow::Support::Configurable::Setting
- Extended by:
- DeepFreeze
- Defined in:
- lib/pakyow/support/configurable/setting.rb
This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.
Instance Method Summary collapse
- #freeze ⇒ Object private
-
#initialize(default:, configurable:, &block) ⇒ Setting
constructor
private
A new instance of Setting.
- #initialize_copy(_) ⇒ Object private
- #set(value) ⇒ Object private
- #update_configurable(configurable) ⇒ Object private
- #value ⇒ Object private
Methods included from DeepFreeze
extended, inherited, unfreezable
Constructor Details
#initialize(default:, configurable:, &block) ⇒ Setting
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns a new instance of Setting.
16 17 18 |
# File 'lib/pakyow/support/configurable/setting.rb', line 16 def initialize(default:, configurable:, &block) @default, @block, @configurable = default, block, configurable end |
Instance Method Details
#freeze ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
25 26 27 28 |
# File 'lib/pakyow/support/configurable/setting.rb', line 25 def freeze value super end |
#initialize_copy(_) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
20 21 22 23 |
# File 'lib/pakyow/support/configurable/setting.rb', line 20 def initialize_copy(_) @default = @default.deep_dup super end |
#set(value) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
30 31 32 |
# File 'lib/pakyow/support/configurable/setting.rb', line 30 def set(value) @value = value end |
#update_configurable(configurable) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
46 47 48 |
# File 'lib/pakyow/support/configurable/setting.rb', line 46 def update_configurable(configurable) @configurable = configurable end |
#value ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/pakyow/support/configurable/setting.rb', line 34 def value if instance_variable_defined?(:@value) @value else @value = if @block @configurable.instance_eval(&@block) else @default end end end |