Class: OpenapiFirst::Test::Coverage::Tracker

Inherits:
Object
  • Object
show all
Defined in:
lib/openapi_first/test/coverage/tracker.rb

Overview

Class that allows tracking requests and response for OAD definitions. For each definition it builds a plan and forwards tracking to the correct plan.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(definitions, skip_response: nil, skip_route: nil) ⇒ Tracker

Returns a new instance of Tracker.



11
12
13
14
15
16
# File 'lib/openapi_first/test/coverage/tracker.rb', line 11

def initialize(definitions, skip_response: nil, skip_route: nil)
  @plans_by_key = definitions.values.to_h do |oad|
    plan = Plan.for(oad, skip_response:, skip_route:)
    [oad.key, plan]
  end
end

Instance Attribute Details

#plans_by_keyObject (readonly)

Returns the value of attribute plans_by_key.



9
10
11
# File 'lib/openapi_first/test/coverage/tracker.rb', line 9

def plans_by_key
  @plans_by_key
end

Instance Method Details

#plansObject



26
27
28
# File 'lib/openapi_first/test/coverage/tracker.rb', line 26

def plans
  @plans_by_key.values
end

#track_request(key, request) ⇒ Object



18
19
20
# File 'lib/openapi_first/test/coverage/tracker.rb', line 18

def track_request(key, request)
  @plans_by_key[key]&.track_request(request)
end

#track_response(key, response) ⇒ Object



22
23
24
# File 'lib/openapi_first/test/coverage/tracker.rb', line 22

def track_response(key, response)
  @plans_by_key[key]&.track_response(response)
end