telnyx 2.8.0 → 2.9.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/.github/workflows/publish-gem-on-release.yml +53 -0
- data/.github/workflows/ruby.yml +1 -1
- data/.github/workflows/tweet-release.yml +25 -0
- data/VERSION +1 -1
- data/lib/telnyx.rb +3 -0
- data/lib/telnyx/api_operations/nested_resource.rb +1 -1
- data/lib/telnyx/porting_order.rb +21 -0
- data/lib/telnyx/queue.rb +20 -0
- data/lib/telnyx/queue_call.rb +7 -0
- data/lib/telnyx/version.rb +1 -1
- data/test/telnyx/fax_test.rb +1 -1
- data/test/telnyx/porting_order_test.rb +53 -0
- data/test/telnyx/queue_test.rb +27 -0
- metadata +21 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 504ff2b58e1248f7eee2afa238840a697801c8b2902bf855555a985da8f3cc8f
|
4
|
+
data.tar.gz: 3d0af87ebaf35d13ca71f14413ee4812998f20f760aa3a95de9f02b20d062b9e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ad5cf92920604d3e56500da6541320476be81b0a44d266b38a5eb8e530a0b61008ac29900823f8dea4d06914b4982fdedb18217d05703b38b014c2f8e4d623ce
|
7
|
+
data.tar.gz: 94e8ec89aaf27fc2d8176684ec60a35edf8f9389b4a08b90f25a5f75e12d02cd131cc16632bf6ff7db24cd28bcd30404cdabea7d38620162bab6d4998433c719
|
@@ -0,0 +1,53 @@
|
|
1
|
+
on:
|
2
|
+
release:
|
3
|
+
types: [released]
|
4
|
+
|
5
|
+
jobs:
|
6
|
+
test:
|
7
|
+
env:
|
8
|
+
TELNYX_MOCK_VERSION: 0.8.13
|
9
|
+
runs-on: ubuntu-latest
|
10
|
+
strategy:
|
11
|
+
matrix:
|
12
|
+
ruby: [ '2.5', '2.6', '2.7', '3.0' ]
|
13
|
+
steps:
|
14
|
+
- uses: actions/checkout@v2
|
15
|
+
- name: Set up Ruby
|
16
|
+
# To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
|
17
|
+
# change this to (see https://github.com/ruby/setup-ruby#versioning):
|
18
|
+
# uses: ruby/setup-ruby@v1
|
19
|
+
uses: ruby/setup-ruby@v1
|
20
|
+
with:
|
21
|
+
ruby-version: ${{ matrix.ruby }}
|
22
|
+
- name: Run Setup Script to install mock
|
23
|
+
run: source ./.github/scripts/before_install.sh
|
24
|
+
shell: bash
|
25
|
+
- name: Install dependencies
|
26
|
+
run: bundle install
|
27
|
+
- name: Run tests
|
28
|
+
run: bundle exec rake
|
29
|
+
|
30
|
+
build_and_publish_gem:
|
31
|
+
name: Build + Publish Gem
|
32
|
+
needs: test
|
33
|
+
runs-on: ubuntu-latest
|
34
|
+
permissions:
|
35
|
+
packages: write
|
36
|
+
contents: read
|
37
|
+
steps:
|
38
|
+
- uses: actions/checkout@v2
|
39
|
+
- name: Set up Ruby 2.6
|
40
|
+
uses: ruby/setup-ruby@477b21f02be01bcb8030d50f37cfec92bfa615b6
|
41
|
+
with:
|
42
|
+
ruby-version: 2.6
|
43
|
+
- run: bundle install
|
44
|
+
- name: Publish to RubyGems
|
45
|
+
run: |
|
46
|
+
mkdir -p $HOME/.gem
|
47
|
+
touch $HOME/.gem/credentials
|
48
|
+
chmod 0600 $HOME/.gem/credentials
|
49
|
+
printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
|
50
|
+
gem build *.gemspec
|
51
|
+
gem push *.gem
|
52
|
+
env:
|
53
|
+
GEM_HOST_API_KEY: "${{secrets.RUBYGEMS_API_KEY}}"
|
data/.github/workflows/ruby.yml
CHANGED
@@ -0,0 +1,25 @@
|
|
1
|
+
on:
|
2
|
+
release:
|
3
|
+
types: [released]
|
4
|
+
|
5
|
+
jobs:
|
6
|
+
tweet:
|
7
|
+
runs-on: ubuntu-latest
|
8
|
+
steps:
|
9
|
+
- uses: ethomson/send-tweet-action@v1
|
10
|
+
with:
|
11
|
+
status: >
|
12
|
+
We have a new ${{github.event.release.tag_name}} release of our
|
13
|
+
${{ fromJson('{
|
14
|
+
"team-telnyx/telnyx-python": "Python",
|
15
|
+
"team-telnyx/telnyx-ruby": "Ruby",
|
16
|
+
"team-telnyx/telnyx-node": "Node",
|
17
|
+
"team-telnyx/telnyx-java": "Java",
|
18
|
+
"team-telnyx/telnyx-dotnet": "Dotnet",
|
19
|
+
"team-telnyx/telnyx-php": "PHP"
|
20
|
+
}')[github.event.repository.full_name] }} SDK!
|
21
|
+
Check out the details here: ${{ github.event.release.html_url }}
|
22
|
+
consumer-key: ${{ secrets.TWITTER_HANDLE_TELNYX_DEV_CONSUMER_API_KEY }}
|
23
|
+
consumer-secret: ${{ secrets.TWITTER_HANDLE_TELNYX_DEV_CONSUMER_API_SECRET }}
|
24
|
+
access-token: ${{ secrets.TWITTER_HANDLE_TELNYX_DEV_ACCESS_TOKEN }}
|
25
|
+
access-token-secret: ${{ secrets.TWITTER_HANDLE_TELNYX_DEV_ACCESS_TOKEN_SECRET }}
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.
|
1
|
+
2.9.0
|
data/lib/telnyx.rb
CHANGED
@@ -63,7 +63,10 @@ require "telnyx/outbound_voice_profile"
|
|
63
63
|
require "telnyx/phone_number_regulatory_requirement"
|
64
64
|
require "telnyx/phone_number"
|
65
65
|
require "telnyx/portout"
|
66
|
+
require "telnyx/porting_order"
|
66
67
|
require "telnyx/public_key"
|
68
|
+
require "telnyx/queue"
|
69
|
+
require "telnyx/queue_call"
|
67
70
|
require "telnyx/regulatory_requirement"
|
68
71
|
require "telnyx/sim_card"
|
69
72
|
require "telnyx/telephony_credential"
|
@@ -76,7 +76,7 @@ module Telnyx
|
|
76
76
|
Util.convert_to_telnyx_object(resp.data, opts)
|
77
77
|
end
|
78
78
|
define_instance_method.call(:"delete_#{resource}", operation)
|
79
|
-
when :list
|
79
|
+
when :list # TODO: Add a plain :get case here and refactor code that (mis)uses this.
|
80
80
|
define_singleton_method(:"list_#{resource}s") do |id, params = {}, opts = {}|
|
81
81
|
url = send(resource_url_method, id)
|
82
82
|
resp, opts = request(:get, url, params, opts)
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Telnyx
|
4
|
+
class PortingOrder < APIResource
|
5
|
+
extend APIOperations::List
|
6
|
+
extend APIOperations::Create
|
7
|
+
extend APIOperations::NestedResource
|
8
|
+
include APIOperations::Delete
|
9
|
+
include Telnyx::APIOperations::Save
|
10
|
+
|
11
|
+
nested_resource_class_methods :loa_template,
|
12
|
+
path: ["loa_template"],
|
13
|
+
operations: %i[list],
|
14
|
+
instance_methods: { list: "loa_template" }
|
15
|
+
nested_resource_class_methods :porting_phone_numbers,
|
16
|
+
path: ["porting_phone_numbers"],
|
17
|
+
operations: %i[list],
|
18
|
+
instance_methods: { list: "porting_phone_numbers" }
|
19
|
+
OBJECT_NAME = "porting_order"
|
20
|
+
end
|
21
|
+
end
|
data/lib/telnyx/queue.rb
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Telnyx
|
4
|
+
class Queue < APIResource
|
5
|
+
extend Telnyx::APIOperations::NestedResource
|
6
|
+
|
7
|
+
nested_resource_class_methods(
|
8
|
+
:queue_call,
|
9
|
+
path: "calls",
|
10
|
+
operations: %i[list retrieve],
|
11
|
+
instance_methods: {
|
12
|
+
list: "list",
|
13
|
+
retrieve: "retrieve"
|
14
|
+
}
|
15
|
+
)
|
16
|
+
|
17
|
+
OBJECT_NAME = "queue".freeze
|
18
|
+
RESOURCE_PATH = "queues".freeze
|
19
|
+
end
|
20
|
+
end
|
data/lib/telnyx/version.rb
CHANGED
data/test/telnyx/fax_test.rb
CHANGED
@@ -12,7 +12,7 @@ module Telnyx
|
|
12
12
|
end
|
13
13
|
|
14
14
|
should "send fax" do
|
15
|
-
fax = Fax.create connection_id: "foo", media_url: "example.com", to: "+13127367276"
|
15
|
+
fax = Fax.create connection_id: "foo", media_url: "example.com", to: "+13127367276", from: "+13127367277"
|
16
16
|
assert_requested :post, "#{Telnyx.api_base}/v2/faxes"
|
17
17
|
assert_kind_of Fax, fax
|
18
18
|
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "../test_helper"
|
4
|
+
module Telnyx
|
5
|
+
class PortingOrderTest < Test::Unit::TestCase
|
6
|
+
should "list porting orders" do
|
7
|
+
porting_orders = PortingOrder.list
|
8
|
+
assert_requested :get, "#{Telnyx.api_base}/v2/porting_orders"
|
9
|
+
assert_kind_of ListObject, porting_orders
|
10
|
+
assert_kind_of PortingOrder, porting_orders.first
|
11
|
+
end
|
12
|
+
|
13
|
+
should "create porting order" do
|
14
|
+
PortingOrder.create phone_numbers: %w[12223334444 12223335555]
|
15
|
+
assert_requested :post, "#{Telnyx.api_base}/v2/porting_orders"
|
16
|
+
end
|
17
|
+
|
18
|
+
should "retrieve porting order" do
|
19
|
+
porting_order = PortingOrder.retrieve "id"
|
20
|
+
assert_requested :get, "#{Telnyx.api_base}/v2/porting_orders/id"
|
21
|
+
assert_kind_of PortingOrder, porting_order
|
22
|
+
end
|
23
|
+
|
24
|
+
should "delete porting order" do
|
25
|
+
porting_order = PortingOrder.retrieve("id")
|
26
|
+
|
27
|
+
porting_order.delete
|
28
|
+
assert_requested :delete, "#{Telnyx.api_base}/v2/porting_orders/#{porting_order.id}"
|
29
|
+
end
|
30
|
+
|
31
|
+
should "update porting order" do
|
32
|
+
porting_order = PortingOrder.retrieve("id")
|
33
|
+
|
34
|
+
porting_order.user_feedback.user_comment = "user comment!"
|
35
|
+
porting_order.save
|
36
|
+
assert_requested :patch, "#{Telnyx.api_base}/v2/porting_orders/#{porting_order.id}"
|
37
|
+
end
|
38
|
+
|
39
|
+
context "commands" do
|
40
|
+
should "get loa template" do
|
41
|
+
omit "API still in beta"
|
42
|
+
porting_order = PortingOrder.retrieve("id")
|
43
|
+
|
44
|
+
porting_order.loa_template
|
45
|
+
|
46
|
+
assert_requested :get, "#{Telnyx.api_base}/v2/porting_orders/#{porting_order.id}/loa_template"
|
47
|
+
end
|
48
|
+
|
49
|
+
should "fetch porting phone numbers" do
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "../test_helper"
|
4
|
+
|
5
|
+
module Telnyx
|
6
|
+
class QueueTest < Test::Unit::TestCase
|
7
|
+
should "retrieve queue" do
|
8
|
+
queue = Queue.retrieve("id")
|
9
|
+
assert_requested :get, "#{Telnyx.api_base}/v2/queues/id"
|
10
|
+
assert_kind_of Queue, queue
|
11
|
+
end
|
12
|
+
|
13
|
+
should "retrieve call from queue" do
|
14
|
+
queue = Queue.retrieve("id")
|
15
|
+
queue_call = queue.retrieve("call_control_id")
|
16
|
+
assert_requested :get, "#{Telnyx.api_base}/v2/queues/id/calls/call_control_id"
|
17
|
+
assert_kind_of QueueCall, queue_call
|
18
|
+
end
|
19
|
+
|
20
|
+
should "list calls from queue" do
|
21
|
+
queue = Queue.retrieve("id")
|
22
|
+
queue_calls = queue.list
|
23
|
+
assert_requested :get, "#{Telnyx.api_base}/v2/queues/id/calls"
|
24
|
+
assert_kind_of QueueCall, queue_calls.first
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: telnyx
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Telnyx
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-08-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -17,9 +17,6 @@ dependencies:
|
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '0.13'
|
20
|
-
- - "<"
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
version: '2.0'
|
23
20
|
- - "!="
|
24
21
|
- !ruby/object:Gem::Version
|
25
22
|
version: 0.16.0
|
@@ -32,6 +29,9 @@ dependencies:
|
|
32
29
|
- - "!="
|
33
30
|
- !ruby/object:Gem::Version
|
34
31
|
version: 0.17.1
|
32
|
+
- - "<"
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: '2.0'
|
35
35
|
type: :runtime
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -39,9 +39,6 @@ dependencies:
|
|
39
39
|
- - ">="
|
40
40
|
- !ruby/object:Gem::Version
|
41
41
|
version: '0.13'
|
42
|
-
- - "<"
|
43
|
-
- !ruby/object:Gem::Version
|
44
|
-
version: '2.0'
|
45
42
|
- - "!="
|
46
43
|
- !ruby/object:Gem::Version
|
47
44
|
version: 0.16.0
|
@@ -54,6 +51,9 @@ dependencies:
|
|
54
51
|
- - "!="
|
55
52
|
- !ruby/object:Gem::Version
|
56
53
|
version: 0.17.1
|
54
|
+
- - "<"
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: '2.0'
|
57
57
|
- !ruby/object:Gem::Dependency
|
58
58
|
name: net-http-persistent
|
59
59
|
requirement: !ruby/object:Gem::Requirement
|
@@ -98,7 +98,9 @@ extra_rdoc_files: []
|
|
98
98
|
files:
|
99
99
|
- ".github/ISSUE_TEMPLATE.md"
|
100
100
|
- ".github/scripts/before_install.sh"
|
101
|
+
- ".github/workflows/publish-gem-on-release.yml"
|
101
102
|
- ".github/workflows/ruby.yml"
|
103
|
+
- ".github/workflows/tweet-release.yml"
|
102
104
|
- ".gitignore"
|
103
105
|
- ".rubocop.yml"
|
104
106
|
- ".rubocop_todo.yml"
|
@@ -157,8 +159,11 @@ files:
|
|
157
159
|
- lib/telnyx/outbound_voice_profile.rb
|
158
160
|
- lib/telnyx/phone_number.rb
|
159
161
|
- lib/telnyx/phone_number_regulatory_requirement.rb
|
162
|
+
- lib/telnyx/porting_order.rb
|
160
163
|
- lib/telnyx/portout.rb
|
161
164
|
- lib/telnyx/public_key.rb
|
165
|
+
- lib/telnyx/queue.rb
|
166
|
+
- lib/telnyx/queue_call.rb
|
162
167
|
- lib/telnyx/regulatory_requirement.rb
|
163
168
|
- lib/telnyx/sim_card.rb
|
164
169
|
- lib/telnyx/singleton_api_resource.rb
|
@@ -204,7 +209,9 @@ files:
|
|
204
209
|
- test/telnyx/outbound_voice_profile_test.rb
|
205
210
|
- test/telnyx/phone_number_regulatory_requirement_test.rb
|
206
211
|
- test/telnyx/phone_number_test.rb
|
212
|
+
- test/telnyx/porting_order_test.rb
|
207
213
|
- test/telnyx/public_key_test.rb
|
214
|
+
- test/telnyx/queue_test.rb
|
208
215
|
- test/telnyx/regulatory_requirement_test.rb
|
209
216
|
- test/telnyx/sim_card_test.rb
|
210
217
|
- test/telnyx/telephony_credential_test.rb
|
@@ -228,7 +235,7 @@ metadata:
|
|
228
235
|
github_repo: ssh://github.com/team-telnyx/telnyx-ruby
|
229
236
|
homepage_uri: https://telnyx.com
|
230
237
|
source_code_uri: https://github.com/team-telnyx/telnyx-ruby
|
231
|
-
post_install_message:
|
238
|
+
post_install_message:
|
232
239
|
rdoc_options: []
|
233
240
|
require_paths:
|
234
241
|
- lib
|
@@ -243,8 +250,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
243
250
|
- !ruby/object:Gem::Version
|
244
251
|
version: '0'
|
245
252
|
requirements: []
|
246
|
-
rubygems_version: 3.
|
247
|
-
signing_key:
|
253
|
+
rubygems_version: 3.0.3.1
|
254
|
+
signing_key:
|
248
255
|
specification_version: 4
|
249
256
|
summary: Ruby bindings for the Telnyx API
|
250
257
|
test_files:
|
@@ -279,7 +286,9 @@ test_files:
|
|
279
286
|
- test/telnyx/outbound_voice_profile_test.rb
|
280
287
|
- test/telnyx/phone_number_regulatory_requirement_test.rb
|
281
288
|
- test/telnyx/phone_number_test.rb
|
289
|
+
- test/telnyx/porting_order_test.rb
|
282
290
|
- test/telnyx/public_key_test.rb
|
291
|
+
- test/telnyx/queue_test.rb
|
283
292
|
- test/telnyx/regulatory_requirement_test.rb
|
284
293
|
- test/telnyx/sim_card_test.rb
|
285
294
|
- test/telnyx/telephony_credential_test.rb
|