Class: HttpStub::Server::Stub::Stub
- Inherits:
-
Object
- Object
- HttpStub::Server::Stub::Stub
- Defined in:
- lib/http_stub/server/stub/stub.rb
Instance Attribute Summary collapse
-
#match_rules ⇒ Object
readonly
Returns the value of attribute match_rules.
-
#response ⇒ Object
readonly
Returns the value of attribute response.
-
#triggers ⇒ Object
readonly
Returns the value of attribute triggers.
-
#uri ⇒ Object
readonly
Returns the value of attribute uri.
Instance Method Summary collapse
-
#initialize(args) ⇒ Stub
constructor
A new instance of Stub.
- #matches?(criteria, logger) ⇒ Boolean
- #response_for(request) ⇒ Object
- #to_json(*args) ⇒ Object
- #to_s ⇒ Object
Constructor Details
#initialize(args) ⇒ Stub
Returns a new instance of Stub.
9 10 11 12 13 14 15 16 |
# File 'lib/http_stub/server/stub/stub.rb', line 9 def initialize(args) @id = args["id"] || SecureRandom.uuid @uri = "#{args["base_uri"]}/http_stub/stubs/#{@id}" @match_rules = HttpStub::Server::Stub::Match::Rules.new(args) @response = HttpStub::Server::Stub::Response.create(args["response"]) @triggers = HttpStub::Server::Stub::Triggers.new(args["triggers"]) @description = args.to_s end |
Instance Attribute Details
#match_rules ⇒ Object (readonly)
Returns the value of attribute match_rules.
7 8 9 |
# File 'lib/http_stub/server/stub/stub.rb', line 7 def match_rules @match_rules end |
#response ⇒ Object (readonly)
Returns the value of attribute response.
7 8 9 |
# File 'lib/http_stub/server/stub/stub.rb', line 7 def response @response end |
#triggers ⇒ Object (readonly)
Returns the value of attribute triggers.
7 8 9 |
# File 'lib/http_stub/server/stub/stub.rb', line 7 def triggers @triggers end |
#uri ⇒ Object (readonly)
Returns the value of attribute uri.
7 8 9 |
# File 'lib/http_stub/server/stub/stub.rb', line 7 def uri @uri end |
Instance Method Details
#matches?(criteria, logger) ⇒ Boolean
18 19 20 |
# File 'lib/http_stub/server/stub/stub.rb', line 18 def matches?(criteria, logger) criteria.is_a?(String) ? criteria == @id : @match_rules.matches?(criteria, logger) end |
#response_for(request) ⇒ Object
22 23 24 |
# File 'lib/http_stub/server/stub/stub.rb', line 22 def response_for(request) @response.with_values_from(request) end |
#to_json(*args) ⇒ Object
26 27 28 |
# File 'lib/http_stub/server/stub/stub.rb', line 26 def to_json(*args) { id: @id, uri: @uri, match_rules: @match_rules, response: @response, triggers: @triggers }.to_json(*args) end |
#to_s ⇒ Object
30 31 32 |
# File 'lib/http_stub/server/stub/stub.rb', line 30 def to_s @description end |