Class: Fanforce::API::Results

Inherits:
Array
  • Object
show all
Defined in:
lib/fanforce/api/response.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(response_hash, response, request, requested_url, requested_params) ⇒ Results

Returns a new instance of Results.



58
59
60
61
62
63
64
65
# File 'lib/fanforce/api/response.rb', line 58

def initialize(response_hash, response, request, requested_url, requested_params)
  @response = response
  @request = request
  @requested_url = requested_url
  @requested_params = requested_params
  @response_hash = response_hash
  self.replace(response_hash[:results])
end

Instance Attribute Details

#requested_paramsObject (readonly)

Returns the value of attribute requested_params.



56
57
58
# File 'lib/fanforce/api/response.rb', line 56

def requested_params
  @requested_params
end

#requested_urlObject (readonly)

Returns the value of attribute requested_url.



56
57
58
# File 'lib/fanforce/api/response.rb', line 56

def requested_url
  @requested_url
end

Instance Method Details

#bodyObject



76
77
78
# File 'lib/fanforce/api/response.rb', line 76

def body
  @response.to_s
end

#codeObject



111
# File 'lib/fanforce/api/response.rb', line 111

def code; @response.code end

#curl_commandObject



72
73
74
# File 'lib/fanforce/api/response.rb', line 72

def curl_command
  @curl_command ||= Fanforce::Utils.curl_command(@request.method, @requested_url, @requested_params)
end

#current_pageObject



88
89
90
# File 'lib/fanforce/api/response.rb', line 88

def current_page;
  @current_page ||= @response_hash[:current_page]
end

#current_resultsObject



80
81
82
# File 'lib/fanforce/api/response.rb', line 80

def current_results
  @current_results ||= @response_hash[:current_results]
end

#dataObject Also known as: results



67
68
69
# File 'lib/fanforce/api/response.rb', line 67

def data
  self
end

#next_pageObject



100
101
102
# File 'lib/fanforce/api/response.rb', line 100

def next_page
  @next_page ||= (@request.method == :get and total_pages > current_page) ? current_page + 1 : nil
end

#next_page_urlObject



108
109
110
# File 'lib/fanforce/api/response.rb', line 108

def next_page_url;
  @next_page_url ||= next_page ? "#{@requested_url}?#{Fanforce::Utils.to_query_string(@requested_params.merge(page: current_page+1))}" : nil
end

#prev_pageObject



96
97
98
# File 'lib/fanforce/api/response.rb', line 96

def prev_page
  @prev_page ||= (@request.method == :get and current_page > 1) ? current_page - 1 : nil
end

#prev_page_urlObject



104
105
106
# File 'lib/fanforce/api/response.rb', line 104

def prev_page_url;
  @prev_page_url ||= prev_page ? "#{@requested_url}?#{Fanforce::Utils.to_query_string(@requested_params.merge(page: current_page-1))}" : nil
end

#total_pagesObject



92
93
94
# File 'lib/fanforce/api/response.rb', line 92

def total_pages;
  @total_pages ||= @response_hash[:total_pages]
end

#total_resultsObject



84
85
86
# File 'lib/fanforce/api/response.rb', line 84

def total_results;
  @total_results ||= @response_hash[:total_results]
end