Class: Brightbox::ErrorParser
- Inherits:
-
Object
- Object
- Brightbox::ErrorParser
- Includes:
- Logging
- Defined in:
- lib/brightbox-cli/error_parser.rb
Instance Attribute Summary collapse
-
#socket_error ⇒ Object
Returns the value of attribute socket_error.
-
#token_error ⇒ Object
Returns the value of attribute token_error.
Instance Method Summary collapse
- #extract_response_from_json(error_json, err) ⇒ Object
-
#initialize(socket_error) ⇒ ErrorParser
constructor
A new instance of ErrorParser.
- #parse_http_error(err) ⇒ Object
- #pretty_print ⇒ Object
Methods included from Logging
Constructor Details
#initialize(socket_error) ⇒ ErrorParser
Returns a new instance of ErrorParser.
6 7 8 |
# File 'lib/brightbox-cli/error_parser.rb', line 6 def initialize(socket_error) @socket_error = socket_error end |
Instance Attribute Details
#socket_error ⇒ Object
Returns the value of attribute socket_error.
4 5 6 |
# File 'lib/brightbox-cli/error_parser.rb', line 4 def socket_error @socket_error end |
#token_error ⇒ Object
Returns the value of attribute token_error.
4 5 6 |
# File 'lib/brightbox-cli/error_parser.rb', line 4 def token_error @token_error end |
Instance Method Details
#extract_response_from_json(error_json, err) ⇒ Object
32 33 34 35 36 37 38 39 40 |
# File 'lib/brightbox-cli/error_parser.rb', line 32 def extract_response_from_json(error_json, err) json_error = error_json["errors"] || error_json["error"] if json_error && !json_error.empty? error_string = Array(json_error).join(" ") error "ERROR: #{error_string}" else error "ERROR: #{err}" end end |
#parse_http_error(err) ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/brightbox-cli/error_parser.rb', line 19 def parse_http_error(err) if err.respond_to?(:response) && err.response.respond_to?(:body) begin json_response = MultiJson.load(err.response.body) extract_response_from_json(json_response, err) rescue StandardError {} end else error "ERROR: #{err}" end end |
#pretty_print ⇒ Object
10 11 12 13 14 15 16 17 |
# File 'lib/brightbox-cli/error_parser.rb', line 10 def pretty_print case socket_error when Excon::Errors::ServiceUnavailable error "Api currently unavailable" else parse_http_error(socket_error) end end |