Module: Soaspec::ExchangeExtractor
- Included in:
- Exchange
- Defined in:
- lib/soaspec/exchange/exchange_extractor.rb
Overview
Methods for extracting aspects of the traffic for a request / response in an exchange from the ExchangeHandler that it’s tied to
Instance Method Summary collapse
-
#[](path) ⇒ String
(also: #value_from_path)
Extract value from path api class.
-
#element?(path) ⇒ Boolean
Using same path syntax as [].
-
#format ⇒ Symbol
Type of response.
-
#pretty_response_body ⇒ String
Get multiline pretty version of response.
-
#request ⇒ Object
Request of API call.
-
#status_code ⇒ Integer
Get status code from api class.
-
#successful_status_code? ⇒ Boolean
Whether Api success code is successful.
-
#to_hash ⇒ Hash
Return the response equivalent of the response.
-
#values_from_path(path, attribute: nil) ⇒ Array
List of values found at path.
Instance Method Details
#[](path) ⇒ String Also known as: value_from_path
Extract value from path api class
33 34 35 |
# File 'lib/soaspec/exchange/exchange_extractor.rb', line 33 def [](path) exchange_handler.value_from_path(response, path.to_s) end |
#element?(path) ⇒ Boolean
Using same path syntax as []. Returns true of false depending on whether an element is found
46 47 48 49 50 51 |
# File 'lib/soaspec/exchange/exchange_extractor.rb', line 46 def element?(path) self[path] true rescue NoElementAtPath false end |
#format ⇒ Symbol
Returns Type of response. XML, JSON, etc.
40 41 42 |
# File 'lib/soaspec/exchange/exchange_extractor.rb', line 40 def format Interpreter.response_type_for(response) end |
#pretty_response_body ⇒ String
Returns Get multiline pretty version of response.
77 78 79 80 81 82 83 84 |
# File 'lib/soaspec/exchange/exchange_extractor.rb', line 77 def pretty_response_body case format when :json then JSON.pretty_generate to_hash when :xml then response.body # TODO: Single line XML make multiline else response.body end end |
#request ⇒ Object
Request of API call. Either intended request or actual request
9 10 11 |
# File 'lib/soaspec/exchange/exchange_extractor.rb', line 9 def request exchange_handler.request(@response) end |
#status_code ⇒ Integer
Get status code from api class. This is http response code for Web Api
15 16 17 |
# File 'lib/soaspec/exchange/exchange_extractor.rb', line 15 def status_code exchange_handler.status_code_for(response) end |
#successful_status_code? ⇒ Boolean
Returns Whether Api success code is successful.
20 21 22 |
# File 'lib/soaspec/exchange/exchange_extractor.rb', line 20 def successful_status_code? (200..299).cover? status_code end |
#to_hash ⇒ Hash
Return the response equivalent of the response. XML, JSON will be converted to a Hash
72 73 74 |
# File 'lib/soaspec/exchange/exchange_extractor.rb', line 72 def to_hash exchange_handler.to_hash(response) end |
#values_from_path(path, attribute: nil) ⇒ Array
Returns List of values found at path.
61 62 63 |
# File 'lib/soaspec/exchange/exchange_extractor.rb', line 61 def values_from_path(path, attribute: nil) exchange_handler.values_from_path(response, path, attribute: attribute) end |