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
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
search(params)
click to toggle source
# File lib/rakuten_web_service/search_result.rb, line 19 def search(params) self.class.new(self.params.dup.merge!(params), @resource_class) end
Also aliased as: with
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