didww-v3 4.0.0 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.codespellrc +4 -0
- data/.github/workflows/codespell.yml +26 -0
- data/.github/workflows/tests.yml +6 -8
- data/.rubocop.yml +1 -0
- data/CHANGELOG.md +6 -1
- data/Gemfile +3 -4
- data/README.md +4 -0
- data/codespell_ignore_words.txt +1 -0
- data/didww-v3.gemspec +3 -1
- data/docs/resource_relationships.md +138 -0
- data/lib/didww/client.rb +2 -2
- data/lib/didww/complex_objects/configurations/sip_configuration.rb +1 -1
- data/lib/didww/complex_objects/configurations.rb +0 -2
- data/lib/didww/encrypt.rb +1 -0
- data/lib/didww/resource/capacity_pool.rb +3 -3
- data/lib/didww/resource/country.rb +2 -0
- data/lib/didww/resource/did.rb +2 -0
- data/lib/didww/resource/did_group.rb +17 -9
- data/lib/didww/resource/qty_based_pricing.rb +1 -1
- data/lib/didww/resource/region.rb +2 -0
- data/lib/didww/resource/shared_capacity_group.rb +2 -2
- data/lib/didww/resource/voice_in_trunk.rb +0 -8
- data/lib/didww/resource/voice_out_trunk.rb +1 -0
- data/lib/didww/version.rb +1 -1
- metadata +10 -12
- data/lib/didww/complex_objects/configurations/h323_configuration.rb +0 -36
- data/lib/didww/complex_objects/configurations/iax2_configuration.rb +0 -46
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 22a712d25c5bdfa402c73df24b8529f0e001e97256cf7d84cdfbb8d492af4dcd
|
|
4
|
+
data.tar.gz: f3fdb4186c6821dd1d9c93744515e0a3eb6d0d1b3da3c1da4d0449dd8d726512
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: de07093d853e4576ea5e18552786f3bb88d3013456a75f2efdaae56a3dbbb2560384d11bd22d1cd42f3cd739c0baf531e190dc70e700fba23bd46e3309861d16
|
|
7
|
+
data.tar.gz: 2a434cb0c3a17840b8b7490b45078f66bb835f5656241fb98a6f629f6c7ee7305cfe6015366c7b9fbfb47233c02dbfe3292e0408deaf8f80e116b089524f5c0c
|
data/.codespellrc
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
name: Codespell Spell Checking
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- master
|
|
7
|
+
|
|
8
|
+
pull_request:
|
|
9
|
+
branches:
|
|
10
|
+
- master
|
|
11
|
+
|
|
12
|
+
jobs:
|
|
13
|
+
codespell:
|
|
14
|
+
runs-on: ubuntu-latest
|
|
15
|
+
|
|
16
|
+
steps:
|
|
17
|
+
- name: Checkout code
|
|
18
|
+
uses: actions/checkout@v4
|
|
19
|
+
|
|
20
|
+
- name: Install codespell
|
|
21
|
+
run: |
|
|
22
|
+
sudo apt-get update
|
|
23
|
+
sudo apt-get install -y codespell
|
|
24
|
+
|
|
25
|
+
- name: Run codespell
|
|
26
|
+
run: codespell
|
data/.github/workflows/tests.yml
CHANGED
|
@@ -10,18 +10,16 @@ jobs:
|
|
|
10
10
|
runs-on: ubuntu-latest
|
|
11
11
|
strategy:
|
|
12
12
|
matrix:
|
|
13
|
-
ruby: [ '
|
|
14
|
-
rails: [ '~>
|
|
13
|
+
ruby: [ '3.3', '3.4' ]
|
|
14
|
+
rails: [ '~> 7.2', '~> 8.0', '~> 8.1' ]
|
|
15
15
|
name: Tests with Ruby ${{ matrix.ruby }} Activesupport ${{ matrix.rails }}
|
|
16
16
|
env:
|
|
17
17
|
RAILS_VERSION: ${{ matrix.rails }}
|
|
18
18
|
steps:
|
|
19
|
-
- uses: actions/checkout@
|
|
20
|
-
- uses:
|
|
19
|
+
- uses: actions/checkout@v4
|
|
20
|
+
- uses: ruby/setup-ruby@v1
|
|
21
21
|
with:
|
|
22
22
|
ruby-version: ${{ matrix.ruby }}
|
|
23
|
+
bundler-cache: true
|
|
23
24
|
- name: Run tests
|
|
24
|
-
run:
|
|
25
|
-
gem install bundler -v 2.2.7
|
|
26
|
-
bundle install
|
|
27
|
-
bundle exec rake
|
|
25
|
+
run: bundle exec rake
|
data/.rubocop.yml
CHANGED
data/CHANGELOG.md
CHANGED
|
@@ -4,7 +4,12 @@ All notable changes to this project will be documented in this file.
|
|
|
4
4
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
5
5
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
6
6
|
|
|
7
|
-
## [
|
|
7
|
+
## [4.1.0]
|
|
8
|
+
### Breaking Changes
|
|
9
|
+
- removed DIDWW::Resource::DidGroup::FEATURE_VOICE in favor DIDWW::Resource::DidGroup::FEATURE_VOICE_IN and DIDWW::Resource::DidGroup::FEATURE_VOICE_OUT [#42](https://github.com/didww/didww-v3-ruby/pull/42)
|
|
10
|
+
- removed DIDWW::Resource::DidGroup::FEATURE_SMS in favor of DIDWW::Resource::DidGroup::FEATURE_SMS_IN and DIDWW::Resource::DidGroup::FEATURE_SMS_OUT [#42](https://github.com/didww/didww-v3-ruby/pull/42)
|
|
11
|
+
|
|
12
|
+
## [4.0.0]
|
|
8
13
|
### Breaking Changes
|
|
9
14
|
- /v3/did_groups removed `local_prefix` attribute
|
|
10
15
|
### Added
|
data/Gemfile
CHANGED
|
@@ -10,17 +10,16 @@ if ENV['RAILS_VERSION']
|
|
|
10
10
|
gem 'activesupport', ENV['RAILS_VERSION'], require: false
|
|
11
11
|
end
|
|
12
12
|
|
|
13
|
-
gem 'rake', '~>
|
|
13
|
+
gem 'rake', '~> 13.0'
|
|
14
14
|
gem 'rspec', '~> 3.0'
|
|
15
15
|
gem 'pry'
|
|
16
|
-
gem '
|
|
16
|
+
gem 'debug'
|
|
17
17
|
gem 'awesome_print'
|
|
18
18
|
gem 'http_logger'
|
|
19
|
-
gem 'rubocop', '~> 1.
|
|
19
|
+
gem 'rubocop', '~> 1.50'
|
|
20
20
|
gem 'rubocop-performance'
|
|
21
21
|
gem 'rubocop-rake'
|
|
22
22
|
gem 'rubocop-rspec'
|
|
23
23
|
gem 'simplecov'
|
|
24
|
-
gem 'smart_rspec'
|
|
25
24
|
gem 'webmock'
|
|
26
25
|
gem 'bundler-audit'
|
data/README.md
CHANGED
|
@@ -53,6 +53,10 @@ For details on obtaining your API key please visit https://doc.didww.com/api#int
|
|
|
53
53
|
|
|
54
54
|
See integration example at https://github.com/didww/didww-v3-rails-sample
|
|
55
55
|
|
|
56
|
+
## Resource Relationships
|
|
57
|
+
|
|
58
|
+
See [docs/resource_relationships.md](docs/resource_relationships.md) for a Mermaid ER diagram showing all `has_one`, `has_many`, and `belongs_to` relationships between resources.
|
|
59
|
+
|
|
56
60
|
## Development
|
|
57
61
|
|
|
58
62
|
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
data/didww-v3.gemspec
CHANGED
|
@@ -22,9 +22,11 @@ Gem::Specification.new do |spec|
|
|
|
22
22
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
23
23
|
spec.require_paths = ['lib']
|
|
24
24
|
|
|
25
|
+
spec.required_ruby_version = '>= 3.3'
|
|
26
|
+
|
|
25
27
|
spec.add_dependency 'activesupport'
|
|
26
28
|
spec.add_dependency 'faraday'
|
|
27
|
-
spec.add_dependency 'json_api_client', '1.
|
|
29
|
+
spec.add_dependency 'json_api_client', '1.23.0'
|
|
28
30
|
spec.add_dependency 'http'
|
|
29
31
|
spec.add_dependency 'down'
|
|
30
32
|
spec.add_dependency 'openssl-oaep'
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
# Resource Relationships
|
|
2
|
+
|
|
3
|
+
This diagram shows all `has_one`, `has_many`, and `belongs_to` relationships between DIDWW API v3 resources.
|
|
4
|
+
|
|
5
|
+
**Legend:**
|
|
6
|
+
- `||--o|` — has_one (one-to-zero-or-one)
|
|
7
|
+
- `||--o{` — has_many (one-to-many)
|
|
8
|
+
- `}o--||` — belongs_to (many-to-one)
|
|
9
|
+
|
|
10
|
+
```mermaid
|
|
11
|
+
erDiagram
|
|
12
|
+
Address ||--o| Identity : "has_one identity"
|
|
13
|
+
Address ||--o| Country : "has_one country"
|
|
14
|
+
Address ||--o{ Proof : "has_many proofs"
|
|
15
|
+
Address ||--o{ City : "has_many city"
|
|
16
|
+
Address ||--o{ Area : "has_many area"
|
|
17
|
+
|
|
18
|
+
AddressVerification ||--o| Address : "has_one address"
|
|
19
|
+
AddressVerification ||--o{ Did : "has_many dids"
|
|
20
|
+
AddressVerification ||--o{ EncryptedFile : "has_many onetime_files"
|
|
21
|
+
|
|
22
|
+
Area ||--o| Country : "has_one country"
|
|
23
|
+
|
|
24
|
+
AvailableDid ||--o| DidGroup : "has_one did_group"
|
|
25
|
+
AvailableDid ||--o| NanpaPrefix : "has_one nanpa_prefix"
|
|
26
|
+
|
|
27
|
+
CapacityPool ||--o{ Country : "has_many countries"
|
|
28
|
+
CapacityPool ||--o{ SharedCapacityGroup : "has_many shared_capacity_groups"
|
|
29
|
+
CapacityPool ||--o{ QtyBasedPricing : "has_many qty_based_pricings"
|
|
30
|
+
|
|
31
|
+
City ||--o| Country : "has_one country"
|
|
32
|
+
City ||--o| Region : "has_one region"
|
|
33
|
+
City ||--o| Area : "has_one area"
|
|
34
|
+
|
|
35
|
+
Country ||--o{ Region : "has_many regions"
|
|
36
|
+
|
|
37
|
+
Did ||--o| DidGroup : "has_one did_group"
|
|
38
|
+
Did ||--o| Order : "has_one order"
|
|
39
|
+
Did ||--o| VoiceInTrunk : "has_one voice_in_trunk"
|
|
40
|
+
Did ||--o| VoiceInTrunkGroup : "has_one voice_in_trunk_group"
|
|
41
|
+
Did ||--o| CapacityPool : "has_one capacity_pool"
|
|
42
|
+
Did ||--o| SharedCapacityGroup : "has_one shared_capacity_group"
|
|
43
|
+
Did ||--o| AddressVerification : "has_one address_verification"
|
|
44
|
+
|
|
45
|
+
DidGroup ||--o| Country : "has_one country"
|
|
46
|
+
DidGroup ||--o| City : "has_one city"
|
|
47
|
+
DidGroup ||--o| DidGroupType : "has_one did_group_type"
|
|
48
|
+
DidGroup ||--o| Region : "has_one region"
|
|
49
|
+
DidGroup ||--o{ StockKeepingUnit : "has_many stock_keeping_units"
|
|
50
|
+
|
|
51
|
+
DidReservation ||--o| AvailableDid : "has_one available_did"
|
|
52
|
+
|
|
53
|
+
Identity ||--o| Country : "has_one country"
|
|
54
|
+
Identity ||--o{ Proof : "has_many proofs"
|
|
55
|
+
Identity ||--o{ Address : "has_many addresses"
|
|
56
|
+
Identity ||--o{ PermanentSupportingDocument : "has_many permanent_documents"
|
|
57
|
+
|
|
58
|
+
NanpaPrefix ||--o| Country : "has_one country"
|
|
59
|
+
NanpaPrefix ||--o| Region : "has_one region"
|
|
60
|
+
|
|
61
|
+
PermanentSupportingDocument ||--o| SupportingDocumentTemplate : "has_one template"
|
|
62
|
+
PermanentSupportingDocument ||--o| Identity : "has_one identity"
|
|
63
|
+
PermanentSupportingDocument ||--o{ EncryptedFile : "has_many files"
|
|
64
|
+
|
|
65
|
+
Proof ||--o| ProofType : "has_one proof_type"
|
|
66
|
+
Proof ||--o{ EncryptedFile : "has_many files"
|
|
67
|
+
|
|
68
|
+
QtyBasedPricing }o--|| CapacityPool : "belongs_to capacity_pool"
|
|
69
|
+
|
|
70
|
+
Region ||--o| Country : "has_one country"
|
|
71
|
+
|
|
72
|
+
Requirement ||--o| Country : "has_one country"
|
|
73
|
+
Requirement ||--o| DidGroupType : "has_one did_group_type"
|
|
74
|
+
Requirement ||--o| SupportingDocumentTemplate : "has_one personal_permanent_document"
|
|
75
|
+
Requirement ||--o| SupportingDocumentTemplate : "has_one business_permanent_document"
|
|
76
|
+
Requirement ||--o| SupportingDocumentTemplate : "has_one personal_onetime_document"
|
|
77
|
+
Requirement ||--o| SupportingDocumentTemplate : "has_one business_onetime_document"
|
|
78
|
+
Requirement ||--o{ ProofType : "has_many personal_proof_types"
|
|
79
|
+
Requirement ||--o{ ProofType : "has_many business_proof_types"
|
|
80
|
+
Requirement ||--o{ ProofType : "has_many address_proof_types"
|
|
81
|
+
|
|
82
|
+
RequirementValidation ||--o| Requirement : "has_one requirement"
|
|
83
|
+
RequirementValidation ||--o| Address : "has_one address"
|
|
84
|
+
RequirementValidation ||--o| Identity : "has_one identity"
|
|
85
|
+
|
|
86
|
+
SharedCapacityGroup ||--o| CapacityPool : "has_one capacity_pool"
|
|
87
|
+
SharedCapacityGroup ||--o{ Did : "has_many dids"
|
|
88
|
+
|
|
89
|
+
StockKeepingUnit }o--|| DidGroup : "belongs_to did_group"
|
|
90
|
+
|
|
91
|
+
VoiceInTrunk ||--o| Pop : "has_one pop"
|
|
92
|
+
VoiceInTrunk ||--o| VoiceInTrunkGroup : "has_one voice_in_trunk_group"
|
|
93
|
+
|
|
94
|
+
VoiceInTrunkGroup ||--o{ VoiceInTrunk : "has_many voice_in_trunks"
|
|
95
|
+
|
|
96
|
+
VoiceOutTrunk ||--o| Did : "has_one default_did"
|
|
97
|
+
VoiceOutTrunk ||--o{ Did : "has_many dids"
|
|
98
|
+
|
|
99
|
+
VoiceOutTrunkRegenerateCredential ||--o| VoiceOutTrunk : "has_one voice_out_trunk"
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
## Resource Summary
|
|
103
|
+
|
|
104
|
+
| Resource | has_one | has_many | belongs_to |
|
|
105
|
+
|----------|---------|----------|------------|
|
|
106
|
+
| Address | identity, country | proofs, city, area | — |
|
|
107
|
+
| AddressVerification | address | dids, onetime_files | — |
|
|
108
|
+
| Area | country | — | — |
|
|
109
|
+
| AvailableDid | did_group, nanpa_prefix | — | — |
|
|
110
|
+
| Balance | — | — | — |
|
|
111
|
+
| CapacityPool | — | countries, shared_capacity_groups, qty_based_pricings | — |
|
|
112
|
+
| City | country, region, area | — | — |
|
|
113
|
+
| Country | — | regions | — |
|
|
114
|
+
| Did | did_group, order, voice_in_trunk, voice_in_trunk_group, capacity_pool, shared_capacity_group, address_verification | — | — |
|
|
115
|
+
| DidGroup | country, city, did_group_type, region | stock_keeping_units | — |
|
|
116
|
+
| DidGroupType | — | — | — |
|
|
117
|
+
| DidReservation | available_did | — | — |
|
|
118
|
+
| EncryptedFile | — | — | — |
|
|
119
|
+
| Export | — | — | — |
|
|
120
|
+
| Identity | country | proofs, addresses, permanent_documents | — |
|
|
121
|
+
| NanpaPrefix | country, region | — | — |
|
|
122
|
+
| Order | — | — | — |
|
|
123
|
+
| PermanentSupportingDocument | template, identity | files | — |
|
|
124
|
+
| Pop | — | — | — |
|
|
125
|
+
| Proof | proof_type | files | — |
|
|
126
|
+
| ProofType | — | — | — |
|
|
127
|
+
| PublicKey | — | — | — |
|
|
128
|
+
| QtyBasedPricing | — | — | capacity_pool |
|
|
129
|
+
| Region | country | — | — |
|
|
130
|
+
| Requirement | country, did_group_type, personal_permanent_document, business_permanent_document, personal_onetime_document, business_onetime_document | personal_proof_types, business_proof_types, address_proof_types | — |
|
|
131
|
+
| RequirementValidation | requirement, address, identity | — | — |
|
|
132
|
+
| SharedCapacityGroup | capacity_pool | dids | — |
|
|
133
|
+
| StockKeepingUnit | — | — | did_group |
|
|
134
|
+
| SupportingDocumentTemplate | — | — | — |
|
|
135
|
+
| VoiceInTrunk | pop, voice_in_trunk_group | — | — |
|
|
136
|
+
| VoiceInTrunkGroup | — | voice_in_trunks | — |
|
|
137
|
+
| VoiceOutTrunk | default_did | dids | — |
|
|
138
|
+
| VoiceOutTrunkRegenerateCredential | voice_out_trunk | — | — |
|
data/lib/didww/client.rb
CHANGED
|
@@ -8,8 +8,8 @@ require 'didww/resource/base'
|
|
|
8
8
|
module DIDWW
|
|
9
9
|
module Client
|
|
10
10
|
BASE_URLS = {
|
|
11
|
-
sandbox:
|
|
12
|
-
production: 'https://
|
|
11
|
+
sandbox: 'https://sandbox-api.didww.com/v3/'.freeze,
|
|
12
|
+
production: 'https://api.didww.com/v3/'.freeze
|
|
13
13
|
}.freeze
|
|
14
14
|
DEFAULT_MODE = :sandbox
|
|
15
15
|
|
|
@@ -56,7 +56,7 @@ module DIDWW
|
|
|
56
56
|
property :rtp_ping, type: :boolean
|
|
57
57
|
# Type: Boolean
|
|
58
58
|
# Nullable: No
|
|
59
|
-
# Description: Use RTP PING when connecting a call. After establishing the call, DIDWW will send empty RTP packet "RTP PING". It is
|
|
59
|
+
# Description: Use RTP PING when connecting a call. After establishing the call, DIDWW will send empty RTP packet "RTP PING". It is necessary if both parties operate in Symmetric RTP / Comedia mode and expect the other party to start sending RTP first.
|
|
60
60
|
|
|
61
61
|
property :rtp_timeout, type: :integer
|
|
62
62
|
# Type: Integer
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
require 'didww/complex_objects/configurations/base'
|
|
3
3
|
require 'didww/complex_objects/configurations/sip_configuration'
|
|
4
|
-
require 'didww/complex_objects/configurations/iax2_configuration'
|
|
5
4
|
require 'didww/complex_objects/configurations/pstn_configuration'
|
|
6
|
-
require 'didww/complex_objects/configurations/h323_configuration'
|
|
7
5
|
|
|
8
6
|
module DIDWW
|
|
9
7
|
module ComplexObject
|
data/lib/didww/encrypt.rb
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
module DIDWW
|
|
3
3
|
module Resource
|
|
4
4
|
class CapacityPool < Base
|
|
5
|
-
has_many :countries,
|
|
6
|
-
has_many :shared_capacity_groups,
|
|
7
|
-
has_many :qty_based_pricings,
|
|
5
|
+
has_many :countries, class_name: 'Country'
|
|
6
|
+
has_many :shared_capacity_groups, class_name: 'SharedCapacityGroup'
|
|
7
|
+
has_many :qty_based_pricings, class_name: 'QtyBasedPricing'
|
|
8
8
|
|
|
9
9
|
property :name, type: :string
|
|
10
10
|
# Type: String
|
data/lib/didww/resource/did.rb
CHANGED
|
@@ -3,17 +3,25 @@ module DIDWW
|
|
|
3
3
|
module Resource
|
|
4
4
|
class DidGroup < Base
|
|
5
5
|
# Possible values for did_group.features array
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
FEATURE_VOICE_IN = 'voice_in'
|
|
7
|
+
FEATURE_VOICE_OUT = 'voice_out'
|
|
8
|
+
FEATURE_T38 = 't38'
|
|
9
|
+
FEATURE_IN_SMS = 'sms_in'
|
|
10
|
+
FEATURE_OUT_SMS = 'sms_out'
|
|
11
|
+
|
|
9
12
|
FEATURES = {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
13
|
+
FEATURE_VOICE_IN => 'Voice IN',
|
|
14
|
+
FEATURE_VOICE_OUT => 'Voice OUT',
|
|
15
|
+
FEATURE_T38 => 'T.38 Fax',
|
|
16
|
+
FEATURE_IN_SMS => 'SMS IN',
|
|
17
|
+
FEATURE_OUT_SMS => 'SMS OUT'
|
|
18
|
+
}.freeze
|
|
14
19
|
|
|
15
|
-
has_one :country,
|
|
16
|
-
has_one :city,
|
|
20
|
+
has_one :country, class_name: 'Country'
|
|
21
|
+
has_one :city, class_name: 'City'
|
|
22
|
+
has_one :did_group_type, class_name: 'DidGroupType'
|
|
23
|
+
has_one :region, class_name: 'Region'
|
|
24
|
+
has_many :stock_keeping_units, class_name: 'StockKeepingUnit'
|
|
17
25
|
|
|
18
26
|
property :area_name, type: :string
|
|
19
27
|
# Type: String
|
|
@@ -6,7 +6,7 @@ module DIDWW
|
|
|
6
6
|
|
|
7
7
|
property :qty, type: :integer
|
|
8
8
|
# Type: Integer
|
|
9
|
-
# Description: A
|
|
9
|
+
# Description: A threshold starting at which provided prices per channel apply
|
|
10
10
|
|
|
11
11
|
property :setup_price, type: :decimal
|
|
12
12
|
# Type: String
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
module DIDWW
|
|
3
3
|
module Resource
|
|
4
4
|
class SharedCapacityGroup < Base
|
|
5
|
-
has_one :capacity_pool,
|
|
5
|
+
has_one :capacity_pool, class_name: 'CapacityPool'
|
|
6
6
|
|
|
7
|
-
has_many :dids,
|
|
7
|
+
has_many :dids, class_name: 'Did'
|
|
8
8
|
|
|
9
9
|
property :name, type: :string
|
|
10
10
|
# Type: String
|
|
@@ -17,21 +17,15 @@ module DIDWW
|
|
|
17
17
|
|
|
18
18
|
# Configuration types
|
|
19
19
|
CONF_TYPE_SIP = 'sip_configurations'
|
|
20
|
-
CONF_TYPE_H323 = 'h323_configurations'
|
|
21
|
-
CONF_TYPE_IAX2 = 'iax2_configurations'
|
|
22
20
|
CONF_TYPE_PSTN = 'pstn_configurations'
|
|
23
21
|
|
|
24
22
|
CONF_TYPES = {
|
|
25
23
|
CONF_TYPE_SIP => 'SIP',
|
|
26
|
-
CONF_TYPE_H323 => 'H323',
|
|
27
|
-
CONF_TYPE_IAX2 => 'IAX2',
|
|
28
24
|
CONF_TYPE_PSTN => 'PSTN'
|
|
29
25
|
}.freeze
|
|
30
26
|
|
|
31
27
|
CONF_TYPE_CLASSES = {
|
|
32
28
|
CONF_TYPE_SIP => DIDWW::ComplexObject::SipConfiguration,
|
|
33
|
-
CONF_TYPE_H323 => DIDWW::ComplexObject::H323Configuration,
|
|
34
|
-
CONF_TYPE_IAX2 => DIDWW::ComplexObject::Iax2Configuration,
|
|
35
29
|
CONF_TYPE_PSTN => DIDWW::ComplexObject::PstnConfiguration
|
|
36
30
|
}.freeze
|
|
37
31
|
|
|
@@ -78,8 +72,6 @@ module DIDWW
|
|
|
78
72
|
# Type: one of
|
|
79
73
|
# sip_configurations
|
|
80
74
|
# pstn_configurations
|
|
81
|
-
# iax2_configurations
|
|
82
|
-
# h323_configurations
|
|
83
75
|
# Description: Trunk configuration complex object
|
|
84
76
|
|
|
85
77
|
property :created_at, type: :time
|
data/lib/didww/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: didww-v3
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 5.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Alex Korobeinikov
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: exe
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
13
|
name: activesupport
|
|
@@ -44,14 +43,14 @@ dependencies:
|
|
|
44
43
|
requirements:
|
|
45
44
|
- - '='
|
|
46
45
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: 1.
|
|
46
|
+
version: 1.23.0
|
|
48
47
|
type: :runtime
|
|
49
48
|
prerelease: false
|
|
50
49
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
50
|
requirements:
|
|
52
51
|
- - '='
|
|
53
52
|
- !ruby/object:Gem::Version
|
|
54
|
-
version: 1.
|
|
53
|
+
version: 1.23.0
|
|
55
54
|
- !ruby/object:Gem::Dependency
|
|
56
55
|
name: http
|
|
57
56
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -101,6 +100,8 @@ executables: []
|
|
|
101
100
|
extensions: []
|
|
102
101
|
extra_rdoc_files: []
|
|
103
102
|
files:
|
|
103
|
+
- ".codespellrc"
|
|
104
|
+
- ".github/workflows/codespell.yml"
|
|
104
105
|
- ".github/workflows/tests.yml"
|
|
105
106
|
- ".gitignore"
|
|
106
107
|
- ".rspec"
|
|
@@ -112,7 +113,9 @@ files:
|
|
|
112
113
|
- Rakefile
|
|
113
114
|
- bin/console
|
|
114
115
|
- bin/setup
|
|
116
|
+
- codespell_ignore_words.txt
|
|
115
117
|
- didww-v3.gemspec
|
|
118
|
+
- docs/resource_relationships.md
|
|
116
119
|
- lib/didww.rb
|
|
117
120
|
- lib/didww/base_middleware.rb
|
|
118
121
|
- lib/didww/callback/const.rb
|
|
@@ -122,8 +125,6 @@ files:
|
|
|
122
125
|
- lib/didww/complex_objects/capacity_order_item.rb
|
|
123
126
|
- lib/didww/complex_objects/configurations.rb
|
|
124
127
|
- lib/didww/complex_objects/configurations/base.rb
|
|
125
|
-
- lib/didww/complex_objects/configurations/h323_configuration.rb
|
|
126
|
-
- lib/didww/complex_objects/configurations/iax2_configuration.rb
|
|
127
128
|
- lib/didww/complex_objects/configurations/pstn_configuration.rb
|
|
128
129
|
- lib/didww/complex_objects/configurations/sip_configuration.rb
|
|
129
130
|
- lib/didww/complex_objects/did_order_item.rb
|
|
@@ -172,7 +173,6 @@ homepage: https://github.com/didww/didww-v3-ruby
|
|
|
172
173
|
licenses:
|
|
173
174
|
- MIT
|
|
174
175
|
metadata: {}
|
|
175
|
-
post_install_message:
|
|
176
176
|
rdoc_options: []
|
|
177
177
|
require_paths:
|
|
178
178
|
- lib
|
|
@@ -180,16 +180,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
180
180
|
requirements:
|
|
181
181
|
- - ">="
|
|
182
182
|
- !ruby/object:Gem::Version
|
|
183
|
-
version: '
|
|
183
|
+
version: '3.3'
|
|
184
184
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
185
185
|
requirements:
|
|
186
186
|
- - ">="
|
|
187
187
|
- !ruby/object:Gem::Version
|
|
188
188
|
version: '0'
|
|
189
189
|
requirements: []
|
|
190
|
-
|
|
191
|
-
rubygems_version: 2.7.6.2
|
|
192
|
-
signing_key:
|
|
190
|
+
rubygems_version: 4.0.4
|
|
193
191
|
specification_version: 4
|
|
194
192
|
summary: Ruby client for DIDWW API v3
|
|
195
193
|
test_files: []
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
module DIDWW
|
|
3
|
-
module ComplexObject
|
|
4
|
-
module Configuration
|
|
5
|
-
class H323Configuration < Base
|
|
6
|
-
property :dst, type: :string
|
|
7
|
-
# Type: String
|
|
8
|
-
# Nullable: No
|
|
9
|
-
# Description: Phone number
|
|
10
|
-
|
|
11
|
-
property :host, type: :string
|
|
12
|
-
# Type: String
|
|
13
|
-
# Nullable: No
|
|
14
|
-
# Description: Destination server
|
|
15
|
-
|
|
16
|
-
property :port, type: :string
|
|
17
|
-
# Type: String
|
|
18
|
-
# Nullable: No
|
|
19
|
-
# Description: Destination port
|
|
20
|
-
|
|
21
|
-
property :codec_ids, type: :array
|
|
22
|
-
# TODO array type
|
|
23
|
-
# Type: Array
|
|
24
|
-
# Nullable: No
|
|
25
|
-
# Description:
|
|
26
|
-
|
|
27
|
-
DEFAULTS = {
|
|
28
|
-
codec_ids: DEFAULT_CODEC_IDS,
|
|
29
|
-
dst: DID_PLACEHOLDER,
|
|
30
|
-
}.freeze
|
|
31
|
-
|
|
32
|
-
RECOMMENDED = {}.freeze
|
|
33
|
-
end
|
|
34
|
-
end
|
|
35
|
-
end
|
|
36
|
-
end
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
module DIDWW
|
|
3
|
-
module ComplexObject
|
|
4
|
-
module Configuration
|
|
5
|
-
class Iax2Configuration < Base
|
|
6
|
-
property :dst, type: :string
|
|
7
|
-
# Type: String
|
|
8
|
-
# Nullable: No
|
|
9
|
-
# Description: Phone number
|
|
10
|
-
|
|
11
|
-
property :host, type: :string
|
|
12
|
-
# Type: String
|
|
13
|
-
# Nullable: No
|
|
14
|
-
# Description: Destination server
|
|
15
|
-
|
|
16
|
-
property :port, type: :string
|
|
17
|
-
# Type: String
|
|
18
|
-
# Nullable: No
|
|
19
|
-
# Description: Destination port
|
|
20
|
-
|
|
21
|
-
property :auth_user, type: :string
|
|
22
|
-
# Type: String
|
|
23
|
-
# Nullable: No
|
|
24
|
-
# Description: Optional authorization user
|
|
25
|
-
|
|
26
|
-
property :auth_password, type: :string
|
|
27
|
-
# Type: String
|
|
28
|
-
# Nullable: No
|
|
29
|
-
# Description: Optional authorization password
|
|
30
|
-
|
|
31
|
-
property :codec_ids, type: :array
|
|
32
|
-
# TODO array type
|
|
33
|
-
# Type: Array
|
|
34
|
-
# Nullable: No
|
|
35
|
-
# Description:
|
|
36
|
-
|
|
37
|
-
DEFAULTS = {
|
|
38
|
-
codec_ids: DEFAULT_CODEC_IDS,
|
|
39
|
-
dst: DID_PLACEHOLDER,
|
|
40
|
-
}.freeze
|
|
41
|
-
|
|
42
|
-
RECOMMENDED = {}.freeze
|
|
43
|
-
end
|
|
44
|
-
end
|
|
45
|
-
end
|
|
46
|
-
end
|