Class: Bonita::BaseModel

Inherits:
Object
  • Object
show all
Defined in:
lib/bonita/models/base_model.rb

Class Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(params = {}) ⇒ BaseModel

Returns a new instance of BaseModel.



18
19
20
21
22
# File 'lib/bonita/models/base_model.rb', line 18

def initialize(params = {})
  self.class.attributes.each do |key|
    instance_variable_set("@#{key}", params[key])
  end
end

Class Attribute Details

.attributesObject (readonly)

Returns the value of attribute attributes.



6
7
8
# File 'lib/bonita/models/base_model.rb', line 6

def attributes
  @attributes
end

Class Method Details

.attribute(name) ⇒ Object



8
9
10
11
12
13
14
15
# File 'lib/bonita/models/base_model.rb', line 8

def attribute(name)
  @attributes ||= []

  return if @attributes.include? name

  @attributes << name
  send(:attr_accessor, name)
end

Instance Method Details

#inspectObject



24
25
26
27
# File 'lib/bonita/models/base_model.rb', line 24

def inspect
  values = Hash[instance_variables.map { |name| [name, instance_variable_get(name)] }]
  "<#{self.class.name} #{values}>"
end