Class: ObjectModel::Metadata::DSL
- Inherits:
-
Object
- Object
- ObjectModel::Metadata::DSL
- Defined in:
- lib/ObjectModel/Metadata/name.rb,
lib/ObjectModel/Metadata/child.rb,
lib/ObjectModel/Metadata/events.rb,
lib/ObjectModel/Metadata/validate.rb,
lib/ObjectModel/Metadata/attribute.rb,
lib/ObjectModel/Metadata/reference.rb
Instance Method Summary collapse
- #after(name, method = nil, &block) ⇒ Object
- #attribute(name, type = :object, other = {}) ⇒ Object
- #before(name, method = nil, &block) ⇒ Object
- #child(name, type = :single, other = {}) ⇒ Object
- #name(name) ⇒ Object
- #reference(name, type = :single, other = {}) ⇒ Object
- #validate(method = nil, &block) ⇒ Object
Instance Method Details
#after(name, method = nil, &block) ⇒ Object
96 97 98 99 100 |
# File 'lib/ObjectModel/Metadata/events.rb', line 96 def after name, method = nil, &block name.should! :be_in, Metadata::AFTER_EVENT_TYPES e = Event.new method, &block @meta.after[name] = [e] end |
#attribute(name, type = :object, other = {}) ⇒ Object
41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/ObjectModel/Metadata/attribute.rb', line 41 def attribute name, type = :object, other = {} type.should! :be_in, Metadata::ATTRIBUTE_TYPES_SHORTCUTS values = { :name => name, :ivname => name.to_iv, :type => Metadata::ATTRIBUTE_TYPES_SHORTCUTS[type], :initialize => NotDefined }.merge(other) attr = Attribute.new.set_with_check values @meta.attributes[name] = attr @klass._define_attribute attr end |
#before(name, method = nil, &block) ⇒ Object
102 103 104 105 106 |
# File 'lib/ObjectModel/Metadata/events.rb', line 102 def before name, method = nil, &block name.should! :be_in, Metadata::AFTER_EVENT_TYPES e = Event.new method, &block @meta.before[name] = [e] end |
#child(name, type = :single, other = {}) ⇒ Object
40 41 42 43 44 45 46 47 |
# File 'lib/ObjectModel/Metadata/child.rb', line 40 def child name, type = :single, other = {} type.should! :be_in, Metadata::CHILD_TYPES_SHORTCUTS values = {:name => name, :ivname => name.to_iv, :type => Metadata::CHILD_TYPES_SHORTCUTS[type]}.merge(other) child = Child.new.set_with_check values @meta.children[name] = child @klass._define_child child end |
#name(name) ⇒ Object
14 15 16 17 |
# File 'lib/ObjectModel/Metadata/name.rb', line 14 def name name name.should_not! :be_nil @meta.name = name end |
#reference(name, type = :single, other = {}) ⇒ Object
40 41 42 43 44 45 46 47 |
# File 'lib/ObjectModel/Metadata/reference.rb', line 40 def reference name, type = :single, other = {} type.should! :be_in, Metadata::REFERENCE_TYPES_SHORTCUTS values = {:name => name, :ivname => name.to_iv, :type => Metadata::REFERENCE_TYPES_SHORTCUTS[type]}.merge(other) ref = Reference.new.set_with_check values @meta.references[name] = ref @klass._define_reference ref end |
#validate(method = nil, &block) ⇒ Object
59 60 61 62 63 |
# File 'lib/ObjectModel/Metadata/validate.rb', line 59 def validate method = nil, &block vs = Validations.new vs << Validation.new(method, &block) @meta.validation = vs end |