class Plivo::Resources::PowerpackInterface

Public Class Methods

new(client, resource_list_json = nil) click to toggle source
Calls superclass method Plivo::Base::ResourceInterface::new
# File lib/plivo/resources/powerpacks.rb, line 628
def initialize(client, resource_list_json = nil)
  @_name = 'Powerpack'
  @_resource_type = Powerpack
  @_identifier_string = 'powerpack'
  super
end

Public Instance Methods

create(name, options = nil) click to toggle source
# File lib/plivo/resources/powerpacks.rb, line 635
def create(name, options = nil)
  valid_param?(:name, name, [String, Symbol], true)
  
  if name.nil? 
    raise InvalidRequestError, 'powerpack name cannot be empty'
  end
  
  
  params = {
    name: name
  }
  
  return perform_create(params) if options.nil?
  valid_param?(:options, options, Hash, true)
  
  if options.key?(:application_type) &&
     valid_param?(:application_type, options[:application_type], String, true)
    params[:application_type] = options[:application_type]
  end
  
  if options.key?(:application_id) &&
    valid_param?(:application_id, options[:application_id], String, true)
   params[:application_id] = options[:application_id]
 end
  
  if options.key?(:sticky_sender) &&
     valid_param?(:sticky_sender, options[:sticky_sender], [TrueClass, FalseClass], true)
    params[:sticky_sender] = options[:sticky_sender]
  end

  if options.key?(:local_connect) &&
    valid_param?(:local_connect, options[:local_connect], [TrueClass, FalseClass], true)
   params[:local_connect] = options[:local_connect]
 end

  if options.key?(:number_priority) &&
     valid_param?(:number_priority, options[:number_priority], Array, true)
    params[:number_priority] = options[:number_priority]
  end

  perform_create(params)
end
each() { |message| ... } click to toggle source
# File lib/plivo/resources/powerpacks.rb, line 704
def each
  offset = 0
  loop do
    powerpack_list = list(offset: offset)
    powerpack_list[:objects].each { |message| yield message }
    offset += 20
    return unless powerpack_list.length == 20
  end
end
get(uuid) click to toggle source
# File lib/plivo/resources/powerpacks.rb, line 678
def get(uuid)
  valid_param?(:uuid, uuid, [String, Symbol], true)
  perform_get(uuid)
end
list(options = nil) click to toggle source
# File lib/plivo/resources/powerpacks.rb, line 683
def list(options = nil)
  return perform_list if options.nil?
  params = {}
  %i[offset limit].each do |param|
    if options.key?(param) && valid_param?(param, options[param],
                                           [Integer, Integer], true)
      params[param] = options[param]
    end
  end
  
  if options.key?(:limit) && (options[:limit] > 20 || options[:limit] <= 0)
    raise_invalid_request('The maximum number of results that can be '\
    "fetched is 20. limit can't be more than 20 or less than 1")
  end
  
  if options.key?(:offset) && options[:offset] < 0
    raise_invalid_request("Offset can't be negative")
  end
  perform_list(params)
end