Class: HttpStub::Server::Stub::Stub

Inherits:
Object
  • Object
show all
Defined in:
lib/http_stub/server/stub/stub.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(args) ⇒ Stub

Returns a new instance of Stub.



9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/http_stub/server/stub/stub.rb', line 9

def initialize(args)
  @id          = args["id"] || SecureRandom.uuid
  @uri         = HttpStub::Server::Stub::Match::Rule::Uri.new(args["uri"])
  @method      = HttpStub::Server::Stub::Match::Rule::Method.new(args["method"])
  @headers     = HttpStub::Server::Stub::Match::Rule::Headers.new(args["headers"])
  @parameters  = HttpStub::Server::Stub::Match::Rule::Parameters.new(args["parameters"])
  @body        = HttpStub::Server::Stub::Match::Rule::Body.create(args["body"])
  @response    = HttpStub::Server::Stub::Response.create(args["response"])
  @triggers    = HttpStub::Server::Stub::Triggers.new(args["triggers"])
  @stub_uri    = "/http_stub/stubs/#{@id}"
  @description = args.to_s
end

Instance Attribute Details

#bodyObject (readonly)

Returns the value of attribute body.



7
8
9
# File 'lib/http_stub/server/stub/stub.rb', line 7

def body
  @body
end

#headersObject (readonly)

Returns the value of attribute headers.



7
8
9
# File 'lib/http_stub/server/stub/stub.rb', line 7

def headers
  @headers
end

#methodObject (readonly)

Returns the value of attribute method.



7
8
9
# File 'lib/http_stub/server/stub/stub.rb', line 7

def method
  @method
end

#parametersObject (readonly)

Returns the value of attribute parameters.



7
8
9
# File 'lib/http_stub/server/stub/stub.rb', line 7

def parameters
  @parameters
end

#responseObject (readonly)

Returns the value of attribute response.



7
8
9
# File 'lib/http_stub/server/stub/stub.rb', line 7

def response
  @response
end

#stub_uriObject (readonly)

Returns the value of attribute stub_uri.



7
8
9
# File 'lib/http_stub/server/stub/stub.rb', line 7

def stub_uri
  @stub_uri
end

#triggersObject (readonly)

Returns the value of attribute triggers.



7
8
9
# File 'lib/http_stub/server/stub/stub.rb', line 7

def triggers
  @triggers
end

#uriObject (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

Returns:

  • (Boolean)


22
23
24
# File 'lib/http_stub/server/stub/stub.rb', line 22

def matches?(criteria, logger)
  criteria.is_a?(String) ? matches_by_id?(criteria) : matches_by_rules?(criteria, logger)
end

#response_for(request) ⇒ Object



26
27
28
# File 'lib/http_stub/server/stub/stub.rb', line 26

def response_for(request)
  @response.with_values_from(request)
end

#to_sObject



30
31
32
# File 'lib/http_stub/server/stub/stub.rb', line 30

def to_s
  @description
end