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