Class: Warg::Config::VariableSet::Property
- Inherits:
-
Module
- Object
- Module
- Warg::Config::VariableSet::Property
- Defined in:
- lib/warg.rb
Constant Summary collapse
- REGEXP =
/^[A-Za-z_]+$/
Instance Method Summary collapse
- #extended(variables_set) ⇒ Object
-
#initialize(name, initial_value = nil) ⇒ Property
constructor
A new instance of Property.
Constructor Details
#initialize(name, initial_value = nil) ⇒ Property
Returns a new instance of Property.
1398 1399 1400 1401 |
# File 'lib/warg.rb', line 1398 def initialize(name, initial_value = nil) @name = name @initial_value = initial_value end |
Instance Method Details
#extended(variables_set) ⇒ Object
1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 |
# File 'lib/warg.rb', line 1403 def extended(variables_set) variables_set.define! @name variables_set.singleton_class.class_eval " attr_writer :\#{@name}\n\n def \#{@name}(&block)\n if block.nil?\n value = instance_variable_get(:@\#{@name})\n\n if value.respond_to?(:to_proc)\n instance_eval(&value)\n else\n value\n end\n else\n instance_variable_set(:@\#{@name}, block)\n end\n end\n PROPERTY_METHODS\n\n variables_set.instance_variable_set(\"@\#{@name}\", @initial_value)\nend\n" |