module ProjectStore::Entity::Builder
Attributes
decorators[RW]
Public Instance Methods
add_decorators(entity)
click to toggle source
# File lib/project_store/entity/builder.rb, line 20 def add_decorators(entity) [:_default, entity.type].each do |decorator_name| case decorators[decorator_name] when Array decorators[decorator_name] when NilClass [] else [decorators[decorator_name]] end .each do |decorator| entity.extend decorator entity.mandatory_properties.concat decorator.mandatory_properties if decorator.respond_to? :mandatory_properties ProjectStore.logger.debug "Decorated entity '#{entity.name}' with '#{decorator}'" end end end
setup_entity!(entity_name, entity = {}, entity_type = nil) { |entity| ... }
click to toggle source
# File lib/project_store/entity/builder.rb, line 8 def setup_entity!(entity_name, entity = {}, entity_type = nil) entity.extend ProjectStore::Entity::Base entity.name = entity_name entity.type = entity_type unless entity_type.nil? entity.basic_checks ProjectStore.logger.info "New entity '#{entity.name}' of type '#{entity.type}'." # Adds extra decorator add_decorators entity yield entity if block_given? entity end