module MongoMapper::Plugins::Modifiers

Public Instance Methods

add_to_set(hash, options=nil) click to toggle source
# File lib/mongo_mapper/plugins/modifiers.rb, line 162
def add_to_set(hash, options=nil)
  self.class.push_uniq({:_id => id}, hash, options)
end
Also aliased as: push_uniq
decrement(args, options=nil) click to toggle source
# File lib/mongo_mapper/plugins/modifiers.rb, line 132
def decrement(args, options=nil)
  self.class.decrement({:_id => id}, _args_for_counter(args), options)
end
increment(args, options=nil) click to toggle source
# File lib/mongo_mapper/plugins/modifiers.rb, line 128
def increment(args, options=nil)
  self.class.increment({:_id => id}, _args_for_counter(args), options)
end
pop(hash, options=nil) click to toggle source
# File lib/mongo_mapper/plugins/modifiers.rb, line 167
def pop(hash, options=nil)
  self.class.pop({:_id => id}, hash, options)
end
pull(hash, options=nil) click to toggle source
# File lib/mongo_mapper/plugins/modifiers.rb, line 154
def pull(hash, options=nil)
  self.class.pull({:_id => id}, hash, options)
end
pull_all(hash, options=nil) click to toggle source
# File lib/mongo_mapper/plugins/modifiers.rb, line 158
def pull_all(hash, options=nil)
  self.class.pull_all({:_id => id}, hash, options)
end
push(hash, options=nil) click to toggle source
# File lib/mongo_mapper/plugins/modifiers.rb, line 140
def push(hash, options=nil)
  self.class.push({:_id => id}, hash, options)
end
push_all(hash, options=nil) click to toggle source
# File lib/mongo_mapper/plugins/modifiers.rb, line 144
def push_all(hash, options=nil)
  Kernel.warn "push_all no longer supported. use $push with $each"

  push_values = hash.inject({}) do |hsh, (key, values)|
    { key => { '$each' => values } }
  end

  self.class.push({:_id => id}, push_values, options)
end
push_uniq(hash, options=nil)
Alias for: add_to_set
set(hash, options=nil) click to toggle source
# File lib/mongo_mapper/plugins/modifiers.rb, line 136
def set(hash, options=nil)
  self.class.set({:_id => id}, hash, options)
end
unset(*args) click to toggle source
# File lib/mongo_mapper/plugins/modifiers.rb, line 124
def unset(*args)
  self.class.unset({:_id => id}, *args)
end

Private Instance Methods

_args_for_counter(args) click to toggle source
# File lib/mongo_mapper/plugins/modifiers.rb, line 173
def _args_for_counter(args)
  args.kind_of?(String) || args.kind_of?(Symbol) ?
    { args => 1 } :
    args
end