didww-v3 1.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.
Files changed (41) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +12 -0
  3. data/.rspec +3 -0
  4. data/.rubocop.yml +313 -0
  5. data/.travis.yml +5 -0
  6. data/Gemfile +6 -0
  7. data/LICENSE.txt +21 -0
  8. data/README.md +57 -0
  9. data/Rakefile +6 -0
  10. data/bin/console +19 -0
  11. data/bin/setup +8 -0
  12. data/didww-v3.gemspec +46 -0
  13. data/lib/didww.rb +3 -0
  14. data/lib/didww/client.rb +120 -0
  15. data/lib/didww/complex_objects/base.rb +89 -0
  16. data/lib/didww/complex_objects/cdr_export_filter.rb +23 -0
  17. data/lib/didww/complex_objects/configurations.rb +11 -0
  18. data/lib/didww/complex_objects/configurations/base.rb +11 -0
  19. data/lib/didww/complex_objects/configurations/const.rb +149 -0
  20. data/lib/didww/complex_objects/configurations/h323_configuration.rb +35 -0
  21. data/lib/didww/complex_objects/configurations/iax2_configuration.rb +45 -0
  22. data/lib/didww/complex_objects/configurations/pstn_configuration.rb +16 -0
  23. data/lib/didww/complex_objects/configurations/sip_configuration.rb +203 -0
  24. data/lib/didww/complex_objects/did_order_item.rb +14 -0
  25. data/lib/didww/middleware.rb +18 -0
  26. data/lib/didww/resources/balance.rb +20 -0
  27. data/lib/didww/resources/base.rb +29 -0
  28. data/lib/didww/resources/cdr_export.rb +47 -0
  29. data/lib/didww/resources/city.rb +9 -0
  30. data/lib/didww/resources/country.rb +17 -0
  31. data/lib/didww/resources/did.rb +49 -0
  32. data/lib/didww/resources/did_group.rb +66 -0
  33. data/lib/didww/resources/did_group_type.rb +9 -0
  34. data/lib/didww/resources/order.rb +67 -0
  35. data/lib/didww/resources/region.rb +9 -0
  36. data/lib/didww/resources/stock_keeping_unit.rb +19 -0
  37. data/lib/didww/resources/trunk.rb +70 -0
  38. data/lib/didww/resources/trunk/const.rb +61 -0
  39. data/lib/didww/resources/trunk_group.rb +23 -0
  40. data/lib/didww/version.rb +3 -0
  41. metadata +307 -0
@@ -0,0 +1,17 @@
1
+ module DIDWW
2
+ module Resource
3
+ class Country < Base
4
+ property :name, type: :string
5
+ # Type: String
6
+ # Description: Country name
7
+
8
+ property :prefix, type: :string
9
+ # Type: String
10
+ # Description: Country prefix (country calling code)
11
+
12
+ property :iso, type: :string
13
+ # Type: String
14
+ # Description: Country ISO code
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,49 @@
1
+ module DIDWW
2
+ module Resource
3
+ class Did < Base
4
+ has_one :trunk
5
+ has_one :trunk_group
6
+
7
+ property :blocked, type: :boolean
8
+ # Type: Boolean
9
+ # Description: Identifier for a blocked DID. Blocked DIDs are numbers that have expired, have been cancelled or have been suspended by DIDWW.
10
+
11
+ property :awaiting_registration, type: :boolean
12
+ # Type: Boolean
13
+ # Description: Identifier for a DID that is awaiting registration.
14
+
15
+ property :terminated, type: :boolean
16
+ # Type: Boolean
17
+ # Description: Identifier for terminated DIDs that will be removed from service at the end of the billing cycle.
18
+
19
+ property :pending_removal, type: :boolean
20
+ # Type: Boolean
21
+ # Description: Identifier for DIDs that are pending removal from your account.
22
+
23
+ property :description, type: :string
24
+ # Type: String
25
+ # Description: DID custom description
26
+
27
+ property :number, type: :string
28
+ # Type: String
29
+ # Description: The actual DID number in the format [country code][area code][subscriber number].
30
+
31
+ property :capacity_limit, type: :integer
32
+ # Type: Integer
33
+ # Description: The capacity limit (maximum number of simultaneous calls) for this DID.
34
+
35
+ property :channels_included_count, type: :integer
36
+ # Type: Integer
37
+ # Description: The number of channels included with this DID.
38
+
39
+ property :expires_at, type: :time
40
+ # Type: DateTime
41
+ # Description: DateTime when the DID expired or will expire. DateTime is in the ISO 8601 format "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", where "SSS" are milliseconds and 'Z' denotes Zulu time (UTC).
42
+
43
+ property :created_at, type: :time
44
+ # Type: DateTime
45
+ # Description: DID created at DateTime
46
+
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,66 @@
1
+ module DIDWW
2
+ module Resource
3
+ class DidGroup < Base
4
+ module CONST
5
+ # Possible values for did_group.features array
6
+ FEATURE_VOICE = 'voice' .freeze
7
+ FEATURE_T38 = 't38' .freeze
8
+ FEATURE_SMS = 'sms' .freeze
9
+ FEATURES = {
10
+ FEATURE_VOICE => 'Voice' .freeze,
11
+ FEATURE_T38 => 'T.38 Fax' .freeze,
12
+ FEATURE_SMS => 'SMS' .freeze
13
+ }.freeze
14
+
15
+ def features_human
16
+ Array.wrap(features).map { |f| FEATURES[f] }
17
+ end
18
+ end
19
+
20
+ include CONST
21
+
22
+ has_one :country, class: Country
23
+ has_one :city, class: City
24
+
25
+ property :area_name, type: :string
26
+ # Type: String
27
+ # Description: DID Group area name. This will be the name of the city, or a designation applicable to the area code such as "National".
28
+
29
+ property :prefix, type: :string
30
+ # Type: String
31
+ # Description: DID Group prefix (city or area calling code)
32
+
33
+ property :local_prefix, type: :string
34
+ # Type: String
35
+ # Description: DID Group local prefix
36
+
37
+ property :features, type: :complex_object # TODO implement array of strings?
38
+ # Type: Array of strings
39
+ # Description: Features available for the DID Group, including voice, sms and t38. A DID Group may have multiple features.
40
+
41
+ property :is_metered, type: :boolean
42
+ # Type: Boolean
43
+ # Description: Defines if the DID Group supports metered services (per-minute billing).
44
+
45
+ property :allow_additional_channels, type: :boolean
46
+ # Type: Boolean
47
+ # Description: Defines if channel capacity may be added to this DID Group.
48
+
49
+ # TODO
50
+ # Meta attributes
51
+ #
52
+ # needs_registration
53
+ # Type: Boolean
54
+ # Description: Defines if end-user registration is required for this DID Group.
55
+ #
56
+ # is_available
57
+ # Type: Boolean
58
+ # Description: Defines if numbers in this DID Group are currently in stock.
59
+ #
60
+ # restrictions
61
+ # Type: String
62
+ # Description: Describes possible restrictions for the DID Group, such as "End User Registration is Required".
63
+
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,9 @@
1
+ module DIDWW
2
+ module Resource
3
+ class DidGroupType < Base
4
+ property :name, type: :string
5
+ # Type: String
6
+ # Description: DID Group Type name, such as "Local", "Mobile" or "Toll-free".
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,67 @@
1
+ require 'didww/complex_objects/did_order_item'
2
+
3
+ module DIDWW
4
+ module Resource
5
+ class Order < Base
6
+ module CONST
7
+ # Possible values for order.status
8
+ STATUS_PENDING = 'Pending' .freeze
9
+ STATUS_COMPLETED = 'Completed' .freeze
10
+ STATUS_CANCELLED = 'Canceled' .freeze
11
+ STATUSES = [
12
+ STATUS_PENDING,
13
+ STATUS_COMPLETED,
14
+ STATUS_CANCELLED
15
+ ].freeze
16
+ end
17
+
18
+ include CONST
19
+
20
+ property :reference, type: :string
21
+ # Type: String
22
+ # Description: Order Reference
23
+
24
+ property :amount, type: :decimal
25
+ # Type: String
26
+ # Description: Order Amount
27
+
28
+ property :status, type: :string
29
+ # Type: Enum
30
+ # Description: Order status. One of "Pending", "Completed", "Canceled".
31
+
32
+ property :description, type: :string
33
+ # Type: String
34
+ # Description: Order description
35
+
36
+ property :created_at, type: :time
37
+ # Type: DateTime
38
+ # Description: Order created at DateTime
39
+
40
+ property :items, type: :complex_object
41
+ # Type: Array<OrderItem>
42
+ # Description: Order items array
43
+
44
+ property :allow_back_ordering, type: :boolean
45
+ # Type: Boolean
46
+ # Description: Allowing back ordering
47
+
48
+ def initialize(*args)
49
+ super
50
+ self.items ||= []
51
+ end
52
+
53
+ def pending?
54
+ STATUS_PENDING == status
55
+ end
56
+
57
+ def completed?
58
+ STATUS_COMPLETED == status
59
+ end
60
+
61
+ def cancelled?
62
+ STATUS_CANCELLED == status
63
+ end
64
+
65
+ end
66
+ end
67
+ end
@@ -0,0 +1,9 @@
1
+ module DIDWW
2
+ module Resource
3
+ class Region < Base
4
+ property :name, type: :string
5
+ # Type: String
6
+ # Description: Region name
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,19 @@
1
+ module DIDWW
2
+ module Resource
3
+ class StockKeepingUnit < Base
4
+ belongs_to :did_group
5
+
6
+ property :setup_price, type: :decimal
7
+ # Type: String
8
+ # Description: price for Order creation
9
+
10
+ property :monthly_price, type: :decimal
11
+ # Type: String
12
+ # Description: monthly price for order renew
13
+
14
+ property :channels_included_count, type: :integer
15
+ # Type: Integer
16
+ # Description: included channels capacity for each DID
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,70 @@
1
+ require 'didww/complex_objects/configurations'
2
+ require 'didww/resources/trunk/const'
3
+
4
+ module DIDWW
5
+ module Resource
6
+ class Trunk < Base
7
+ include CONST
8
+
9
+ has_one :trunk_group
10
+
11
+ property :priority, type: :integer
12
+ # Type: Integer
13
+ # Description: The priority of this target host. DIDWW will attempt to contact the target trunk with the lowest-numbered priority; target trunk with the same priority will be tried in an order defined by the weight field. The range is 0-65535. See RFC 2782 for more details
14
+
15
+ property :weight, type: :integer
16
+ # Type: Integer
17
+ # Description: A trunk selection mechanism. The weight field specifies a relative weight for entries with the same priority. Larger weights will be given a proportionately higher probability of being selected. The range of this number is 0-65535. In the presence of records containing weights greater than 0, records with weight 0 will have a very small chance of being selected. See RFC 2782 for more details
18
+
19
+ property :capacity_limit, type: :integer
20
+ # Type: Integer
21
+ # Description: Maximum number of simultaneous calls for the trunk
22
+
23
+ property :ringing_timeout, type: :integer
24
+ # Type: Integer
25
+ # Description: After which it will be end transaction with internal disconnect code 'Ringing timeout' if the call was not connected.
26
+
27
+ property :name, type: :string
28
+ # Type: String
29
+ # Description: Friendly name of the trunk
30
+
31
+ property :cli_format, type: :string
32
+ # Type: String
33
+ # Description:
34
+ # RAW - Do not alter CLI (default)
35
+ # 164 - Attempt to convert CLI to E.164 format
36
+ # Local - Attempt to convert CLI to Localized format
37
+ # * CLI format conversion may not work correctly for phone calls originating from outside the country of that specific DID
38
+
39
+ property :cli_prefix, type: :string
40
+ # Type: String
41
+ # Description: You may prefix the CLI with an optional '+' sign followed by up to 6 characters, including digits and '#'
42
+
43
+ property :description, type: :string
44
+ # Type: String
45
+ # Description: Optional description of trunk
46
+
47
+ property :preferred_server, type: :string
48
+ # Type: String
49
+ # Description: Preferred server for your voice route. In general, you should choose the server that is the closest to your location ["LOCAL", "USA", "DE"] or omit.
50
+
51
+ property :configuration, type: :complex_object
52
+ # Type: one of
53
+ # sip_configurations
54
+ # pstn_configurations
55
+ # iax2_configurations
56
+ # h323_configurations
57
+ # Description: Trunk configuration complex object
58
+
59
+ property :created_at, type: :time
60
+ # Type: DateTime
61
+ # Description: Trunk created at DateTime
62
+
63
+ def initialize(*args)
64
+ super
65
+ attribute_will_change!(:configuration) if configuration
66
+ end
67
+
68
+ end
69
+ end
70
+ end
@@ -0,0 +1,61 @@
1
+ module DIDWW
2
+ module Resource
3
+ class Trunk < Base
4
+ module CONST
5
+ # Allowed values for trunk.preferred_server
6
+ PREFERRED_SERVER_LOCAL = 'LOCAL' .freeze
7
+ PREFERRED_SERVER_USA = 'USA' .freeze
8
+ PREFERRED_SERVER_EUROPE = 'Europe' .freeze
9
+
10
+ PREFERRED_SERVERS = {
11
+ PREFERRED_SERVER_LOCAL => 'Local' .freeze,
12
+ PREFERRED_SERVER_USA => 'United States' .freeze,
13
+ PREFERRED_SERVER_EUROPE => 'Europe' .freeze
14
+ }.freeze
15
+
16
+ # Allowed values for trunk.cli_format
17
+ CLI_FORMAT_RAW = 'raw' .freeze
18
+ CLI_FORMAT_E164 = 'e164' .freeze
19
+ CLI_FORMAT_LOCAL = 'local' .freeze
20
+
21
+ CLI_FORMATS = {
22
+ CLI_FORMAT_RAW => 'Raw' .freeze,
23
+ CLI_FORMAT_E164 => 'E.164' .freeze,
24
+ CLI_FORMAT_LOCAL => 'Local' .freeze
25
+ }.freeze
26
+
27
+ # Configuration types
28
+ CONF_TYPE_SIP = 'sip_configurations' .freeze
29
+ CONF_TYPE_H323 = 'h323_configurations' .freeze
30
+ CONF_TYPE_IAX2 = 'iax2_configurations' .freeze
31
+ CONF_TYPE_PSTN = 'pstn_configurations' .freeze
32
+
33
+ CONF_TYPES = {
34
+ CONF_TYPE_SIP => 'SIP' .freeze,
35
+ CONF_TYPE_H323 => 'H323' .freeze,
36
+ CONF_TYPE_IAX2 => 'IAX2' .freeze,
37
+ CONF_TYPE_PSTN => 'PSTN' .freeze
38
+ }.freeze
39
+
40
+ CONF_TYPE_CLASSES = {
41
+ CONF_TYPE_SIP => DIDWW::ComplexObject::SipConfiguration,
42
+ CONF_TYPE_H323 => DIDWW::ComplexObject::H323Configuration,
43
+ CONF_TYPE_IAX2 => DIDWW::ComplexObject::Iax2Configuration,
44
+ CONF_TYPE_PSTN => DIDWW::ComplexObject::PstnConfiguration
45
+ }.freeze
46
+
47
+ def preferred_server_human
48
+ PREFERRED_SERVERS[preferred_server]
49
+ end
50
+
51
+ def cli_format_human
52
+ CLI_FORMATS[cli_format]
53
+ end
54
+
55
+ def configuration_type_human
56
+ CONF_TYPES[configuration.type] if configuration
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,23 @@
1
+ module DIDWW
2
+ module Resource
3
+ class TrunkGroup < Base
4
+ has_many :trunks
5
+
6
+ property :name, type: :string
7
+ # Type: String
8
+ # Description: Trunk Group name
9
+
10
+ property :capacity_limit, type: :integer
11
+ # Type: Integer
12
+ # Description: maximum number of simultaneous calls for the trunk
13
+
14
+ property :created_at, type: :time
15
+ # Type: DateTime
16
+ # Description: Trunk Group created at DateTime
17
+
18
+ def trunks_count
19
+ meta[:trunks_count]
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,3 @@
1
+ module DIDWW
2
+ VERSION = '1.0.0'.freeze
3
+ end
metadata ADDED
@@ -0,0 +1,307 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: didww-v3
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Alex Korobeinikov
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2018-01-31 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.16'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.16'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '3.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: pry
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: byebug
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: awesome_print
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: http_logger
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: rubocop
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: simplecov
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: smart_rspec
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: webmock
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ - !ruby/object:Gem::Dependency
168
+ name: activesupport
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ">="
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ type: :runtime
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
181
+ - !ruby/object:Gem::Dependency
182
+ name: faraday
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ version: '0'
188
+ type: :runtime
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ version: '0'
195
+ - !ruby/object:Gem::Dependency
196
+ name: json_api_client
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - ">="
200
+ - !ruby/object:Gem::Version
201
+ version: '0'
202
+ type: :runtime
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - ">="
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
209
+ - !ruby/object:Gem::Dependency
210
+ name: http
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - ">="
214
+ - !ruby/object:Gem::Version
215
+ version: '0'
216
+ type: :runtime
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - ">="
221
+ - !ruby/object:Gem::Version
222
+ version: '0'
223
+ - !ruby/object:Gem::Dependency
224
+ name: down
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - ">="
228
+ - !ruby/object:Gem::Version
229
+ version: '0'
230
+ type: :runtime
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - ">="
235
+ - !ruby/object:Gem::Version
236
+ version: '0'
237
+ description: Ruby client for DIDWW API v3
238
+ email:
239
+ - alex.k@didww.com
240
+ executables: []
241
+ extensions: []
242
+ extra_rdoc_files: []
243
+ files:
244
+ - ".gitignore"
245
+ - ".rspec"
246
+ - ".rubocop.yml"
247
+ - ".travis.yml"
248
+ - Gemfile
249
+ - LICENSE.txt
250
+ - README.md
251
+ - Rakefile
252
+ - bin/console
253
+ - bin/setup
254
+ - didww-v3.gemspec
255
+ - lib/didww.rb
256
+ - lib/didww/client.rb
257
+ - lib/didww/complex_objects/base.rb
258
+ - lib/didww/complex_objects/cdr_export_filter.rb
259
+ - lib/didww/complex_objects/configurations.rb
260
+ - lib/didww/complex_objects/configurations/base.rb
261
+ - lib/didww/complex_objects/configurations/const.rb
262
+ - lib/didww/complex_objects/configurations/h323_configuration.rb
263
+ - lib/didww/complex_objects/configurations/iax2_configuration.rb
264
+ - lib/didww/complex_objects/configurations/pstn_configuration.rb
265
+ - lib/didww/complex_objects/configurations/sip_configuration.rb
266
+ - lib/didww/complex_objects/did_order_item.rb
267
+ - lib/didww/middleware.rb
268
+ - lib/didww/resources/balance.rb
269
+ - lib/didww/resources/base.rb
270
+ - lib/didww/resources/cdr_export.rb
271
+ - lib/didww/resources/city.rb
272
+ - lib/didww/resources/country.rb
273
+ - lib/didww/resources/did.rb
274
+ - lib/didww/resources/did_group.rb
275
+ - lib/didww/resources/did_group_type.rb
276
+ - lib/didww/resources/order.rb
277
+ - lib/didww/resources/region.rb
278
+ - lib/didww/resources/stock_keeping_unit.rb
279
+ - lib/didww/resources/trunk.rb
280
+ - lib/didww/resources/trunk/const.rb
281
+ - lib/didww/resources/trunk_group.rb
282
+ - lib/didww/version.rb
283
+ homepage: https://github.com/didww/didww-v3-ruby
284
+ licenses:
285
+ - MIT
286
+ metadata: {}
287
+ post_install_message:
288
+ rdoc_options: []
289
+ require_paths:
290
+ - lib
291
+ required_ruby_version: !ruby/object:Gem::Requirement
292
+ requirements:
293
+ - - ">="
294
+ - !ruby/object:Gem::Version
295
+ version: '0'
296
+ required_rubygems_version: !ruby/object:Gem::Requirement
297
+ requirements:
298
+ - - ">="
299
+ - !ruby/object:Gem::Version
300
+ version: '0'
301
+ requirements: []
302
+ rubyforge_project:
303
+ rubygems_version: 2.6.14
304
+ signing_key:
305
+ specification_version: 4
306
+ summary: Ruby client for DIDWW API v3
307
+ test_files: []