Module: Sequel::Plugins::Touch::ClassMethods

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#touch_columnObject

The column to modify when touching a model instance, as a symbol. Also used as the default column when touching associations, if the associations don’t specify a column.



55
56
57
# File 'lib/sequel/plugins/touch.rb', line 55

def touch_column
  @touch_column
end

#touched_associationsObject (readonly)

A hash specifying the associations to touch when instances are updated or destroyed. Keys are association name symbols and values are column name symbols.



60
61
62
# File 'lib/sequel/plugins/touch.rb', line 60

def touched_associations
  @touched_associations
end

Instance Method Details

#touch_associations(*associations) ⇒ Object

Add additional associations to be touched. See the :association option of the Sequel::Plugin::Touch.configure method for the format of the associations arguments.



67
68
69
70
71
72
73
74
75
# File 'lib/sequel/plugins/touch.rb', line 67

def touch_associations(*associations)
  associations.flatten.each do |a|
    a = {a=>touch_column} if a.is_a?(Symbol)
    a.each do |k,v|
      raise(Error, "invalid association: #{k}") unless association_reflection(k)
      touched_associations[k] = v
    end
  end
end