Class: Philiprehberger::HttpMock::Registry
- Inherits:
-
Object
- Object
- Philiprehberger::HttpMock::Registry
- Defined in:
- lib/philiprehberger/http_mock/registry.rb
Overview
Thread-safe registry of stub definitions and recorded requests
Instance Attribute Summary collapse
-
#requests ⇒ Array<Request>
readonly
Recorded requests.
-
#stubs ⇒ Array<StubDefinition>
readonly
Registered stubs.
Instance Method Summary collapse
-
#find_stub(request) ⇒ StubDefinition?
Find a matching stub for a request.
-
#initialize ⇒ Registry
constructor
A new instance of Registry.
-
#record(request) ⇒ void
Record an incoming request.
-
#register(stub_def) ⇒ StubDefinition
Register a new stub definition.
-
#reset! ⇒ void
Clear all stubs and recorded requests.
Constructor Details
#initialize ⇒ Registry
Returns a new instance of Registry.
13 14 15 16 17 |
# File 'lib/philiprehberger/http_mock/registry.rb', line 13 def initialize @stubs = [] @requests = [] @mutex = Mutex.new end |
Instance Attribute Details
#requests ⇒ Array<Request> (readonly)
Returns recorded requests.
11 12 13 |
# File 'lib/philiprehberger/http_mock/registry.rb', line 11 def requests @requests end |
#stubs ⇒ Array<StubDefinition> (readonly)
Returns registered stubs.
8 9 10 |
# File 'lib/philiprehberger/http_mock/registry.rb', line 8 def stubs @stubs end |
Instance Method Details
#find_stub(request) ⇒ StubDefinition?
Find a matching stub for a request
40 41 42 43 44 |
# File 'lib/philiprehberger/http_mock/registry.rb', line 40 def find_stub(request) @mutex.synchronize do @stubs.reverse_each.find { |s| s.matches?(request) } end end |
#record(request) ⇒ void
This method returns an undefined value.
Record an incoming request
32 33 34 |
# File 'lib/philiprehberger/http_mock/registry.rb', line 32 def record(request) @mutex.synchronize { @requests << request } end |
#register(stub_def) ⇒ StubDefinition
Register a new stub definition
23 24 25 26 |
# File 'lib/philiprehberger/http_mock/registry.rb', line 23 def register(stub_def) @mutex.synchronize { @stubs << stub_def } stub_def end |
#reset! ⇒ void
This method returns an undefined value.
Clear all stubs and recorded requests
49 50 51 52 53 54 |
# File 'lib/philiprehberger/http_mock/registry.rb', line 49 def reset! @mutex.synchronize do @stubs.clear @requests.clear end end |