Module: Perpetuity::DataInjectable

Included in:
Mapper, MongoDB::Serializer
Defined in:
lib/perpetuity/data_injectable.rb

Instance Method Summary collapse

Instance Method Details

#give_id_to(object, *args) ⇒ Object



16
17
18
19
20
21
# File 'lib/perpetuity/data_injectable.rb', line 16

def give_id_to object, *args
  if args.any?
    inject_attribute object, :id, args.first
  end
  object.extend PersistedObject
end

#inject_attribute(object, attribute, value) ⇒ Object



5
6
7
# File 'lib/perpetuity/data_injectable.rb', line 5

def inject_attribute object, attribute, value
  object.instance_variable_set("@#{attribute}", value)
end

#inject_data(object, data) ⇒ Object



9
10
11
12
13
14
# File 'lib/perpetuity/data_injectable.rb', line 9

def inject_data object, data
  data.each_pair do |attribute,value|
    inject_attribute object, attribute, value
  end
  give_id_to object if object.instance_variables.include?(:@id)
end