Class: Faraday::Adapter::Test::Stub
- Inherits:
-
Struct
- Object
- Struct
- Faraday::Adapter::Test::Stub
- Defined in:
- lib/faraday/adapter/test.rb
Instance Attribute Summary collapse
-
#block ⇒ Object
Returns the value of attribute block.
-
#body ⇒ Object
Returns the value of attribute body.
-
#headers ⇒ Object
Returns the value of attribute headers.
-
#params ⇒ Object
Returns the value of attribute params.
-
#path ⇒ Object
Returns the value of attribute path.
Instance Method Summary collapse
- #headers_match?(request_headers) ⇒ Boolean
-
#initialize(full, headers, body, block) ⇒ Stub
constructor
A new instance of Stub.
- #matches?(request_uri, request_headers, request_body) ⇒ Boolean
- #params_match?(request_params) ⇒ Boolean
- #path_match?(request_path, meta) ⇒ Boolean
- #to_s ⇒ Object
Constructor Details
#initialize(full, headers, body, block) ⇒ Stub
Returns a new instance of Stub.
127 128 129 130 131 132 133 |
# File 'lib/faraday/adapter/test.rb', line 127 def initialize(full, headers, body, block) path, query = full.respond_to?(:split) ? full.split("?") : full params = query ? Faraday::Utils.parse_nested_query(query) : {} super(path, params, headers, body, block) end |
Instance Attribute Details
#block ⇒ Object
Returns the value of attribute block
126 127 128 |
# File 'lib/faraday/adapter/test.rb', line 126 def block @block end |
#body ⇒ Object
Returns the value of attribute body
126 127 128 |
# File 'lib/faraday/adapter/test.rb', line 126 def body @body end |
#headers ⇒ Object
Returns the value of attribute headers
126 127 128 |
# File 'lib/faraday/adapter/test.rb', line 126 def headers @headers end |
#params ⇒ Object
Returns the value of attribute params
126 127 128 |
# File 'lib/faraday/adapter/test.rb', line 126 def params @params end |
#path ⇒ Object
Returns the value of attribute path
126 127 128 |
# File 'lib/faraday/adapter/test.rb', line 126 def path @path end |
Instance Method Details
#headers_match?(request_headers) ⇒ Boolean
163 164 165 166 167 |
# File 'lib/faraday/adapter/test.rb', line 163 def headers_match?(request_headers) headers.keys.all? do |key| request_headers[key] == headers[key] end end |
#matches?(request_uri, request_headers, request_body) ⇒ Boolean
135 136 137 138 139 140 141 142 143 144 145 146 147 |
# File 'lib/faraday/adapter/test.rb', line 135 def matches?(request_uri, request_headers, request_body) request_path, request_query = request_uri.split('?') request_params = request_query ? Faraday::Utils.parse_nested_query(request_query) : {} # meta is a hash use as carrier # that will be yielded to consumer block = {} return path_match?(request_path, ) && params_match?(request_params) && (body.to_s.size.zero? || request_body == body) && headers_match?(request_headers), end |
#params_match?(request_params) ⇒ Boolean
157 158 159 160 161 |
# File 'lib/faraday/adapter/test.rb', line 157 def params_match?(request_params) params.keys.all? do |key| request_params[key] == params[key] end end |
#path_match?(request_path, meta) ⇒ Boolean
149 150 151 152 153 154 155 |
# File 'lib/faraday/adapter/test.rb', line 149 def path_match?(request_path, ) if path.is_a? Regexp !!([:match_data] = path.match(request_path)) else path == request_path end end |
#to_s ⇒ Object
169 170 171 |
# File 'lib/faraday/adapter/test.rb', line 169 def to_s "#{path} #{body}" end |