class Cronofy::Client::PagedResultIterator
Attributes
access_token[R]
params[R]
url[R]
Public Class Methods
new(page_parser, items_key, access_token, url, params)
click to toggle source
# File lib/cronofy/client.rb, line 1961 def initialize(page_parser, items_key, access_token, url, params) @page_parser = page_parser @items_key = items_key @access_token = access_token @url = url @params = params @first_page = get_page(url, params) end
Public Instance Methods
each() { |item| ... }
click to toggle source
# File lib/cronofy/client.rb, line 1970 def each page = @first_page page[@items_key].each do |item| yield item end while page.pages.next_page? page = get_page(page.pages.next_page) page[@items_key].each do |item| yield item end end end
Private Instance Methods
get_page(url, params = {})
click to toggle source
# File lib/cronofy/client.rb, line 1992 def get_page(url, params = {}) response = http_get(url, params) parse_page(response) end
http_get(url, params = {})
click to toggle source
# File lib/cronofy/client.rb, line 1997 def http_get(url, params = {}) response = Faraday.get(url, params, oauth_headers) Errors.raise_if_error(response) response end
oauth_headers()
click to toggle source
# File lib/cronofy/client.rb, line 2003 def oauth_headers { "Authorization" => "Bearer #{access_token.token}", "User-Agent" => "Cronofy Ruby #{::Cronofy::VERSION}", } end
parse_page(response)
click to toggle source
# File lib/cronofy/client.rb, line 2010 def parse_page(response) ResponseParser.new(response).parse_json(@page_parser) end