Class: Qiita::Response

Inherits:
Object
  • Object
show all
Defined in:
lib/qiita/response.rb

Instance Method Summary collapse

Constructor Details

#initialize(faraday_response) ⇒ Response

Returns a new instance of Response.



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

def initialize(faraday_response)
  @raw_body = faraday_response.body
  @raw_headers = faraday_response.headers
  @raw_status = faraday_response.status
end

Instance Method Details

#bodyObject

### Qiita::Response#body Returns response body returned from API as a ‘Hash` or an `Array` of `Hash`.

“‘rb response.body #=> { … } “`



19
20
21
# File 'lib/qiita/response.rb', line 19

def body
  @raw_body
end

#first_page_urlObject

### Qiita::Response#first_page_url Returns first page URL or nil.



26
27
28
# File 'lib/qiita/response.rb', line 26

def first_page_url
  links_table["first"]
end

#headersObject

### Qiita::Response#headers Returns response headers returned from API as a ‘Hash`.

“‘rb response.headers #=> { “Content-Type” => “application/json” } “`



58
59
60
61
62
# File 'lib/qiita/response.rb', line 58

def headers
  @headers ||= @raw_headers.inject({}) do |result, (key, value)|
    result.merge(key.split("-").map(&:capitalize).join("-") => value)
  end
end

#last_page_urlObject

### Qiita::Response#last_page_url Returns last page URL or nil.



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

def last_page_url
  links_table["last"]
end

#next_page_urlObject

### Qiita::Response#next_page_url Returns next page URL or nil.



40
41
42
# File 'lib/qiita/response.rb', line 40

def next_page_url
  links_table["next"]
end

#previous_page_urlObject

### Qiita::Response#previous_page_url Returns previous page URL or nil.



47
48
49
# File 'lib/qiita/response.rb', line 47

def previous_page_url
  links_table["prev"]
end

#statusObject

### Qiita::Response#status Returns response status code returned from API as a ‘Fixnum`.

“‘rb response.status #=> 200 “`



71
72
73
# File 'lib/qiita/response.rb', line 71

def status
  @raw_status
end

#status_messageObject



79
80
81
# File 'lib/qiita/response.rb', line 79

def status_message
  Rack::Utils::HTTP_STATUS_CODES[status]
end

#to_sObject



75
76
77
# File 'lib/qiita/response.rb', line 75

def to_s
  @to_s ||= ResponseRenderer.new(self, show_body: true, show_header: true).to_s
end