class CatTree::Observer::TargetSet
Public Class Methods
new()
click to toggle source
# File lib/cat_tree/observer/target_set.rb, line 6 def initialize @set = {} end
Public Instance Methods
empty?()
click to toggle source
# File lib/cat_tree/observer/target_set.rb, line 29 def empty? @set.empty? end
notice(object)
click to toggle source
# File lib/cat_tree/observer/target_set.rb, line 10 def notice(object) return unless target = get_target(object) return unless target.valid? if same_target = @set[target.key] @set[target.key] = same_target.merge(target) else @set[target.key] = target end end
object_count()
click to toggle source
# File lib/cat_tree/observer/target_set.rb, line 21 def object_count @set.values.inject(0){|t,v| t + v.count} end
same_objects()
click to toggle source
# File lib/cat_tree/observer/target_set.rb, line 25 def same_objects @set.values.select{|v| v.count > 1}.sort_by{|v| v.count}.reverse end
Private Instance Methods
get_target(object)
click to toggle source
# File lib/cat_tree/observer/target_set.rb, line 35 def get_target(object) case object when ActiveRecord::Base ArBase.new(object) end end