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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f1f463fe082759c9cb99808df9016e908788912ac9a6d1f5c7de4b29c27ca891
4
- data.tar.gz: cf8bb9e8030e6fac0063cd876339ea73b6db99e911c865af06c49bf7baa7ae7c
3
+ metadata.gz: 504ff2b58e1248f7eee2afa238840a697801c8b2902bf855555a985da8f3cc8f
4
+ data.tar.gz: 3d0af87ebaf35d13ca71f14413ee4812998f20f760aa3a95de9f02b20d062b9e
5
5
  SHA512:
6
- metadata.gz: 4cc528c37b37e18abb166a4e10bd97631ded62a951ce8ce221ddf7c867488046db85ff96bbb4c0b97c23350113d978286e5c5c6251b5879b3f8b47f09d29e797
7
- data.tar.gz: 6e35320931291772a01de09fd2bd2e7301fb1f92d158bb4e71fa00c7b4eb4774ce13714ef30eb59a2e76d81a69704b21ff52a50735045c4ba786cd0d063c64d5
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}}"
@@ -16,7 +16,7 @@ on:
16
16
  jobs:
17
17
  test:
18
18
  env:
19
- TELNYX_MOCK_VERSION: 0.8.13
19
+ TELNYX_MOCK_VERSION: 0.8.14
20
20
  runs-on: ubuntu-latest
21
21
  strategy:
22
22
  matrix:
@@ -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.8.0
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
@@ -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
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Telnyx
4
+ class QueueCall < APIResource
5
+ OBJECT_NAME = "queue_call".freeze
6
+ end
7
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Telnyx
4
- VERSION = "2.8.0".freeze
4
+ VERSION = "2.9.0".freeze
5
5
  end
@@ -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.8.0
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-07-30 00:00:00.000000000 Z
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.2.15
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