Module: ObjectModel::Entity::ClassMethods
- Included in:
- ObjectModel::Entity
- Defined in:
- lib/ObjectModel/AnEntity/entity_cm.rb
Instance Attribute Summary collapse
-
#self_meta ⇒ Object
Returns the value of attribute self_meta.
Instance Method Summary collapse
- #_define_attribute(m) ⇒ Object
- #_define_child(m) ⇒ Object
- #_define_reference(m) ⇒ Object
- #meta ⇒ Object
- #metadata(&b) ⇒ Object
- #new(eid = nil, entity_id = nil, original_new = nil) ⇒ Object
Instance Attribute Details
#self_meta ⇒ Object
Returns the value of attribute self_meta.
4 5 6 |
# File 'lib/ObjectModel/AnEntity/entity_cm.rb', line 4 def @self_meta end |
Instance Method Details
#_define_attribute(m) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/ObjectModel/AnEntity/entity_cm.rb', line 10 def _define_attribute m n = m.name script = %{\ def #{n} _single_attribute_get "@#{n}" end def #{n}= value _single_attribute_set "@#{n}", :#{n}, value end def #{n}_get @#{n} end } class_eval script, __FILE__, __LINE__ end |
#_define_child(m) ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/ObjectModel/AnEntity/entity_cm.rb', line 28 def _define_child m n = m.name if m.type == Types::SingleType script = %{\ def #{n} _single_child_get "@#{n}" end def #{n}= value _single_child_set "@#{n}", :#{n}, value end def #{n}_get return @#{n} ? @om_repository.by_id(@#{n}) : nil end } class_eval script, __FILE__, __LINE__ else class_eval{attr_reader n} end end |
#_define_reference(m) ⇒ Object
50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/ObjectModel/AnEntity/entity_cm.rb', line 50 def _define_reference m n = m.name if m.type == Types::SingleType script = %{\ def #{n} _single_reference_get "@#{n}" end def #{n}= value _single_reference_set "@#{n}", :#{n}, value end def #{n}_get return @#{n} ? @om_repository.by_id(@#{n}) : nil end } class_eval script, __FILE__, __LINE__ else class_eval{attr_reader n} end end |
#meta ⇒ Object
72 73 74 75 76 77 78 79 80 81 82 |
# File 'lib/ObjectModel/AnEntity/entity_cm.rb', line 72 def = ancestors.reverse.inject nil do |r, a| if a.respond_to? :self_meta .should_not! :be_nil r ? a..inherit(r) : a. else r end end return end |
#metadata(&b) ⇒ Object
6 7 8 |
# File 'lib/ObjectModel/AnEntity/entity_cm.rb', line 6 def &b Metadata::DSL.new self, &b end |
#new(eid = nil, entity_id = nil, original_new = nil) ⇒ Object
84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 |
# File 'lib/ObjectModel/AnEntity/entity_cm.rb', line 84 def new eid = nil, entity_id = nil, original_new = nil e = super() if original_new == "original_new" return e else original_new.should! :be_nil end tr = Thread.current[:om_transaction] raise_without_self NoTransactionError, "", ObjectModel unless tr AnEntity::EntityType.initialize_new_entity e, eid, entity_id, tr tr.new_entities[e.entity_id] = e c = tr.copy_get! e c.new! tr.event_processor.fire_after e, :new return e end |