Module: MongoHelper::InstanceMethods

Defined in:
lib/mongo_helper.rb

Instance Method Summary collapse

Instance Method Details

#delete_embedded!(field, obj) ⇒ Object



61
62
63
64
65
66
67
68
# File 'lib/mongo_helper.rb', line 61

def delete_embedded!(field, obj)
  return false if obj.nil?
  if self.find_embedded(field, obj.id)
    arr = self.send field.to_sym
    arr.delete_if {|el| el.id == obj.id}
  end
  self.save
end

#find_embedded(field, id) ⇒ Object



70
71
72
73
# File 'lib/mongo_helper.rb', line 70

def find_embedded(field, id)
  arr = self.send field.to_sym
  arr.select{|m| m.id == id || m.id.to_s == id}.first
end

#save_embedded!(field, obj) ⇒ Object



52
53
54
55
56
57
58
59
# File 'lib/mongo_helper.rb', line 52

def save_embedded!(field, obj)
  return false unless obj.valid?
  if !self.find_embedded(field, obj.id)
    arr = self.send field.to_sym
    arr << obj
  end
  self.save
end