class Omise::List
Public Class Methods
new(attributes = {}, options = {})
click to toggle source
Calls superclass method
# File lib/omise/list.rb, line 8 def initialize(attributes = {}, options = {}) super(attributes, options) setup_data end
Public Instance Methods
each(*args, &block)
click to toggle source
# File lib/omise/list.rb, line 51 def each(*args, &block) to_a.each(*args, &block) end
first_page?()
click to toggle source
# File lib/omise/list.rb, line 23 def first_page? offset == 0 end
jump_to_page(page)
click to toggle source
# File lib/omise/list.rb, line 47 def jump_to_page(page) self.class.new(@attributes, @options).send(:jump_to_page!, page) end
last()
click to toggle source
# File lib/omise/list.rb, line 59 def last to_a.last end
last_page?()
click to toggle source
# File lib/omise/list.rb, line 27 def last_page? offset + limit >= total end
next_page()
click to toggle source
# File lib/omise/list.rb, line 39 def next_page self.class.new(@attributes, @options).send(:next_page!) end
page()
click to toggle source
# File lib/omise/list.rb, line 31 def page 1 + (offset / limit) end
parent()
click to toggle source
# File lib/omise/list.rb, line 19 def parent @options[:parent] end
previous_page()
click to toggle source
# File lib/omise/list.rb, line 43 def previous_page self.class.new(@attributes, @options).send(:previous_page!) end
reload(attributes = {})
click to toggle source
# File lib/omise/list.rb, line 13 def reload(attributes = {}) assign_attributes resource(attributes).get(attributes) do setup_data end end
to_a()
click to toggle source
# File lib/omise/list.rb, line 55 def to_a @data end
total_pages()
click to toggle source
# File lib/omise/list.rb, line 35 def total_pages (total.to_f / limit).ceil end
Private Instance Methods
jump_to_page!(page)
click to toggle source
# File lib/omise/list.rb, line 65 def jump_to_page!(page) new_offset = ((page - 1) * limit) return nil if new_offset >= total reload(offset: new_offset, limit: limit) self end
next_page!()
click to toggle source
# File lib/omise/list.rb, line 72 def next_page! return nil if (offset + limit) >= total reload(offset: offset + limit, limit: limit) self end
previous_page!()
click to toggle source
# File lib/omise/list.rb, line 78 def previous_page! return nil if (offset - limit) < 0 reload(offset: offset - limit, limit: limit) self end
setup_data()
click to toggle source
# File lib/omise/list.rb, line 84 def setup_data @data = @attributes["data"].map { |o| Omise::Util.typecast(o) } end