module BitBucket::Result
Public Instance Methods
Returns raw body
# File lib/bitbucket_rest_api/result.rb, line 54 def body loaded? ? @env[:body] : nil end
# File lib/bitbucket_rest_api/result.rb, line 17 def cache_control loaded? ? @env[:response_headers][CACHE_CONTROL] : nil end
# File lib/bitbucket_rest_api/result.rb, line 25 def content_length loaded? ? @env[:response_headers][CONTENT_LENGTH] : nil end
# File lib/bitbucket_rest_api/result.rb, line 21 def content_type loaded? ? @env[:response_headers][CONTENT_TYPE] : nil end
# File lib/bitbucket_rest_api/result.rb, line 33 def date loaded? ? @env[:response_headers][DATE] : nil end
Iterator like each for response pages. If there are no pages to iterate over this method will return nothing.
# File lib/bitbucket_rest_api/result.rb, line 69 def each_page yield self.body while page_iterator.has_next? yield next_page end end
# File lib/bitbucket_rest_api/result.rb, line 29 def etag loaded? ? @env[:response_headers][ETAG] : nil end
Retrives the result of the first page. Returns nil
if there is no first page - either because you are already on the first page or there are no pages at all in the result.
# File lib/bitbucket_rest_api/result.rb, line 79 def first_page first_request = page_iterator.first self.instance_eval { @env = first_request.env } if first_request self.body end
Returns true
if there is another page in the result set, otherwise false
# File lib/bitbucket_rest_api/result.rb, line 123 def has_next_page? page_iterator.has_next? end
Retrives the result of the last page. Returns nil
if there is no last page - either because you are already on the last page, there is only one page or there are no pages at all in the result.
# File lib/bitbucket_rest_api/result.rb, line 105 def last_page last_request = page_iterator.last self.instance_eval { @env = last_request.env } if last_request self.body end
Return page links
# File lib/bitbucket_rest_api/result.rb, line 63 def links @@links = BitBucket::PageLinks.new(@env[:response_headers]) end
# File lib/bitbucket_rest_api/result.rb, line 58 def loaded? !!@env end
# File lib/bitbucket_rest_api/result.rb, line 37 def location loaded? ? @env[:response_headers][LOCATION] : nil end
Retrives the result of the next page. Returns nil
if there is no next page or no pages at all.
# File lib/bitbucket_rest_api/result.rb, line 87 def next_page next_request = page_iterator.next self.instance_eval { @env = next_request.env } if next_request self.body end
Retrives a specific result for a page given page number. The page_number
parameter is not validate, hitting a page that does not exist will return BitBucket
API
error. Consequently, if there is only one page, this method returns nil
# File lib/bitbucket_rest_api/result.rb, line 115 def page(page_number) request = page_iterator.get_page(page_number) self.instance_eval { @env = request.env } if request self.body end
Retrives the result of the previous page. Returns nil
if there is no previous page or no pages at all.
# File lib/bitbucket_rest_api/result.rb, line 95 def prev_page prev_request = page_iterator.prev self.instance_eval { @env = prev_request.env } if prev_request self.body end
TODO Add result counts method to check total items looking at result links
# File lib/bitbucket_rest_api/result.rb, line 9 def ratelimit_limit loaded? ? @env[:response_headers][RATELIMIT_LIMIT] : nil end
# File lib/bitbucket_rest_api/result.rb, line 13 def ratelimit_remaining loaded? ? @env[:response_headers][RATELIMIT_REMAINING] : nil end
Repopulates objects for new values
# File lib/bitbucket_rest_api/result.rb, line 128 def reset nil end
# File lib/bitbucket_rest_api/result.rb, line 41 def server loaded? ? @env[:response_headers][SERVER] : nil end
# File lib/bitbucket_rest_api/result.rb, line 45 def status loaded? ? @env[:status] : nil end
# File lib/bitbucket_rest_api/result.rb, line 49 def success? (200..299).include? status end