class Coolsms::Group

Attributes

conditions_hash[R]
id[R]

Public Class Methods

new(id, conditions_hash = {}) click to toggle source
# File lib/coolsms/group.rb, line 5
def initialize(id, conditions_hash = {})
  @id = id
  @arr = []
  @conditions_hash = conditions_hash.with_indifferent_access
end

Public Instance Methods

all() click to toggle source
# File lib/coolsms/group.rb, line 15
def all
  return @all if @all
  recursive_next(1)
  @all = @arr.map(&:data).flatten
end
first() click to toggle source
# File lib/coolsms/group.rb, line 21
def first
  page(1).data.first
end
page(num) click to toggle source
# File lib/coolsms/group.rb, line 11
def page(num)
  @arr[num] ||= Finder.new(conditions_hash.merge(group_id: id))
end

Private Instance Methods

recursive_next(num) click to toggle source
# File lib/coolsms/group.rb, line 27
def recursive_next(num)
  n = page(num).retrieve
  recursive_next(num + 1) if n.has_next?
end