Module: Bumbleworks::Entity::ClassMethods

Defined in:
lib/bumbleworks/entity.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#processesObject (readonly)

Returns the value of attribute processes.



86
87
88
# File 'lib/bumbleworks/entity.rb', line 86

def processes
  @processes
end

Instance Method Details

#default_process_identifier_attribute(process_name) ⇒ Object



97
98
99
100
101
102
# File 'lib/bumbleworks/entity.rb', line 97

def default_process_identifier_attribute(process_name)
  identifier_attribute = "#{process_name}_process_identifier"
  identifier_attribute.gsub!(/^#{entity_type}_/, '')
  identifier_attribute.gsub!(/process_process/, 'process')
  identifier_attribute.to_sym
end

#entity_typeObject



93
94
95
# File 'lib/bumbleworks/entity.rb', line 93

def entity_type
  Bumbleworks::Support.tokenize(name)
end

#process(process_name, options = {}) ⇒ Object



88
89
90
91
# File 'lib/bumbleworks/entity.rb', line 88

def process(process_name, options = {})
  options[:attribute] ||= default_process_identifier_attribute(process_name)
  (@processes ||= {})[process_name.to_sym] = options
end