module <%= domain.name %>
module Domain module <%= aggregate.name %> class <%= domain_object.name %> <%= 'include Support::Root' if domain_object.is_a?(HecksDomain::Parser::Root) %> include Support::DomainObject attr_reader <%= domain_object.public_accessors %> def initialize(<%= domain_object.initializer_attributes %>)
<% domain_object.fields.each do |field| -%>
<%= "@#{field.name} = #{field.initial_state}" %>
<% end -%>
end
<% domain_object.boolean_accessors.each do |field| -%>
def <%= field.name %>? @<%= field.name %> end
<% end -%> <% domain_object.list_accessors.each do |field| -%>
def <%= field.name %> @<%= field.name %>.clone.freeze end
<% end -%>
private attr_writer <%= domain_object.private_accessors %> end end end
end