telnyx 2.8.0 → 2.9.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|