class HecksDomain::Parser::Aggregate
Attributes
domain[R]
domain_objects[R]
name[R]
Public Class Methods
new(name, domain, &block)
click to toggle source
# File lib/hecks/domain/parser/aggregate.rb, line 6 def initialize(name, domain, &block) @name = name @entities = [] @value_objects = [] @domain = domain instance_eval(&block) @domain_objects = @entities + @value_objects end
Public Instance Methods
binding()
click to toggle source
Calls superclass method
# File lib/hecks/domain/parser/aggregate.rb, line 39 def binding super end
entity(name, &block)
click to toggle source
# File lib/hecks/domain/parser/aggregate.rb, line 15 def entity(name, &block) Entity.new(name, self, &block).tap do |entity| @entities << entity end end
file_name()
click to toggle source
# File lib/hecks/domain/parser/aggregate.rb, line 21 def file_name folder_name + '.rb' end
folder_name()
click to toggle source
# File lib/hecks/domain/parser/aggregate.rb, line 25 def folder_name name.to_s.underscore end
root(name, &block)
click to toggle source
# File lib/hecks/domain/parser/aggregate.rb, line 29 def root(name, &block) @root = Root.new(name, self, &block).tap do |root| @entities << root end end
value(name, &block)
click to toggle source
# File lib/hecks/domain/parser/aggregate.rb, line 35 def value(name, &block) @value_objects << ValueObject.new(name, self, &block) end