module Mongoid::Flaggable::InstanceMethods

Public Instance Methods

add_flag(flag) click to toggle source
# File lib/mongoid_flaggable/instance_methods.rb, line 4
def add_flag(flag)
        self.flag_array = [] if flag_array.nil?
        flag_array << flag.to_s
        flag_array.uniq!
end
add_flag!(flag) click to toggle source
# File lib/mongoid_flaggable/instance_methods.rb, line 10
def add_flag!(flag)
        add_flag(flag)
        save
end
all_flags?(*p_flags) click to toggle source
# File lib/mongoid_flaggable/instance_methods.rb, line 38
def all_flags?(*p_flags)
        p_flags = p_flags.flatten.map(&:to_s).uniq.sort
        (p_flags - flags).empty?
end
Also aliased as: flag?, flags?
any_flag?(*p_flags)
Alias for: any_flags?
any_flags?(*p_flags) click to toggle source
# File lib/mongoid_flaggable/instance_methods.rb, line 45
def any_flags?(*p_flags)
        p_flags = p_flags.flatten.map(&:to_s)
        (flags & p_flags).any?
end
Also aliased as: any_flag?
clear_flags() click to toggle source
# File lib/mongoid_flaggable/instance_methods.rb, line 25
def clear_flags
        self.flag_array = []
end
clear_flags!() click to toggle source
# File lib/mongoid_flaggable/instance_methods.rb, line 29
def clear_flags!
        clear_flags
        save
end
flag?(*p_flags)
Alias for: all_flags?
flags() click to toggle source
# File lib/mongoid_flaggable/instance_methods.rb, line 34
def flags
        flag_array || []
end
flags?(*p_flags)
Alias for: all_flags?
remove_flag(flag) click to toggle source
# File lib/mongoid_flaggable/instance_methods.rb, line 15
def remove_flag(flag)
        return if flag_array.nil?
        flag_array.delete(flag.to_s)
end
remove_flag!(flag) click to toggle source
# File lib/mongoid_flaggable/instance_methods.rb, line 20
def remove_flag!(flag)
        remove_flag(flag)
        save
end