Class: Fitting::Response

Inherits:
Object
  • Object
show all
Defined in:
lib/fitting/response.rb,
lib/fitting/response/fully_validates.rb

Defined Under Namespace

Classes: FullyValidates

Instance Method Summary collapse

Constructor Details

#initialize(env_response, tomogram) ⇒ Response

Returns a new instance of Response.



6
7
8
9
10
11
# File 'lib/fitting/response.rb', line 6

def initialize(env_response, tomogram)
  @request = Fitting::Request.new(env_response.request, tomogram)
  @status = env_response.status
  @body = env_response.body
  @schemas = @request.schemas_of_possible_responses(status: @status)
end

Instance Method Details

#documented?Boolean

Returns:

  • (Boolean)


21
22
23
# File 'lib/fitting/response.rb', line 21

def documented?
  @schemas && @schemas.present?
end

#expectedObject



41
42
43
44
45
# File 'lib/fitting/response.rb', line 41

def expected
  @schemas.inject([]) do |res, schema|
    res.push("#{schema}")
  end.join("\n\n")
end

#fully_validatesObject



13
14
15
# File 'lib/fitting/response.rb', line 13

def fully_validates
  @fully_validates ||= Fitting::Response::FullyValidates.craft(@schemas, @body, false)
end

#gotObject



37
38
39
# File 'lib/fitting/response.rb', line 37

def got
  @body
end

#real_request_with_statusObject



33
34
35
# File 'lib/fitting/response.rb', line 33

def real_request_with_status
  "#{@request.real_method_with_path} #{@status}"
end

#routeObject



25
26
27
# File 'lib/fitting/response.rb', line 25

def route
  "#{@request.route} #{@status} #{index}"
end

#strict_fully_validatesObject



17
18
19
# File 'lib/fitting/response.rb', line 17

def strict_fully_validates
  @strict_fully_validates ||= Fitting::Response::FullyValidates.craft(@schemas, @body, true)
end

#strict_routeObject



29
30
31
# File 'lib/fitting/response.rb', line 29

def strict_route
  "#{@request.route} #{@status} #{strict_index}"
end