def increment!(attribute, by = 1, touch: nil)
      increment(attribute, by)
      change = public_send(attribute) - (attribute_in_database(attribute.to_s) || 0)
      self.class.update_counters(id, attribute => change, touch: touch)
      clear_attribute_change(attribute) # eww
      self
    end
def increment!(attribute, by = 1, touch: nil)
      increment(attribute, by)
      change = public_send(attribute) - (attribute_in_database(attribute.to_s) || 0)
      self.class.update_counters(id, attribute => change, touch: touch)
      clear_attribute_change(attribute) # eww
      self
    end
Wrapper around #increment that writes the update to the database.
 Only +attribute+ is updated; the record itself is not saved.
 This means that any other modified attributes will still be dirty.
 Validations and callbacks are skipped. Supports the +touch+ option from
 +update_counters+, see that for more.
 Returns +self+.