module Mongoid::Document::Flagable::InstanceMethods

Public Instance Methods

add_flag(flag) click to toggle source

Adds a flag, and you need to explicitly save the object

# File lib/mongoid-flags.rb, line 18
def add_flag(flag)
  (self.flags ||= []) << flag
  self.flags.uniq!
  self.flags
end
add_flag!(flag) click to toggle source

Adds a flag, and saves the object

# File lib/mongoid-flags.rb, line 25
def add_flag!(flag)
  add_flag(flag)
  save!
  self.flags
end
has_flag?(flag) click to toggle source

Checks if a flag exists

# File lib/mongoid-flags.rb, line 32
def has_flag?(flag)
  (self.flags || []).include?(flag)
end
remove_flag(flag) click to toggle source

Removes a flag, and you need to explicitly save the object

# File lib/mongoid-flags.rb, line 38
def remove_flag(flag)
  (self.flags || []).delete_if { |n| n.casecmp(flag) == 0 }
end
remove_flag!(flag) click to toggle source

Removes a flag, and saves the object

# File lib/mongoid-flags.rb, line 43
def remove_flag!(flag)
  remove_flag(flag)
  save!
  self.flags
end