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

#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

#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)


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_sObject



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

def to_s
  @description
end