class HttpStub::Server::Stub::Stub

Attributes

match_rules[R]
response[R]
stub_id[R]
triggers[R]
uri[R]

Public Class Methods

new(hash) click to toggle source
# File lib/http_stub/server/stub/stub.rb, line 9
def initialize(hash)
  @stub_id      = hash[:id]
  @uri          = "/http_stub/stubs/#{@stub_id}"
  @match_rules  = HttpStub::Server::Stub::Match::Rules.new(hash[:match_rules])
  @response     = HttpStub::Server::Stub::Response.create(hash[:response])
  @triggers     = HttpStub::Server::Stub::Triggers.new(hash[:triggers])
  @description  = hash.to_s
end

Public Instance Methods

matches?(criteria, logger) click to toggle source
# File lib/http_stub/server/stub/stub.rb, line 18
def matches?(criteria, logger)
  criteria.is_a?(String) ? criteria == @stub_id : @match_rules.matches?(criteria, logger)
end
response_for(request) click to toggle source
# File lib/http_stub/server/stub/stub.rb, line 22
def response_for(request)
  @response.with_values_from(request)
end
to_json(*args) click to toggle source
# File lib/http_stub/server/stub/stub.rb, line 26
def to_json(*args)
  {
    id:          @stub_id,
    uri:         @uri,
    match_rules: @match_rules,
    response:    @response,
    triggers:    @triggers
  }.to_json(*args)
end
to_s() click to toggle source
# File lib/http_stub/server/stub/stub.rb, line 36
def to_s
  @description
end