class Twilio::REST::Page
Page
Base Class
Constants
- META_KEYS
Public Class Methods
new(version, response)
click to toggle source
# File lib/twilio-ruby/framework/rest/page.rb 23 def initialize(version, response) 24 payload = process_response(response) 25 26 @version = version 27 @payload = payload 28 @solution = {} 29 @records = load_page(payload) 30 end
Public Instance Methods
each() { |get_instance(record)| ... }
click to toggle source
# File lib/twilio-ruby/framework/rest/page.rb 92 def each 93 @records.each do |record| 94 yield get_instance(record) 95 end 96 end
get_instance(payload)
click to toggle source
# File lib/twilio-ruby/framework/rest/page.rb 72 def get_instance(payload) 73 raise Twilio::REST::TwilioError, 'Page.get_instance() must be implemented in the derived class' 74 end
load_page(payload)
click to toggle source
# File lib/twilio-ruby/framework/rest/page.rb 40 def load_page(payload) 41 if payload['meta'] && payload['meta']['key'] 42 return payload[payload['meta']['key']] 43 else 44 keys = payload.keys 45 key = keys - META_KEYS 46 return payload[key.first] if key.size == 1 47 end 48 49 raise Twilio::REST::TwilioError, 'Page Records can not be deserialized' 50 end
next_page()
click to toggle source
# File lib/twilio-ruby/framework/rest/page.rb 84 def next_page 85 return nil unless next_page_url 86 87 response = @version.domain.request('GET', next_page_url) 88 89 self.class.new(@version, response, @solution) 90 end
next_page_url()
click to toggle source
# File lib/twilio-ruby/framework/rest/page.rb 62 def next_page_url 63 if @payload['meta'] && @payload['meta']['next_page_url'] 64 return @version.domain.absolute_url(URI.parse(@payload['meta']['next_page_url']).request_uri) 65 elsif @payload['next_page_uri'] 66 return @version.domain.absolute_url(@payload['next_page_uri']) 67 end 68 69 nil 70 end
previous_page()
click to toggle source
# File lib/twilio-ruby/framework/rest/page.rb 76 def previous_page 77 return nil unless previous_page_url 78 79 response = @version.domain.request('GET', previous_page_url) 80 81 self.class.new(@version, response, @solution) 82 end
previous_page_url()
click to toggle source
# File lib/twilio-ruby/framework/rest/page.rb 52 def previous_page_url 53 if @payload['meta'] && @payload['meta']['previous_page_url'] 54 return @version.domain.absolute_url(URI.parse(@payload['meta']['previous_page_url']).request_uri) 55 elsif @payload['previous_page_uri'] 56 return @version.domain.absolute_url(@payload['previous_page_uri']) 57 end 58 59 nil 60 end
process_response(response)
click to toggle source
# File lib/twilio-ruby/framework/rest/page.rb 32 def process_response(response) 33 if response.status_code != 200 34 raise Twilio::REST::RestError.new('Unable to fetch page', response) 35 end 36 37 response.body 38 end
to_s()
click to toggle source
# File lib/twilio-ruby/framework/rest/page.rb 98 def to_s 99 '#<Page>' 100 end