Exception: Swagalicious::ExampleHelpers::InvalidResponseTypeError

Inherits:
RuntimeError
  • Object
show all
Defined in:
lib/swagalicious/example_helpers.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(status:, message:, headers:, response:, request:) ⇒ InvalidResponseTypeError

Returns a new instance of InvalidResponseTypeError.



29
30
31
32
33
34
35
# File 'lib/swagalicious/example_helpers.rb', line 29

def initialize(status:, message:, headers:, response:, request:)
  @headers  = headers
  @_message = message
  @request  = request
  @response = response
  @status   = status
end

Instance Attribute Details

#_messageObject (readonly)

Returns the value of attribute _message.



27
28
29
# File 'lib/swagalicious/example_helpers.rb', line 27

def _message
  @_message
end

#headersObject (readonly)

Returns the value of attribute headers.



27
28
29
# File 'lib/swagalicious/example_helpers.rb', line 27

def headers
  @headers
end

#requestObject (readonly)

Returns the value of attribute request.



27
28
29
# File 'lib/swagalicious/example_helpers.rb', line 27

def request
  @request
end

#responseObject (readonly)

Returns the value of attribute response.



27
28
29
# File 'lib/swagalicious/example_helpers.rb', line 27

def response
  @response
end

#statusObject (readonly)

Returns the value of attribute status.



27
28
29
# File 'lib/swagalicious/example_helpers.rb', line 27

def status
  @status
end

Instance Method Details

#inspectObject



37
38
39
# File 'lib/swagalicious/example_helpers.rb', line 37

def inspect
  JSON.pretty_generate(to_h)
end

#messageObject



60
61
62
# File 'lib/swagalicious/example_helpers.rb', line 60

def message
  inspect
end

#to_hObject



41
42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/swagalicious/example_helpers.rb', line 41

def to_h
  hash = {
    headers: headers.to_h,
    message: _message,
    request: request.slice(:verb, :path, :headers),
    status:  status,
  }

  if parsed_body = Parser.new(request: request, response: response).parse(raise_on_invalid: false)
    hash[:parsed_response] = parsed_body
  end

  hash
end

#to_sObject



56
57
58
# File 'lib/swagalicious/example_helpers.rb', line 56

def to_s
  "Received unexpected or unparseable response with status code #{status} for #{request[:verb].upcase} #{request[:path]}: #{_message}"
end