class ActiveRecord::Associations::Builder::HasOne
def self.add_touch_callbacks(model, reflection)
def self.add_touch_callbacks(model, reflection) name = reflection.name touch = reflection.options[:touch] callback = -> (record) { HasOne.touch_record(record, name, touch) } model.after_create callback, if: :saved_changes? model.after_create_commit { association(name).reset_negative_cache } model.after_update callback, if: :saved_changes? model.after_destroy callback model.after_touch callback end