Module: DIDWW::Client
- Defined in:
- lib/didww/client.rb
Constant Summary collapse
- BASE_URLS =
{ sandbox: 'https://sandbox-api.didww.com/v3/'.freeze, production: 'https://api.didww.com/v3/'.freeze }.freeze
- DEFAULT_MODE =
:sandbox- DEFAULT_API_VERSION =
'2026-04-16'- RESOURCE_CLASSES =
{ capacity_pools: 'CapacityPool', exports: 'Export', shared_capacity_groups: 'SharedCapacityGroup', cities: 'City', countries: 'Country', did_group_types: 'DidGroupType', did_groups: 'DidGroup', dids: 'Did', orders: 'Order', pops: 'Pop', regions: 'Region', voice_in_trunk_groups: 'VoiceInTrunkGroup', voice_in_trunks: 'VoiceInTrunk', voice_out_trunks: 'VoiceOutTrunk', available_dids: 'AvailableDid', did_reservations: 'DidReservation', address_requirements: 'AddressRequirement', identities: 'Identity', proofs: 'Proof', addresses: 'Address', permanent_supporting_documents: 'PermanentSupportingDocument', encrypted_file: 'EncryptedFile', address_verifications: 'AddressVerification', address_requirement_validation: 'AddressRequirementValidation', areas: 'Area', proof_types: 'ProofType', supporting_document_templates: 'SupportingDocumentTemplate', public_keys: 'PublicKey', nanpa_prefixes: 'NanpaPrefix', did_history: 'DidHistory', emergency_requirements: 'EmergencyRequirement', emergency_requirement_validation: 'EmergencyRequirementValidation', emergency_calling_services: 'EmergencyCallingService', emergency_verifications: 'EmergencyVerification', }.freeze
Class Method Summary collapse
- .api_base_url ⇒ Object
- .api_key ⇒ Object
- .api_mode ⇒ Object
- .api_mode=(arg) ⇒ Object
- .api_version ⇒ Object
- .balance ⇒ Object
- .configure {|_self| ... } ⇒ Object
- .customize_connection(&block) ⇒ Object
- .with_api_version(api_version) ⇒ Object
Class Method Details
.api_base_url ⇒ Object
52 53 54 |
# File 'lib/didww/client.rb', line 52 def api_base_url ENV['DIDWW_API_URL'].presence || BASE_URLS[api_mode] end |
.api_key ⇒ Object
36 37 38 |
# File 'lib/didww/client.rb', line 36 def api_key @@api_key end |
.api_mode ⇒ Object
32 33 34 |
# File 'lib/didww/client.rb', line 32 def api_mode @@api_mode || DEFAULT_MODE end |
.api_mode=(arg) ⇒ Object
101 102 103 104 105 106 |
# File 'lib/didww/client.rb', line 101 def api_mode=(arg) unless BASE_URLS.keys.include?(arg) raise ArgumentError.new("Mode should be in #{BASE_URLS.keys} (given '#{arg}').") end @@api_mode = arg end |
.api_version ⇒ Object
40 41 42 |
# File 'lib/didww/client.rb', line 40 def api_version @@api_version end |
.balance ⇒ Object
56 57 58 |
# File 'lib/didww/client.rb', line 56 def balance Resource::Balance.all.first end |
.configure {|_self| ... } ⇒ Object
25 26 27 28 29 30 |
# File 'lib/didww/client.rb', line 25 def configure yield self if block_given? connect! require_didww_resources self end |
.customize_connection(&block) ⇒ Object
21 22 23 |
# File 'lib/didww/client.rb', line 21 def customize_connection(&block) self._customize_conn_block = block end |
.with_api_version(api_version) ⇒ Object
44 45 46 47 48 49 50 |
# File 'lib/didww/client.rb', line 44 def with_api_version(api_version) old_api_version = self.api_version self.api_version = api_version yield ensure self.api_version = old_api_version end |