Class: Plivo::Resources::Tollfree

Inherits:
Base::Resource show all
Defined in:
lib/plivo/resources/powerpacks.rb

Constant Summary

Constants included from Utils

Utils::TYPE_WHITELIST

Instance Attribute Summary

Attributes inherited from Base::Resource

#id

Instance Method Summary collapse

Methods included from Utils

expected_type?, expected_value?, raise_invalid_request, valid_account?, valid_mainaccount?, valid_param?, valid_signature?, valid_subaccount?

Constructor Details

#initialize(client, options = nil) ⇒ Tollfree

Returns a new instance of Tollfree.



517
518
519
520
521
# File 'lib/plivo/resources/powerpacks.rb', line 517

def initialize(client, options = nil)
  @_name = 'Tollfree'
  @_identifier_string = 'number_pool_id'
  super
end

Instance Method Details

#add(tollfree) ⇒ Object



523
524
525
526
# File 'lib/plivo/resources/powerpacks.rb', line 523

def add(tollfree)
  perform_custom_action_apiresponse('NumberPool/' + @number_pool_id + '/Tollfree/' + tollfree.to_s ,
               'POST')
end

#find(tollfree) ⇒ Object



551
552
553
554
# File 'lib/plivo/resources/powerpacks.rb', line 551

def find(tollfree)
  perform_custom_action_apiresponse('NumberPool/' + @number_pool_id + '/Tollfree/' + tollfree.to_s ,
               'GET')
end

#list(options = nil) ⇒ Object



528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
# File 'lib/plivo/resources/powerpacks.rb', line 528

def list(options = nil)
  return perform_custom_action_apiresponse('NumberPool/' + @number_pool_id + '/Tollfree',
               'GET') 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_custom_action_apiresponse('NumberPool/' + @number_pool_id + '/Tollfree',
               'GET')
end

#remove(tollfree, unrent = false) ⇒ Object



556
557
558
559
# File 'lib/plivo/resources/powerpacks.rb', line 556

def remove(tollfree, unrent= false)
  perform_custom_action_apiresponse('NumberPool/' + @number_pool_id + '/Tollfree/' + tollfree.to_s ,
               'DELETE', { unrent: unrent }, false)
end