Class: Shokkenki::Consumer::Stubber::Interactions

Inherits:
Object
  • Object
show all
Defined in:
lib/shokkenki/consumer/stubber/interactions.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeInteractions

Returns a new instance of Interactions.



8
9
10
11
# File 'lib/shokkenki/consumer/stubber/interactions.rb', line 8

def initialize
  @interactions = []
  @requests = []
end

Instance Attribute Details

#interactionsObject (readonly)

Returns the value of attribute interactions.



6
7
8
# File 'lib/shokkenki/consumer/stubber/interactions.rb', line 6

def interactions
  @interactions
end

#requestsObject (readonly)

Returns the value of attribute requests.



6
7
8
# File 'lib/shokkenki/consumer/stubber/interactions.rb', line 6

def requests
  @requests
end

Instance Method Details

#add(interaction) ⇒ Object



27
28
29
# File 'lib/shokkenki/consumer/stubber/interactions.rb', line 27

def add interaction
  @interactions << interaction
end

#delete_allObject



22
23
24
25
# File 'lib/shokkenki/consumer/stubber/interactions.rb', line 22

def delete_all
  @interactions.clear
  @requests.clear
end

#find(request) ⇒ Object



13
14
15
16
17
18
19
20
# File 'lib/shokkenki/consumer/stubber/interactions.rb', line 13

def find request
  matching_interaction = @interactions.find do |interaction|
    interaction.match_request? request
  end
  matching_interaction.add_match(request) if matching_interaction
  @requests << request
  matching_interaction
end

#unmatched_requestsObject



31
32
33
# File 'lib/shokkenki/consumer/stubber/interactions.rb', line 31

def unmatched_requests
  @requests.select{ |r| r.interaction.nil? }
end

#unused_interactionsObject



35
36
37
# File 'lib/shokkenki/consumer/stubber/interactions.rb', line 35

def unused_interactions
  @interactions.select { |i| i.matched_requests.empty? }
end