Module: Mongoid::Flaggable::InstanceMethods

Included in:
Mongoid::Flaggable
Defined in:
lib/mongoid_flaggable/instance_methods.rb

Instance Method Summary collapse

Instance Method Details

#add_flag(flag) ⇒ Object



4
5
6
7
8
# 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) ⇒ Object



10
11
12
13
# File 'lib/mongoid_flaggable/instance_methods.rb', line 10

def add_flag!(flag)
	add_flag(flag)
	save
end

#all_flags?(*p_flags) ⇒ Boolean Also known as: flag?, flags?

Returns:

  • (Boolean)


38
39
40
41
# 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

#any_flags?(*p_flags) ⇒ Boolean Also known as: any_flag?

Returns:

  • (Boolean)


45
46
47
48
# 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

#clear_flagsObject



25
26
27
# File 'lib/mongoid_flaggable/instance_methods.rb', line 25

def clear_flags
	self.flag_array = []
end

#clear_flags!Object



29
30
31
32
# File 'lib/mongoid_flaggable/instance_methods.rb', line 29

def clear_flags!
	clear_flags
	save
end

#flagsObject



34
35
36
# File 'lib/mongoid_flaggable/instance_methods.rb', line 34

def flags
	flag_array || []
end

#remove_flag(flag) ⇒ Object



15
16
17
18
# 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) ⇒ Object



20
21
22
23
# File 'lib/mongoid_flaggable/instance_methods.rb', line 20

def remove_flag!(flag)
	remove_flag(flag)
	save
end