telnyx 2.9.0 → 3.0.1

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 (211) hide show
  1. checksums.yaml +4 -4
  2. data/.github/scripts/before_install.sh +10 -9
  3. data/.github/workflows/publish-gem-on-release.yml +6 -6
  4. data/.github/workflows/ruby.yml +4 -4
  5. data/.rubocop.yml +1 -1
  6. data/Gemfile +7 -8
  7. data/README.md +30 -9
  8. data/Spec3.json +77839 -0
  9. data/VERSION +1 -1
  10. data/lib/telnyx/access_control_ip.rb +13 -0
  11. data/lib/telnyx/access_ip_range.rb +12 -0
  12. data/lib/telnyx/address.rb +9 -0
  13. data/lib/telnyx/api_operations/delete.rb +1 -1
  14. data/lib/telnyx/api_resource.rb +4 -1
  15. data/lib/telnyx/authentication_providers.rb +12 -0
  16. data/lib/telnyx/available_phone_number.rb +5 -0
  17. data/lib/telnyx/balance.rb +12 -0
  18. data/lib/telnyx/batch_mdr_report.rb +15 -0
  19. data/lib/telnyx/brand.rb +20 -0
  20. data/lib/telnyx/bulk_creation.rb +21 -0
  21. data/lib/telnyx/bulk_credential.rb +16 -0
  22. data/lib/telnyx/bulk_phone_number_campaign.rb +23 -0
  23. data/lib/telnyx/bulk_sim_card_action.rb +9 -0
  24. data/lib/telnyx/business_identitie.rb +9 -0
  25. data/lib/telnyx/call.rb +2 -2
  26. data/lib/telnyx/call_event.rb +9 -0
  27. data/lib/telnyx/call_recording.rb +12 -0
  28. data/lib/telnyx/campaign.rb +42 -0
  29. data/lib/telnyx/cdr_usage_report.rb +13 -0
  30. data/lib/telnyx/channel_zone.rb +10 -0
  31. data/lib/telnyx/comment.rb +20 -0
  32. data/lib/telnyx/conference.rb +1 -1
  33. data/lib/telnyx/connection.rb +5 -0
  34. data/lib/telnyx/csv_download.rb +10 -0
  35. data/lib/telnyx/custom_storage_credential.rb +7 -0
  36. data/lib/telnyx/detail_record.rb +9 -0
  37. data/lib/telnyx/dialogflow_connection.rb +20 -0
  38. data/lib/telnyx/document.rb +20 -0
  39. data/lib/telnyx/dynamic_emergency_address.rb +12 -0
  40. data/lib/telnyx/dynamic_emergency_endpoint.rb +12 -0
  41. data/lib/telnyx/embedding.rb +14 -0
  42. data/lib/telnyx/enum.rb +22 -0
  43. data/lib/telnyx/fax.rb +14 -0
  44. data/lib/telnyx/global_ip.rb +10 -0
  45. data/lib/telnyx/global_ip_allowed_port.rb +8 -0
  46. data/lib/telnyx/global_ip_assignment.rb +12 -0
  47. data/lib/telnyx/global_ip_assignment_health.rb +8 -0
  48. data/lib/telnyx/global_ip_assignment_usage.rb +8 -0
  49. data/lib/telnyx/global_ip_latency.rb +8 -0
  50. data/lib/telnyx/global_ip_protocol.rb +8 -0
  51. data/lib/telnyx/global_ip_usage.rb +8 -0
  52. data/lib/telnyx/inference.rb +9 -0
  53. data/lib/telnyx/inventory_coverage.rb +9 -0
  54. data/lib/telnyx/ledger_billing_group_report.rb +9 -0
  55. data/lib/telnyx/managed_account.rb +32 -0
  56. data/lib/telnyx/mdr_usage_report.rb +21 -0
  57. data/lib/telnyx/media.rb +21 -0
  58. data/lib/telnyx/message_number_pool.rb +9 -0
  59. data/lib/telnyx/messaging_hosted_number_order.rb +21 -0
  60. data/lib/telnyx/messaging_profile.rb +14 -2
  61. data/lib/telnyx/messaging_tollfree_verification.rb +12 -0
  62. data/lib/telnyx/messaging_url_domain.rb +9 -0
  63. data/lib/telnyx/mobile_operator_network.rb +9 -0
  64. data/lib/telnyx/mobile_push_credential.rb +11 -0
  65. data/lib/telnyx/network.rb +19 -0
  66. data/lib/telnyx/notification_channel.rb +12 -0
  67. data/lib/telnyx/notification_event.rb +9 -0
  68. data/lib/telnyx/notification_event_condition.rb +9 -0
  69. data/lib/telnyx/notification_profile.rb +12 -0
  70. data/lib/telnyx/notification_setting.rb +12 -0
  71. data/lib/telnyx/number_block_order.rb +10 -0
  72. data/lib/telnyx/ota_update.rb +9 -0
  73. data/lib/telnyx/partner_campaign.rb +32 -0
  74. data/lib/telnyx/phone_number.rb +6 -0
  75. data/lib/telnyx/phone_number_block_job.rb +14 -0
  76. data/lib/telnyx/phone_number_campaigns.rb +19 -0
  77. data/lib/telnyx/portability_check.rb +9 -0
  78. data/lib/telnyx/porting_order.rb +39 -1
  79. data/lib/telnyx/portout.rb +9 -0
  80. data/lib/telnyx/private_wireless_gateway.rb +11 -0
  81. data/lib/telnyx/public_internet_gateway.rb +11 -0
  82. data/lib/telnyx/region.rb +9 -0
  83. data/lib/telnyx/requirement.rb +8 -0
  84. data/lib/telnyx/requirement_type.rb +8 -0
  85. data/lib/telnyx/room.rb +20 -0
  86. data/lib/telnyx/room_composition.rb +11 -0
  87. data/lib/telnyx/room_participant.rb +9 -0
  88. data/lib/telnyx/room_recording.rb +10 -0
  89. data/lib/telnyx/room_session.rb +18 -0
  90. data/lib/telnyx/short_code.rb +10 -0
  91. data/lib/telnyx/sim_card.rb +28 -2
  92. data/lib/telnyx/sim_card_action.rb +12 -0
  93. data/lib/telnyx/sim_card_data_usage_notification.rb +12 -0
  94. data/lib/telnyx/sim_card_group.rb +21 -0
  95. data/lib/telnyx/sim_card_group_action.rb +8 -0
  96. data/lib/telnyx/sim_card_order.rb +10 -0
  97. data/lib/telnyx/summary.rb +9 -0
  98. data/lib/telnyx/telephony_credential.rb +22 -0
  99. data/lib/telnyx/telnyx_client.rb +1 -2
  100. data/lib/telnyx/texml_application.rb +9 -0
  101. data/lib/telnyx/verification.rb +3 -3
  102. data/lib/telnyx/verified_calls_display_profile.rb +17 -0
  103. data/lib/telnyx/verify_profile.rb +1 -0
  104. data/lib/telnyx/version.rb +1 -1
  105. data/lib/telnyx/virtual_cross_connect.rb +20 -0
  106. data/lib/telnyx/virtual_cross_connect_region.rb +9 -0
  107. data/lib/telnyx/wdr.rb +13 -0
  108. data/lib/telnyx/webhook_deliverie.rb +9 -0
  109. data/lib/telnyx/wireguard_interface.rb +11 -0
  110. data/lib/telnyx/wireguard_peer.rb +21 -0
  111. data/lib/telnyx.rb +67 -3
  112. data/server.js +31 -0
  113. data/telnyx.gemspec +4 -2
  114. data/test/openapi/README.md +31 -4
  115. data/test/telnyx/api_resource_test.rb +28 -22
  116. data/test/telnyx/available_phone_number_test.rb +6 -0
  117. data/test/telnyx/batch_mdr_report_test.rb +39 -0
  118. data/test/telnyx/billing_group_test.rb +12 -8
  119. data/test/telnyx/bulk_credential_test.rb +20 -0
  120. data/test/telnyx/bulk_sim_card_action_test.rb +22 -0
  121. data/test/telnyx/business_identitie_test.rb +25 -0
  122. data/test/telnyx/call_control_application_test.rb +13 -9
  123. data/test/telnyx/call_control_test.rb +24 -23
  124. data/test/telnyx/call_event_test.rb +14 -0
  125. data/test/telnyx/call_recording_test.rb +28 -0
  126. data/test/telnyx/call_test.rb +29 -0
  127. data/test/telnyx/campaign_test.rb +32 -0
  128. data/test/telnyx/cdr_usage_report_test.rb +15 -0
  129. data/test/telnyx/channel_zone_test.rb +14 -0
  130. data/test/telnyx/comment_test.rb +32 -0
  131. data/test/telnyx/conference_test.rb +27 -16
  132. data/test/telnyx/connection_test.rb +8 -1
  133. data/test/telnyx/credential_connection_test.rb +5 -4
  134. data/test/telnyx/csv_download_test.rb +33 -0
  135. data/test/telnyx/custom_storage_credential_test.rb +17 -0
  136. data/test/telnyx/detail_record_test.rb +15 -0
  137. data/test/telnyx/dialogflow_connection_test.rb +32 -0
  138. data/test/telnyx/embedding_test.rb +27 -0
  139. data/test/telnyx/enum_test.rb +15 -0
  140. data/test/telnyx/fax_application_test.rb +5 -4
  141. data/test/telnyx/fax_test.rb +13 -4
  142. data/test/telnyx/fqdn_connection_test.rb +5 -5
  143. data/test/telnyx/fqdn_test.rb +12 -7
  144. data/test/telnyx/global_ip_allowed_port_test.rb +14 -0
  145. data/test/telnyx/global_ip_assignment_health_test.rb +14 -0
  146. data/test/telnyx/global_ip_assignment_test.rb +44 -0
  147. data/test/telnyx/global_ip_latency_test.rb +14 -0
  148. data/test/telnyx/global_ip_protocol_test.rb +14 -0
  149. data/test/telnyx/global_ip_test.rb +35 -0
  150. data/test/telnyx/global_ip_usage_test.rb +14 -0
  151. data/test/telnyx/inference_test.rb +13 -0
  152. data/test/telnyx/ip_connection_test.rb +12 -8
  153. data/test/telnyx/ip_test.rb +12 -8
  154. data/test/telnyx/ledger_billing_group_report_test.rb +18 -0
  155. data/test/telnyx/managed_account_test.rb +42 -0
  156. data/test/telnyx/mdr_usage_report_test.rb +47 -0
  157. data/test/telnyx/message_number_pool_test.rb +18 -0
  158. data/test/telnyx/message_test.rb +2 -2
  159. data/test/telnyx/messaging_phone_number_test.rb +2 -1
  160. data/test/telnyx/messaging_profile_test.rb +27 -14
  161. data/test/telnyx/messaging_tollfree_verification_test.rb +71 -0
  162. data/test/telnyx/messaging_url_domain_test.rb +14 -0
  163. data/test/telnyx/mobile_operator_network_test.rb +15 -0
  164. data/test/telnyx/mobile_push_credential_test.rb +33 -0
  165. data/test/telnyx/network_test.rb +49 -0
  166. data/test/telnyx/number_block_order_test.rb +28 -0
  167. data/test/telnyx/number_order_document_test.rb +4 -3
  168. data/test/telnyx/number_order_test.rb +3 -2
  169. data/test/telnyx/number_reservation_test.rb +2 -2
  170. data/test/telnyx/ota_update_test.rb +20 -0
  171. data/test/telnyx/phone_number_block_job_test.rb +25 -0
  172. data/test/telnyx/phone_number_regulatory_requirement_test.rb +2 -1
  173. data/test/telnyx/phone_number_test.rb +8 -6
  174. data/test/telnyx/porting_order_test.rb +45 -10
  175. data/test/telnyx/private_wireless_gateway_test.rb +32 -0
  176. data/test/telnyx/public_internet_gateway_test.rb +32 -0
  177. data/test/telnyx/queue_test.rb +9 -6
  178. data/test/telnyx/region_test.rb +14 -0
  179. data/test/telnyx/regulatory_requirement_test.rb +6 -3
  180. data/test/telnyx/requirement_test.rb +22 -0
  181. data/test/telnyx/requirement_type_test.rb +22 -0
  182. data/test/telnyx/room_composition_test.rb +32 -0
  183. data/test/telnyx/room_participant_test.rb +19 -0
  184. data/test/telnyx/room_recording_test.rb +27 -0
  185. data/test/telnyx/room_session_test.rb +47 -0
  186. data/test/telnyx/room_test.rb +52 -0
  187. data/test/telnyx/short_code_test.rb +30 -0
  188. data/test/telnyx/sim_card_data_usage_notification_test.rb +42 -0
  189. data/test/telnyx/sim_card_group_action_test.rb +22 -0
  190. data/test/telnyx/sim_card_group_test.rb +59 -0
  191. data/test/telnyx/sim_card_order_test.rb +27 -0
  192. data/test/telnyx/sim_card_test.rb +75 -10
  193. data/test/telnyx/summary_test.rb +13 -0
  194. data/test/telnyx/telephony_credential_test.rb +35 -6
  195. data/test/telnyx/telnyx_client_test.rb +1 -0
  196. data/test/telnyx/texml_application_test.rb +25 -0
  197. data/test/telnyx/verification_test.rb +6 -4
  198. data/test/telnyx/verified_calls_display_profile_test.rb +33 -0
  199. data/test/telnyx/verify_profile_test.rb +16 -7
  200. data/test/telnyx/virtual_cross_connect_region_test.rb +22 -0
  201. data/test/telnyx/virtual_cross_connect_test.rb +49 -0
  202. data/test/telnyx/wdr_test.rb +14 -0
  203. data/test/telnyx/webhook_deliverie_test.rb +23 -0
  204. data/test/telnyx/wireguard_interface_test.rb +32 -0
  205. data/test/telnyx/wireguard_peer_test.rb +48 -0
  206. data/test/test_helper.rb +10 -26
  207. metadata +237 -37
  208. data/examples/2 factor authentication/Gemfile +0 -7
  209. data/examples/2 factor authentication/main.rb +0 -67
  210. data/examples/2 factor authentication/readme.md +0 -5
  211. data/test/telnyx_mock.rb +0 -78
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 504ff2b58e1248f7eee2afa238840a697801c8b2902bf855555a985da8f3cc8f
4
- data.tar.gz: 3d0af87ebaf35d13ca71f14413ee4812998f20f760aa3a95de9f02b20d062b9e
3
+ metadata.gz: 376968210a18b186842e09502d609745e3963dbc7ddf49d448d03dda25db0cc8
4
+ data.tar.gz: 88a8c155c4ce02bb1c33cc139085fe3799002ff445167fedc8b7a4378784c5cf
5
5
  SHA512:
6
- metadata.gz: ad5cf92920604d3e56500da6541320476be81b0a44d266b38a5eb8e530a0b61008ac29900823f8dea4d06914b4982fdedb18217d05703b38b014c2f8e4d623ce
7
- data.tar.gz: 94e8ec89aaf27fc2d8176684ec60a35edf8f9389b4a08b90f25a5f75e12d02cd131cc16632bf6ff7db24cd28bcd30404cdabea7d38620162bab6d4998433c719
6
+ metadata.gz: 69972be7da6195f6982a781d73c0da4ac9bc0a0076e9fb5b36920aa95573070e05fd6cd866f347f689ecbc7f5eb07d0ed1c03687c56ba2caff06ad70b669e280
7
+ data.tar.gz: 3bf737aa98ba4f83500399b7f1d3166d3c2c025f528d2e743fca12752e68a38e597b8750bdc5250944cf6376de9d936879a235647eb8cfe03ad22278d2d2da3b
@@ -1,9 +1,10 @@
1
- gem install bundler -v "~> 1.0"
2
- if [ ! -d "telnyx-mock/telnyx-mock_${TELNYX_MOCK_VERSION}" ]; then
3
- mkdir -p telnyx-mock/${TELNYX_MOCK_VERSION}/
4
- curl -L "https://github.com/team-telnyx/telnyx-mock/releases/download/v${TELNYX_MOCK_VERSION}/telnyx-mock_${TELNYX_MOCK_VERSION}_linux_amd64.tar.gz" -o "telnyx-mock/telnyx-mock_${TELNYX_MOCK_VERSION}_linux_amd64.tar.gz"
5
- tar -zxf "telnyx-mock/telnyx-mock_${TELNYX_MOCK_VERSION}_linux_amd64.tar.gz" -C "telnyx-mock/${TELNYX_MOCK_VERSION}/"
6
- fi
7
- telnyx-mock/${TELNYX_MOCK_VERSION}/telnyx-mock > /dev/null &
8
- TELNYX_MOCK_PID=$!
9
- export PATH="${PATH}:${PWD}/telnyx-mock/${TELNYX_MOCK_VERSION}"
1
+ npm install -g @stoplight/prism-cli
2
+
3
+ echo "Starting up Prism Mock Server with spec file at ${TELNYX_MOCK_OPEN_API_URI}"
4
+ prism mock ${TELNYX_MOCK_OPEN_API_URI} > /dev/null &
5
+
6
+ git clone https://github.com/team-telnyx/telnyx-prism-mock.git
7
+ cd telnyx-prism-mock/proxy
8
+ npm install
9
+ node index.js > /dev/null &
10
+ cd -
@@ -5,13 +5,13 @@ on:
5
5
  jobs:
6
6
  test:
7
7
  env:
8
- TELNYX_MOCK_VERSION: 0.8.13
8
+ TELNYX_MOCK_OPEN_API_URI: https://raw.githubusercontent.com/team-telnyx/openapi/master/openapi/spec3.json
9
9
  runs-on: ubuntu-latest
10
10
  strategy:
11
11
  matrix:
12
- ruby: [ '2.5', '2.6', '2.7', '3.0' ]
12
+ ruby: [ '3.0', '3.1', '3.2' ]
13
13
  steps:
14
- - uses: actions/checkout@v2
14
+ - uses: actions/checkout@v4
15
15
  - name: Set up Ruby
16
16
  # To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
17
17
  # change this to (see https://github.com/ruby/setup-ruby#versioning):
@@ -19,7 +19,7 @@ jobs:
19
19
  uses: ruby/setup-ruby@v1
20
20
  with:
21
21
  ruby-version: ${{ matrix.ruby }}
22
- - name: Run Setup Script to install mock
22
+ - name: Run Setup Script to install prism mock
23
23
  run: source ./.github/scripts/before_install.sh
24
24
  shell: bash
25
25
  - name: Install dependencies
@@ -36,10 +36,10 @@ jobs:
36
36
  contents: read
37
37
  steps:
38
38
  - uses: actions/checkout@v2
39
- - name: Set up Ruby 2.6
39
+ - name: Set up Ruby 3.0
40
40
  uses: ruby/setup-ruby@477b21f02be01bcb8030d50f37cfec92bfa615b6
41
41
  with:
42
- ruby-version: 2.6
42
+ ruby-version: 3.0
43
43
  - run: bundle install
44
44
  - name: Publish to RubyGems
45
45
  run: |
@@ -16,13 +16,13 @@ on:
16
16
  jobs:
17
17
  test:
18
18
  env:
19
- TELNYX_MOCK_VERSION: 0.8.14
19
+ TELNYX_MOCK_OPEN_API_URI: https://raw.githubusercontent.com/team-telnyx/openapi/master/openapi/spec3.json
20
20
  runs-on: ubuntu-latest
21
21
  strategy:
22
22
  matrix:
23
- ruby: [ '2.5', '2.6', '2.7', '3.0' ]
23
+ ruby: [ '3.0', '3.1', '3.2' ]
24
24
  steps:
25
- - uses: actions/checkout@v2
25
+ - uses: actions/checkout@v4
26
26
  - name: Set up Ruby
27
27
  # To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
28
28
  # change this to (see https://github.com/ruby/setup-ruby#versioning):
@@ -30,7 +30,7 @@ jobs:
30
30
  uses: ruby/setup-ruby@v1
31
31
  with:
32
32
  ruby-version: ${{ matrix.ruby }}
33
- - name: Run Setup Script to install mock
33
+ - name: Run Setup Script to install prism mock
34
34
  run: source ./.github/scripts/before_install.sh
35
35
  shell: bash
36
36
  - name: Install dependencies
data/.rubocop.yml CHANGED
@@ -3,7 +3,7 @@ inherit_from: .rubocop_todo.yml
3
3
 
4
4
  AllCops:
5
5
  DisplayCopNames: true
6
- TargetRubyVersion: 2.7
6
+ TargetRubyVersion: 3.0
7
7
  NewCops: disable
8
8
 
9
9
  Layout/CaseIndentation:
data/Gemfile CHANGED
@@ -5,8 +5,11 @@ source "https://rubygems.org"
5
5
  gemspec
6
6
 
7
7
  group :development do
8
- gem "coveralls", require: false
9
- gem "faraday", "~> 1.0"
8
+ gem "coveralls_reborn", require: false
9
+ gem "faraday", "~> 2.5.0"
10
+ gem "faraday-multipart"
11
+ gem "faraday-net_http_persistent"
12
+ gem "faraday-retry"
10
13
  gem "mocha", "~> 0.13.2"
11
14
  gem "rake"
12
15
  gem "shoulda-context"
@@ -22,7 +25,7 @@ group :development do
22
25
  gem "guard"
23
26
  gem "guard-rake"
24
27
  gem "guard-rubocop"
25
- gem "rubocop", "~> 1.6"
28
+ gem "rubocop", "~> 1.60.2"
26
29
 
27
30
  # debugging
28
31
  # gem 'httplog' # when included logs all http requests
@@ -31,11 +34,7 @@ group :development do
31
34
  # Rack 2.0+ requires Ruby >= 2.2.2 which is problematic for the test suite on
32
35
  # older Ruby versions. Check Ruby the version here and put a maximum
33
36
  # constraint on Rack if necessary.
34
- if RUBY_VERSION >= "2.2.2"
35
- gem "rack", ">= 2.1.4"
36
- else
37
- gem "rack", ">= 1.6.11", "< 2.0" # rubocop:disable Bundler/DuplicatedGem
38
- end
37
+ gem "rack", ">= 2.2.8.1"
39
38
 
40
39
  platforms :mri do
41
40
  # gem "byebug"
data/README.md CHANGED
@@ -35,7 +35,7 @@ If you want to build the gem from source:
35
35
 
36
36
  ### Requirements
37
37
 
38
- * Ruby 2.1.0+
38
+ * Ruby 3.0.0+
39
39
 
40
40
  ### Bundler
41
41
 
@@ -161,12 +161,36 @@ There are a few options for enabling it:
161
161
 
162
162
  ## Development
163
163
 
164
- The test suite depends on [telnyx-mock], so make sure to fetch and run it from a
165
- background terminal ([telnyx-mock's README][telnyx-mock] also contains
166
- instructions for installing via Homebrew and other methods):
164
+ ### Setup
165
+ The test suite depends on the [Prism Mock Server](https://github.com/stoplightio/prism).
167
166
 
168
- go get -u github.com/telnyx/telnyx-mock
169
- telnyx-mock
167
+ ```bash
168
+ npm install -g @stoplight/prism-cli
169
+
170
+ # OR
171
+
172
+ yarn global add @stoplight/prism-cli
173
+ ```
174
+
175
+ Once installed, start the prism mock service with the following command:
176
+
177
+ ```bash
178
+ prism mock https://raw.githubusercontent.com/team-telnyx/openapi/master/openapi/spec3.json
179
+ ```
180
+
181
+ --------
182
+
183
+ One final step -- because the Ruby SDK originally expected to reach the legacy `telnyx-mock` service at port 12111 (in addition to providing a `/v2/` base path), we need to setup a proxy server.
184
+
185
+ You can do this any way you wish, but included is a server.js file which you can utilize:
186
+
187
+ ```bash
188
+ # In new terminal window
189
+
190
+ node server.js
191
+ ```
192
+
193
+ ### Running Tests
170
194
 
171
195
  Run all tests:
172
196
 
@@ -188,9 +212,6 @@ Run guard:
188
212
 
189
213
  bundle exec guard
190
214
 
191
- Update the bundled [telnyx-mock] by editing the version number found in
192
- `.travis.yml`.
193
-
194
215
  ### Adding a new resource
195
216
 
196
217
  To add a new resource: