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.



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

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.



58
59
60
# File 'lib/fanforce/api/response.rb', line 58

def requested_params
  @requested_params
end

#requested_urlObject (readonly)

Returns the value of attribute requested_url.



58
59
60
# File 'lib/fanforce/api/response.rb', line 58

def requested_url
  @requested_url
end

Instance Method Details

#bodyObject



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

def body
  @response.to_s
end

#codeObject



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

def code; @response.code end

#curl_commandObject



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

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

#current_pageObject



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

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

#current_resultsObject



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

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

#dataObject Also known as: results



69
70
71
# File 'lib/fanforce/api/response.rb', line 69

def data
  self
end

#next_pageObject



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

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

#next_page_urlObject



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

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



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

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

#prev_page_urlObject



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

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



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

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

#total_resultsObject



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

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