lib/twilio-ruby/framework/page.rb in twilio-ruby-5.0.0.rc26 vs lib/twilio-ruby/framework/page.rb in twilio-ruby-5.0.0
- old
+ new
@@ -1,31 +1,32 @@
module Twilio
module REST
+ # Page Base Class
class Page
include Enumerable
META_KEYS = [
- 'end',
- 'first_page_uri',
- 'next_page_uri',
- 'last_page_uri',
- 'page',
- 'page_size',
- 'previous_page_uri',
- 'total',
- 'num_pages',
- 'start',
- 'uri'
- ]
+ 'end',
+ 'first_page_uri',
+ 'next_page_uri',
+ 'last_page_uri',
+ 'page',
+ 'page_size',
+ 'previous_page_uri',
+ 'total',
+ 'num_pages',
+ 'start',
+ 'uri'
+ ].freeze
def initialize(version, response)
- payload = self.process_response(response)
+ payload = process_response(response)
@version = version
@payload = payload
@solution = {}
- @records = self.load_page(payload)
+ @records = load_page(payload)
end
def process_response(response)
if response.status_code != 200
raise Twilio::REST::TwilioError.new('Unable to fetch page', response)
@@ -38,16 +39,14 @@
if payload['meta'] && payload['meta']['key']
return payload[payload['meta']['key']]
else
keys = payload.keys
key = keys - META_KEYS
- if key.size == 1
- return payload[key.first]
- end
+ return payload[key.first] if key.size == 1
end
- raise Twilio::REST::TwilioError.new('Page Records can not be deserialized')
+ raise Twilio::REST::TwilioError, 'Page Records can not be deserialized'
end
def previous_page_url
if @payload['meta'] && @payload['meta']['previous_page_url']
return @version.domain.absolute_url(URI.parse(@payload['meta']['previous_page_url']).request_uri)
@@ -67,37 +66,36 @@
nil
end
def get_instance(payload)
- raise Twilio::REST::TwilioError.new('Page.get_instance() must be implemented in the derived class')
+ raise Twilio::REST::TwilioError, 'Page.get_instance() must be implemented in the derived class'
end
def previous_page
- return nil unless self.previous_page_url
+ return nil unless previous_page_url
- response = @version.domain.request('GET', self.previous_page_url)
+ response = @version.domain.request('GET', previous_page_url)
self.class.new(@version, response, @solution)
end
def next_page
- return nil unless self.next_page_url
+ return nil unless next_page_url
- response = @version.domain.request('GET', self.next_page_url)
+ response = @version.domain.request('GET', next_page_url)
self.class.new(@version, response, @solution)
end
def each
@records.each do |record|
- yield self.get_instance(record)
+ yield get_instance(record)
end
end
def to_s
'#<Page>'
end
end
end
end
-