Module: Mongoid::Flaggable::InstanceMethods
- Included in:
- Mongoid::Flaggable
- Defined in:
- lib/mongoid_flaggable/instance_methods.rb
Instance Method Summary collapse
- #add_flag(flag) ⇒ Object
- #add_flag!(flag) ⇒ Object
- #all_flags?(*p_flags) ⇒ Boolean (also: #flag?, #flags?)
- #any_flags?(*p_flags) ⇒ Boolean (also: #any_flag?)
- #clear_flags ⇒ Object
- #clear_flags! ⇒ Object
- #flags ⇒ Object
- #remove_flag(flag) ⇒ Object
- #remove_flag!(flag) ⇒ Object
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?
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?
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_flags ⇒ Object
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 |
#flags ⇒ Object
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 |