class GlipSdk::REST::Groups

Attributes

cache[RW]
subscription[RW]

Public Class Methods

new(rc_sdk) click to toggle source
# File lib/glip_sdk/rest/groups.rb, line 7
def initialize(rc_sdk)
  @api = rc_sdk
end

Public Instance Methods

all_groups(params = {}) click to toggle source
# File lib/glip_sdk/rest/groups.rb, line 24
def all_groups(params = {})
  groups = []
  get_next = true
  while get_next
    res = get params
    groups.concat(res.body['records']) if res.body['records'].length > 0

    if res.body.key?('navigation') && res.body['navigation'].key?('prevPageToken')
      params['pageToken'] = res.body['navigation']['prevPageToken']
      @api.config.logger.info "PrevPageToken [#{res.body['navigation']['prevPageToken']}]"
    else
      get_next = false
    end
  end
  groups
end
get(opts = {}) click to toggle source
# File lib/glip_sdk/rest/groups.rb, line 11
def get(opts = {})
  if opts.key? :groupId
    return @api.http.get "glip/groups/#{opts[:groupId]}"
  end
  @api.http.get 'glip/groups', opts
end
observe(observer) click to toggle source
# File lib/glip_sdk/rest/groups.rb, line 18
def observe(observer)
  @subscription = @api.create_subscription
  @subscription.subscribe ['/restapi/v1.0/account/~/extension/~/glip/groups']
  @subscription.add_observer observer
end