class RakutenWebService::SearchResult

Public Class Methods

new(params, resource_class) click to toggle source
# File lib/rakuten_web_service/search_result.rb, line 13
def initialize(params, resource_class)
  @params = params.dup
  @resource_class = resource_class
  @client = RakutenWebService::Client.new(resource_class)
end

Public Instance Methods

all(&block) click to toggle source
# File lib/rakuten_web_service/search_result.rb, line 30
def all(&block)
  proxy = AllProxy.new(self)
  proxy.each(&block) if block
  proxy
end
each() { |resource| ... } click to toggle source
# File lib/rakuten_web_service/search_result.rb, line 24
def each
  response.each do |resource|
    yield resource
  end
end
fetch_result()
Alias for: query
genre_information() click to toggle source
# File lib/rakuten_web_service/search_result.rb, line 91
def genre_information
  response.genre_information
end
next_page() click to toggle source
# File lib/rakuten_web_service/search_result.rb, line 75
def next_page
  search(page: response.page + 1)
end
next_page?() click to toggle source
# File lib/rakuten_web_service/search_result.rb, line 71
def next_page?
  response.next_page?
end
order(options) click to toggle source
# File lib/rakuten_web_service/search_result.rb, line 44
def order(options)
  new_params = params.dup
  if options.to_s == 'standard'
    new_params[:sort] = 'standard'
    return self.class.new(new_params, @resource_class)
  end
  unless options.is_a? Hash
    raise ArgumentError, "Invalid Sort Option: #{options.inspect}"
  end

  key, sort_order = *options.to_a.last
  case sort_order.to_s.downcase
  when 'desc' then new_params[:sort] = "-#{key}".to_camel
  when 'asc' then new_params[:sort] = "+#{key}".to_camel
  end
  self.class.new(new_params, @resource_class)
end
page(num) click to toggle source
# File lib/rakuten_web_service/search_result.rb, line 87
def page(num)
  search(page: num)
end
params() click to toggle source
# File lib/rakuten_web_service/search_result.rb, line 36
def params
  @params ||= {}
end
params_to_get_next_page() click to toggle source
# File lib/rakuten_web_service/search_result.rb, line 40
def params_to_get_next_page
  @params.merge('page' => @response.body['page'] + 1)
end
previous_page() click to toggle source
# File lib/rakuten_web_service/search_result.rb, line 83
def previous_page
  search(page: response.page - 1)
end
previous_page?() click to toggle source
# File lib/rakuten_web_service/search_result.rb, line 79
def previous_page?
  response.previous_page?
end
query() click to toggle source
# File lib/rakuten_web_service/search_result.rb, line 62
def query
  ensure_retries { @client.get(params) }
end
Also aliased as: fetch_result
response() click to toggle source
# File lib/rakuten_web_service/search_result.rb, line 67
def response
  @response ||= query
end
with(params)
Alias for: search

Private Instance Methods

ensure_retries(max_retries = RakutenWebService.configuration.max_retries) { || ... } click to toggle source
# File lib/rakuten_web_service/search_result.rb, line 97
def ensure_retries(max_retries = RakutenWebService.configuration.max_retries)
  yield
rescue RWS::TooManyRequests => e
  raise e if max_retries <= 0
  max_retries -= 1
  sleep 1
  retry
end