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.



65
66
67
68
69
70
71
72
# File 'lib/fanforce/api/response.rb', line 65

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.



63
64
65
# File 'lib/fanforce/api/response.rb', line 63

def requested_params
  @requested_params
end

#requested_urlObject (readonly)

Returns the value of attribute requested_url.



63
64
65
# File 'lib/fanforce/api/response.rb', line 63

def requested_url
  @requested_url
end

Instance Method Details

#bodyObject



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

def body;
  @response.to_s
end

#codeObject



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

def code; @response.code end

#curl_commandObject



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

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

#current_pageObject



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

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

#current_resultsObject



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

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

#dataObject Also known as: results



74
75
76
# File 'lib/fanforce/api/response.rb', line 74

def data
  self
end

#next_pageObject



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

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

#next_page_urlObject



115
116
117
# File 'lib/fanforce/api/response.rb', line 115

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



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

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

#prev_page_urlObject



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

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



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

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

#total_resultsObject



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

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