module Socialization::Stores::Mixins::Follow
Public Instance Methods
after_follow(method)
click to toggle source
# File lib/socialization/stores/mixins/follow.rb, line 16 def after_follow(method) raise Socialization::ArgumentError unless method.is_a?(Symbol) || method.nil? @after_create_hook = method end
after_unfollow(method)
click to toggle source
# File lib/socialization/stores/mixins/follow.rb, line 21 def after_unfollow(method) raise Socialization::ArgumentError unless method.is_a?(Symbol) || method.nil? @after_destroy_hook = method end
touch(what = nil)
click to toggle source
# File lib/socialization/stores/mixins/follow.rb, line 7 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
Protected Instance Methods
call_after_create_hooks(follower, followable)
click to toggle source
# File lib/socialization/stores/mixins/follow.rb, line 27 def call_after_create_hooks(follower, followable) self.send(@after_create_hook, follower, followable) if @after_create_hook touch_dependents(follower, followable) end
call_after_destroy_hooks(follower, followable)
click to toggle source
# File lib/socialization/stores/mixins/follow.rb, line 32 def call_after_destroy_hooks(follower, followable) self.send(@after_destroy_hook, follower, followable) if @after_destroy_hook touch_dependents(follower, followable) end