Class: Spy::Multi

Inherits:
Object
  • Object
show all
Defined in:
lib/spy/multi.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(spies) ⇒ Multi

Returns a new instance of Multi.



5
6
7
# File 'lib/spy/multi.rb', line 5

def initialize(spies)
  @spies = spies
end

Instance Attribute Details

#spiesObject (readonly)

Returns the value of attribute spies.



3
4
5
# File 'lib/spy/multi.rb', line 3

def spies
  @spies
end

Instance Method Details

#[](name) ⇒ Object



13
14
15
# File 'lib/spy/multi.rb', line 13

def [](name)
  @spies.find { |spy| spy.name == name }
end

#call_countObject



9
10
11
# File 'lib/spy/multi.rb', line 9

def call_count
  @spies.map(&:call_count).reduce(&:+)
end

#calledObject



17
18
19
# File 'lib/spy/multi.rb', line 17

def called
  @spies.select { |spy| spy.call_count > 0 }
end

#uncalledObject



21
22
23
# File 'lib/spy/multi.rb', line 21

def uncalled
  @spies.select { |spy| spy.call_count == 0 }
end