Module: Wardrobe::InstanceMethods
- Defined in:
- lib/wardrobe/instance_methods.rb
Instance Method Summary collapse
- #_add_attribute(name, klass, **args, &blk) ⇒ Object
- #_attribute_store ⇒ Object
- #_get_attribute_value(atr) ⇒ Object
- #_initializing? ⇒ Boolean
- #_set_attribute_value(atr, value) ⇒ Object
- #initialize(**hash) ⇒ Object
Instance Method Details
#_add_attribute(name, klass, **args, &blk) ⇒ Object
19 20 21 22 23 |
# File 'lib/wardrobe/instance_methods.rb', line 19 def _add_attribute(name, klass, **args, &blk) @_wardrobe_set_singleton = _attribute_store.add( name, klass, self.class, self.class.wardrobe_stores, **args, &blk ) end |
#_attribute_store ⇒ Object
15 16 17 |
# File 'lib/wardrobe/instance_methods.rb', line 15 def _attribute_store _attribute_store_singleton || self.class.attribute_store end |
#_get_attribute_value(atr) ⇒ Object
29 30 31 |
# File 'lib/wardrobe/instance_methods.rb', line 29 def _get_attribute_value(atr) instance_variable_get(atr.ivar_name) end |
#_initializing? ⇒ Boolean
11 12 13 |
# File 'lib/wardrobe/instance_methods.rb', line 11 def _initializing? instance_variable_defined?(:@_initializing) && @_initializing end |
#_set_attribute_value(atr, value) ⇒ Object
25 26 27 |
# File 'lib/wardrobe/instance_methods.rb', line 25 def _set_attribute_value(atr, value) instance_variable_set(atr.ivar_name, value) end |
#initialize(**hash) ⇒ Object
5 6 7 8 9 |
# File 'lib/wardrobe/instance_methods.rb', line 5 def initialize(**hash) # raise "POC: More than one arg not supported..." if args.length > 1 # kargs = args.first.merge(kargs) if args.any? _initialize { _wardrobe_init(hash) } end |