class RakutenApi::ItemSearch::Response

Attributes

carrier[R]
count[R]
first[R]
hits[R]
last[R]
page[R]
page_count[R]

Public Class Methods

new(faraday_response = nil, params = nil) click to toggle source
Calls superclass method RakutenApi::Base::Response::new
# File lib/rakuten_api/item_search/response.rb, line 16
def initialize(faraday_response = nil, params = nil)
  super(faraday_response)
  parse_body(@body)
  @request_params = params
end

Public Instance Methods

get_next_page() click to toggle source
# File lib/rakuten_api/item_search/response.rb, line 30
def get_next_page
  nil unless next?
  @request_params[:page] = @page + 1
  new_request
end
get_prev_page() click to toggle source
# File lib/rakuten_api/item_search/response.rb, line 36
def get_prev_page
  nil unless prev?
  @request_params[:page] = @page - 1
  new_request
end
new_request() click to toggle source
# File lib/rakuten_api/item_search/response.rb, line 42
def new_request
  Client.new do |params|
    @request_params.each_pair do |k, v|
      params.add_param k, v
    end
  end.request
end
next?() click to toggle source
# File lib/rakuten_api/item_search/response.rb, line 22
def next?
  @page < @page_count
end
parse_body(data) click to toggle source
# File lib/rakuten_api/item_search/response.rb, line 50
def parse_body(data)
  @count = data['count']
  @page = data['page']
  @first = data['first']
  @last = data['last']
  @hits = data['hits']
  @carrier = data['carrier']
  @page_count = data['pageCount']
end
prev?() click to toggle source
# File lib/rakuten_api/item_search/response.rb, line 26
def prev?
  @page > 1
end
simple_mapping() click to toggle source
# File lib/rakuten_api/item_search/response.rb, line 60
def simple_mapping
  return [] unless @body.key? "Items"
  [].tap do |result|
    @body["Items"].each do |f|
      next unless f.include? 'Item'
      result << Model.from_hash(f['Item'])
    end
  end
end