Class: CatTree::Observer::TargetSet

Inherits:
Object
  • Object
show all
Defined in:
lib/cat_tree/observer/target_set.rb

Instance Method Summary collapse

Constructor Details

#initializeTargetSet

Returns a new instance of TargetSet.



6
7
8
# File 'lib/cat_tree/observer/target_set.rb', line 6

def initialize
  @set = {}
end

Instance Method Details

#empty?Boolean

Returns:

  • (Boolean)


29
30
31
# File 'lib/cat_tree/observer/target_set.rb', line 29

def empty?
  @set.empty?
end

#notice(object) ⇒ Object



10
11
12
13
14
15
16
17
18
19
# 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_countObject



21
22
23
# File 'lib/cat_tree/observer/target_set.rb', line 21

def object_count
  @set.values.inject(0){|t,v| t + v.count}
end

#same_objectsObject



25
26
27
# 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