Class: Plivo::Resources::Shortcode

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

GetSortedQueryParamString?, compute_signatureV3?, expected_type?, expected_value?, generate_url?, getMapFromQueryString?, is_one_among_string_url?, multi_valid_param?, raise_invalid_request, valid_account?, valid_date_format?, valid_mainaccount?, valid_multiple_destination_integers?, valid_multiple_destination_nos?, valid_param?, valid_range?, valid_signature?, valid_signatureV3?, valid_subaccount?, valid_url?

Constructor Details

#initialize(client, options = nil) ⇒ Shortcode

Returns a new instance of Shortcode.



542
543
544
545
546
# File 'lib/plivo/resources/powerpacks.rb', line 542

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

Instance Method Details

#find(shortcode) ⇒ Object



570
571
572
573
# File 'lib/plivo/resources/powerpacks.rb', line 570

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

#list(options = nil) ⇒ Object



547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
# File 'lib/plivo/resources/powerpacks.rb', line 547

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

#remove(shortcode) ⇒ Object



575
576
577
578
# File 'lib/plivo/resources/powerpacks.rb', line 575

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