module Mongoid::Toggle

Public Instance Methods

toggle(field_name) click to toggle source
# File lib/mongoid/toggle.rb, line 12
def toggle(field_name)
  process_toggle(field_name)
  true
end
toggle!(field_name) click to toggle source
# File lib/mongoid/toggle.rb, line 7
def toggle!(field_name)
  process_toggle(field_name)
  save
end

Protected Instance Methods

process_toggle(field_name) click to toggle source
# File lib/mongoid/toggle.rb, line 18
def process_toggle(field_name)
  field_definition = self.class.fields[field_name.to_s]

  return false if field_definition.nil?
  return false unless field_definition.type.to_s == 'Boolean'

  write_attribute(field_name, !read_attribute(field_name))
end