Module: Sequel::Plugins::Touch::InstanceMethods

Defined in:
lib/sequel/plugins/touch.rb

Instance Method Summary collapse

Instance Method Details

#after_createObject

Touch all of the model’s touched_associations when creating the object.



86
87
88
89
# File 'lib/sequel/plugins/touch.rb', line 86

def after_create
  super
  touch_associations
end

#after_destroyObject

Touch all of the model’s touched_associations when destroying the object.



92
93
94
95
# File 'lib/sequel/plugins/touch.rb', line 92

def after_destroy
  super
  touch_associations
end

#after_updateObject

Touch all of the model’s touched_associations when updating the object.



98
99
100
101
# File 'lib/sequel/plugins/touch.rb', line 98

def after_update
  super
  touch_associations
end

#touch(column = nil) ⇒ Object

Touch the model object. If a column is not given, use the model’s touch_column as the column. If the column to use is not one of the model’s columns, just save the changes to the object instead of attempting to a value that doesn’t exist.



107
108
109
110
111
112
113
114
115
# File 'lib/sequel/plugins/touch.rb', line 107

def touch(column=nil)
  if column
    set(column=>touch_instance_value)
  else
    column = model.touch_column
    set(column=>touch_instance_value) if columns.include?(column)
  end
  save_changes
end