vonage 7.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (60) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +190 -0
  3. data/README.md +191 -0
  4. data/lib/vonage.rb +29 -0
  5. data/lib/vonage/abstract_authentication.rb +9 -0
  6. data/lib/vonage/account.rb +61 -0
  7. data/lib/vonage/alerts.rb +72 -0
  8. data/lib/vonage/applications.rb +148 -0
  9. data/lib/vonage/applications/list_response.rb +11 -0
  10. data/lib/vonage/authentication_error.rb +6 -0
  11. data/lib/vonage/basic.rb +13 -0
  12. data/lib/vonage/bearer_token.rb +14 -0
  13. data/lib/vonage/client.rb +134 -0
  14. data/lib/vonage/client_error.rb +6 -0
  15. data/lib/vonage/config.rb +208 -0
  16. data/lib/vonage/conversations.rb +210 -0
  17. data/lib/vonage/conversations/events.rb +73 -0
  18. data/lib/vonage/conversations/legs.rb +30 -0
  19. data/lib/vonage/conversations/members.rb +104 -0
  20. data/lib/vonage/conversations/users.rb +93 -0
  21. data/lib/vonage/conversions.rb +19 -0
  22. data/lib/vonage/entity.rb +51 -0
  23. data/lib/vonage/error.rb +6 -0
  24. data/lib/vonage/errors.rb +51 -0
  25. data/lib/vonage/files.rb +26 -0
  26. data/lib/vonage/form_data.rb +11 -0
  27. data/lib/vonage/gsm7.rb +13 -0
  28. data/lib/vonage/http.rb +43 -0
  29. data/lib/vonage/json.rb +17 -0
  30. data/lib/vonage/jwt.rb +43 -0
  31. data/lib/vonage/key_secret_params.rb +20 -0
  32. data/lib/vonage/keys.rb +51 -0
  33. data/lib/vonage/logger.rb +60 -0
  34. data/lib/vonage/messages.rb +25 -0
  35. data/lib/vonage/namespace.rb +118 -0
  36. data/lib/vonage/number_insight.rb +140 -0
  37. data/lib/vonage/numbers.rb +196 -0
  38. data/lib/vonage/numbers/list_response.rb +11 -0
  39. data/lib/vonage/numbers/response.rb +8 -0
  40. data/lib/vonage/params.rb +27 -0
  41. data/lib/vonage/pricing.rb +30 -0
  42. data/lib/vonage/pricing_types.rb +18 -0
  43. data/lib/vonage/redact.rb +37 -0
  44. data/lib/vonage/response.rb +25 -0
  45. data/lib/vonage/secrets.rb +85 -0
  46. data/lib/vonage/secrets/list_response.rb +11 -0
  47. data/lib/vonage/server_error.rb +6 -0
  48. data/lib/vonage/signature.rb +53 -0
  49. data/lib/vonage/sms.rb +121 -0
  50. data/lib/vonage/tfa.rb +14 -0
  51. data/lib/vonage/user_agent.rb +16 -0
  52. data/lib/vonage/verify.rb +253 -0
  53. data/lib/vonage/version.rb +5 -0
  54. data/lib/vonage/voice.rb +250 -0
  55. data/lib/vonage/voice/dtmf.rb +26 -0
  56. data/lib/vonage/voice/list_response.rb +11 -0
  57. data/lib/vonage/voice/stream.rb +44 -0
  58. data/lib/vonage/voice/talk.rb +48 -0
  59. data/vonage.gemspec +26 -0
  60. metadata +155 -0
@@ -0,0 +1,26 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ module Vonage
5
+ class Voice::DTMF < Namespace
6
+ self.authentication = BearerToken
7
+
8
+ self.request_body = JSON
9
+
10
+ # Play DTMF tones into a call.
11
+ #
12
+ # @option params [String] :digits
13
+ # The digits to send.
14
+ #
15
+ # @param [String] id
16
+ # @param [Hash] params
17
+ #
18
+ # @return [Response]
19
+ #
20
+ # @see https://developer.nexmo.com/api/voice#startDTMF
21
+ #
22
+ def send(id, params)
23
+ request('/v1/calls/' + id + '/dtmf', params: params, type: Put)
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,11 @@
1
+ # typed: ignore
2
+
3
+ class Vonage::Voice::ListResponse < Vonage::Response
4
+ include Enumerable
5
+
6
+ def each
7
+ return enum_for(:each) unless block_given?
8
+
9
+ @entity._embedded.calls.each { |item| yield item }
10
+ end
11
+ end
@@ -0,0 +1,44 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ module Vonage
5
+ class Voice::Stream < Namespace
6
+ self.authentication = BearerToken
7
+
8
+ self.request_body = JSON
9
+
10
+ # Play an audio file into a call.
11
+ #
12
+ # @option params [required, Array<String>] :stream_url
13
+ # URL of the audio file.
14
+ #
15
+ # @option params [Integer] :loop
16
+ # The number of times to play the file, 0 for infinite.
17
+ #
18
+ # @option params [String] :level
19
+ # Set the audio level of the stream in the range -1 >= level <= 1 with a precision of 0.1. The default value is 0.
20
+ #
21
+ # @param [String] id
22
+ # @param [Hash] params
23
+ #
24
+ # @return [Response]
25
+ #
26
+ # @see https://developer.nexmo.com/api/voice#startStream
27
+ #
28
+ def start(id, params)
29
+ request('/v1/calls/' + id + '/stream', params: params, type: Put)
30
+ end
31
+
32
+ # Stop playing an audio file into a call.
33
+ #
34
+ # @param [String] id
35
+ #
36
+ # @return [Response]
37
+ #
38
+ # @see https://developer.nexmo.com/api/voice#stopStream
39
+ #
40
+ def stop(id)
41
+ request('/v1/calls/' + id + '/stream', type: Delete)
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,48 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ module Vonage
5
+ class Voice::Talk < Namespace
6
+ self.authentication = BearerToken
7
+
8
+ self.request_body = JSON
9
+
10
+ # Play text to speech into a call.
11
+ #
12
+ # @option params [required, String] :text
13
+ # The text to read.
14
+ #
15
+ # @option params [String] :voice_name
16
+ # The voice & language to use.
17
+ #
18
+ # @option params [Integer] :loop
19
+ # The number of times to repeat the text the file, 0 for infinite.
20
+ #
21
+ # @option params [String] :level
22
+ # The volume level that the speech is played.
23
+ # This can be any value between `-1` to `1` in `0.1` increments, with `0` being the default.
24
+ #
25
+ # @param [String] id
26
+ # @param [Hash] params
27
+ #
28
+ # @return [Response]
29
+ #
30
+ # @see https://developer.nexmo.com/api/voice#startTalk
31
+ #
32
+ def start(id, params)
33
+ request('/v1/calls/' + id + '/talk', params: params, type: Put)
34
+ end
35
+
36
+ # Stop text to speech in a call.
37
+ #
38
+ # @param [String] id
39
+ #
40
+ # @return [Response]
41
+ #
42
+ # @see https://developer.nexmo.com/api/voice#stopTalk
43
+ #
44
+ def stop(id)
45
+ request('/v1/calls/' + id + '/talk', type: Delete)
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,26 @@
1
+ require File.expand_path('lib/vonage/version', File.dirname(__FILE__))
2
+
3
+ Gem::Specification.new do |s|
4
+ s.name = 'vonage'
5
+ s.version = Vonage::VERSION
6
+ s.license = 'Apache-2.0'
7
+ s.platform = Gem::Platform::RUBY
8
+ s.authors = ['Vonage']
9
+ s.email = ['devrel@vonage.com']
10
+ s.homepage = 'https://github.com/Vonage/vonage-ruby-sdk'
11
+ s.description = 'Vonage Server SDK for Ruby'
12
+ s.summary = 'This is the Ruby Server SDK for Vonage APIs. To use it you\'ll need a Vonage account. Sign up for free at https://www.vonage.com'
13
+ s.files = Dir.glob('lib/**/*.rb') + %w(LICENSE.txt README.md vonage.gemspec)
14
+ s.required_ruby_version = '>= 2.5.0'
15
+ s.add_dependency('nexmo-jwt', '~> 0.1.1')
16
+ s.add_dependency('zeitwerk', '~> 2', '>= 2.2')
17
+ s.add_dependency('sorbet-runtime', '~> 0.5')
18
+ s.require_path = 'lib'
19
+ s.metadata = {
20
+ 'homepage' => 'https://github.com/Vonage/vonage-ruby-sdk',
21
+ 'source_code_uri' => 'https://github.com/Vonage/vonage-ruby-sdk',
22
+ 'bug_tracker_uri' => 'https://github.com/Vonage/vonage-ruby-sdk/issues',
23
+ 'changelog_uri' => 'https://github.com/Vonage/vonage-ruby-sdk/blob/master/CHANGES.md',
24
+ 'documentation_uri' => 'https://www.rubydoc.info/github/vonage/vonage-ruby-sdk'
25
+ }
26
+ end
metadata ADDED
@@ -0,0 +1,155 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: vonage
3
+ version: !ruby/object:Gem::Version
4
+ version: 7.2.0
5
+ platform: ruby
6
+ authors:
7
+ - Vonage
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2020-09-09 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: nexmo-jwt
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 0.1.1
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 0.1.1
27
+ - !ruby/object:Gem::Dependency
28
+ name: zeitwerk
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '2'
34
+ - - ">="
35
+ - !ruby/object:Gem::Version
36
+ version: '2.2'
37
+ type: :runtime
38
+ prerelease: false
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - "~>"
42
+ - !ruby/object:Gem::Version
43
+ version: '2'
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: '2.2'
47
+ - !ruby/object:Gem::Dependency
48
+ name: sorbet-runtime
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '0.5'
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '0.5'
61
+ description: Vonage Server SDK for Ruby
62
+ email:
63
+ - devrel@vonage.com
64
+ executables: []
65
+ extensions: []
66
+ extra_rdoc_files: []
67
+ files:
68
+ - LICENSE.txt
69
+ - README.md
70
+ - lib/vonage.rb
71
+ - lib/vonage/abstract_authentication.rb
72
+ - lib/vonage/account.rb
73
+ - lib/vonage/alerts.rb
74
+ - lib/vonage/applications.rb
75
+ - lib/vonage/applications/list_response.rb
76
+ - lib/vonage/authentication_error.rb
77
+ - lib/vonage/basic.rb
78
+ - lib/vonage/bearer_token.rb
79
+ - lib/vonage/client.rb
80
+ - lib/vonage/client_error.rb
81
+ - lib/vonage/config.rb
82
+ - lib/vonage/conversations.rb
83
+ - lib/vonage/conversations/events.rb
84
+ - lib/vonage/conversations/legs.rb
85
+ - lib/vonage/conversations/members.rb
86
+ - lib/vonage/conversations/users.rb
87
+ - lib/vonage/conversions.rb
88
+ - lib/vonage/entity.rb
89
+ - lib/vonage/error.rb
90
+ - lib/vonage/errors.rb
91
+ - lib/vonage/files.rb
92
+ - lib/vonage/form_data.rb
93
+ - lib/vonage/gsm7.rb
94
+ - lib/vonage/http.rb
95
+ - lib/vonage/json.rb
96
+ - lib/vonage/jwt.rb
97
+ - lib/vonage/key_secret_params.rb
98
+ - lib/vonage/keys.rb
99
+ - lib/vonage/logger.rb
100
+ - lib/vonage/messages.rb
101
+ - lib/vonage/namespace.rb
102
+ - lib/vonage/number_insight.rb
103
+ - lib/vonage/numbers.rb
104
+ - lib/vonage/numbers/list_response.rb
105
+ - lib/vonage/numbers/response.rb
106
+ - lib/vonage/params.rb
107
+ - lib/vonage/pricing.rb
108
+ - lib/vonage/pricing_types.rb
109
+ - lib/vonage/redact.rb
110
+ - lib/vonage/response.rb
111
+ - lib/vonage/secrets.rb
112
+ - lib/vonage/secrets/list_response.rb
113
+ - lib/vonage/server_error.rb
114
+ - lib/vonage/signature.rb
115
+ - lib/vonage/sms.rb
116
+ - lib/vonage/tfa.rb
117
+ - lib/vonage/user_agent.rb
118
+ - lib/vonage/verify.rb
119
+ - lib/vonage/version.rb
120
+ - lib/vonage/voice.rb
121
+ - lib/vonage/voice/dtmf.rb
122
+ - lib/vonage/voice/list_response.rb
123
+ - lib/vonage/voice/stream.rb
124
+ - lib/vonage/voice/talk.rb
125
+ - vonage.gemspec
126
+ homepage: https://github.com/Vonage/vonage-ruby-sdk
127
+ licenses:
128
+ - Apache-2.0
129
+ metadata:
130
+ homepage: https://github.com/Vonage/vonage-ruby-sdk
131
+ source_code_uri: https://github.com/Vonage/vonage-ruby-sdk
132
+ bug_tracker_uri: https://github.com/Vonage/vonage-ruby-sdk/issues
133
+ changelog_uri: https://github.com/Vonage/vonage-ruby-sdk/blob/master/CHANGES.md
134
+ documentation_uri: https://www.rubydoc.info/github/vonage/vonage-ruby-sdk
135
+ post_install_message:
136
+ rdoc_options: []
137
+ require_paths:
138
+ - lib
139
+ required_ruby_version: !ruby/object:Gem::Requirement
140
+ requirements:
141
+ - - ">="
142
+ - !ruby/object:Gem::Version
143
+ version: 2.5.0
144
+ required_rubygems_version: !ruby/object:Gem::Requirement
145
+ requirements:
146
+ - - ">="
147
+ - !ruby/object:Gem::Version
148
+ version: '0'
149
+ requirements: []
150
+ rubygems_version: 3.0.0
151
+ signing_key:
152
+ specification_version: 4
153
+ summary: This is the Ruby Server SDK for Vonage APIs. To use it you'll need a Vonage
154
+ account. Sign up for free at https://www.vonage.com
155
+ test_files: []