Sha256: a932916bdaaf7b71055cfbaa090752adf62e3e8a66d5899f0bd0b080e0cd017e
Contents?: true
Size: 1.12 KB
Versions: 9
Compression:
Stored size: 1.12 KB
Contents
module Socialization module Stores module Mixins module Follow public def touch(what = nil) if what.nil? @touch || false else raise Socialization::ArgumentError unless [:all, :follower, :followable, false, nil].include?(what) @touch = what end end def after_follow(method) raise Socialization::ArgumentError unless method.is_a?(Symbol) || method.nil? @after_create_hook = method end def after_unfollow(method) raise Socialization::ArgumentError unless method.is_a?(Symbol) || method.nil? @after_destroy_hook = method end protected def call_after_create_hooks(follower, followable) self.send(@after_create_hook, follower, followable) if @after_create_hook touch_dependents(follower, followable) end def call_after_destroy_hooks(follower, followable) self.send(@after_destroy_hook, follower, followable) if @after_destroy_hook touch_dependents(follower, followable) end end end end end
Version data entries
9 entries across 9 versions & 2 rubygems