plivo 0.3.19 → 4.0.0.beta.2

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 (50) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +14 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +10 -0
  5. data/AUTHORS.md +4 -0
  6. data/CHANGELOG.md +19 -0
  7. data/Gemfile +3 -0
  8. data/LICENSE.txt +19 -0
  9. data/README.md +105 -24
  10. data/Rakefile +7 -0
  11. data/lib/plivo.rb +9 -815
  12. data/lib/plivo/base.rb +9 -0
  13. data/lib/plivo/base/resource.rb +85 -0
  14. data/lib/plivo/base/resource_interface.rb +93 -0
  15. data/lib/plivo/base/response.rb +29 -0
  16. data/lib/plivo/exceptions.rb +50 -0
  17. data/lib/plivo/resources.rb +14 -0
  18. data/lib/plivo/resources/accounts.rb +174 -0
  19. data/lib/plivo/resources/applications.rb +233 -0
  20. data/lib/plivo/resources/calls.rb +492 -0
  21. data/lib/plivo/resources/conferences.rb +371 -0
  22. data/lib/plivo/resources/endpoints.rb +130 -0
  23. data/lib/plivo/resources/messages.rb +178 -0
  24. data/lib/plivo/resources/numbers.rb +302 -0
  25. data/lib/plivo/resources/pricings.rb +43 -0
  26. data/lib/plivo/resources/recordings.rb +114 -0
  27. data/lib/plivo/rest_client.rb +199 -0
  28. data/lib/plivo/utils.rb +107 -0
  29. data/lib/plivo/version.rb +3 -0
  30. data/lib/plivo/xml.rb +27 -0
  31. data/lib/plivo/xml/conference.rb +20 -0
  32. data/lib/plivo/xml/dial.rb +16 -0
  33. data/lib/plivo/xml/dtmf.rb +13 -0
  34. data/lib/plivo/xml/element.rb +83 -0
  35. data/lib/plivo/xml/get_digits.rb +15 -0
  36. data/lib/plivo/xml/hangup.rb +12 -0
  37. data/lib/plivo/xml/message.rb +13 -0
  38. data/lib/plivo/xml/number.rb +13 -0
  39. data/lib/plivo/xml/play.rb +13 -0
  40. data/lib/plivo/xml/plivo_xml.rb +19 -0
  41. data/lib/plivo/xml/pre_answer.rb +12 -0
  42. data/lib/plivo/xml/record.rb +17 -0
  43. data/lib/plivo/xml/redirect.rb +13 -0
  44. data/lib/plivo/xml/response.rb +21 -0
  45. data/lib/plivo/xml/speak.rb +17 -0
  46. data/lib/plivo/xml/user.rb +13 -0
  47. data/lib/plivo/xml/wait.rb +12 -0
  48. data/plivo.gemspec +44 -0
  49. metadata +134 -45
  50. data/ext/mkrf_conf.rb +0 -9
@@ -0,0 +1,3 @@
1
+ module Plivo
2
+ VERSION = '4.0.0.beta.2'.freeze
3
+ end
data/lib/plivo/xml.rb ADDED
@@ -0,0 +1,27 @@
1
+ require 'rexml/document'
2
+ require 'htmlentities'
3
+
4
+ require_relative 'xml/element'
5
+ require_relative 'xml/response'
6
+ require_relative 'xml/conference'
7
+ require_relative 'xml/dial'
8
+ require_relative 'xml/dtmf'
9
+ require_relative 'xml/get_digits'
10
+ require_relative 'xml/hangup'
11
+ require_relative 'xml/message'
12
+ require_relative 'xml/number'
13
+ require_relative 'xml/play'
14
+ require_relative 'xml/pre_answer'
15
+ require_relative 'xml/record'
16
+ require_relative 'xml/redirect'
17
+ require_relative 'xml/speak'
18
+ require_relative 'xml/user'
19
+ require_relative 'xml/wait'
20
+ require_relative 'xml/plivo_xml'
21
+
22
+ include Plivo::Exceptions
23
+
24
+ module Plivo
25
+ module XML
26
+ end
27
+ end
@@ -0,0 +1,20 @@
1
+ module Plivo
2
+ module XML
3
+ class Conference < Element
4
+ @nestables = []
5
+ @valid_attributes = %w[muted beep startConferenceOnEnter
6
+ endConferenceOnExit waitSound enterSound exitSound
7
+ timeLimit hangupOnStar maxMembers
8
+ record recordFileFormat action method redirect
9
+ digitsMatch callbackUrl callbackMethod
10
+ stayAlone floorEvent
11
+ transcriptionType transcriptionUrl
12
+ transcriptionMethod recordWhenAlone relayDTMF]
13
+
14
+ def initialize(body, attributes = {})
15
+ raise PlivoXMLError, 'No conference name set for Conference' unless body
16
+ super(body, attributes)
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,16 @@
1
+ module Plivo
2
+ module XML
3
+ class Dial < Element
4
+ @nestables = %w[Number User]
5
+ @valid_attributes = %w[action method timeout hangupOnStar
6
+ timeLimit callerId callerName confirmSound
7
+ dialMusic confirmKey redirect
8
+ callbackUrl callbackMethod digitsMatch digitsMatchBLeg
9
+ sipHeaders]
10
+
11
+ def initialize(attributes = {}, &block)
12
+ super(nil, attributes, &block)
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,13 @@
1
+ module Plivo
2
+ module XML
3
+ class DTMF < Element
4
+ @nestables = []
5
+ @valid_attributes = %w[async]
6
+
7
+ def initialize(body, attributes = {})
8
+ raise PlivoXMLError, 'No digits set for DTMF' unless body
9
+ super(body, attributes)
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,83 @@
1
+ module Plivo
2
+ module XML
3
+ class Element
4
+ class << self
5
+ attr_accessor :valid_attributes, :nestables
6
+ end
7
+ @nestables = []
8
+ @valid_attributes = []
9
+
10
+ attr_accessor :node, :name
11
+
12
+ def initialize(body = nil, attributes = {})
13
+ @name = self.class.name.split('::')[2]
14
+ @body = body
15
+ @node = REXML::Element.new @name
16
+ attributes.each do |k, v|
17
+ if self.class.valid_attributes.include?(k.to_s)
18
+ @node.attributes[k.to_s] = convert_value(v)
19
+ else
20
+ raise PlivoXMLError, "invalid attribute #{k} for #{@name}"
21
+ end
22
+ end
23
+
24
+ @node.text = @body if @body
25
+
26
+ # Allow for nested "nestable" elements using a code block
27
+ # ie
28
+ # Plivo::XML::Response.new do |r|
29
+ # r.Dial do |n|
30
+ # n.Number '+15557779999'
31
+ # end
32
+ # end
33
+ yield(self) if block_given?
34
+ end
35
+
36
+ def method_missing(method, *args, &block)
37
+ # Handle the addElement methods
38
+ method = Regexp.last_match(1).to_sym if method.to_s =~ /^add(.*)/
39
+ # Add the element
40
+ begin
41
+ add(Plivo::XML.const_get(method).new(*args, &block))
42
+ rescue StandardError => e
43
+ raise PlivoXMLError, e.message
44
+ end
45
+ end
46
+
47
+ def convert_value(v)
48
+ case v
49
+ when true
50
+ 'true'
51
+ when false
52
+ 'false'
53
+ when nil
54
+ 'none'
55
+ when 'get'
56
+ 'GET'
57
+ when 'post'
58
+ 'POST'
59
+ else
60
+ v
61
+ end
62
+ end
63
+
64
+ def add(element)
65
+ raise PlivoXMLError, 'invalid element' unless element
66
+ if self.class.nestables.include?(element.name)
67
+ @node.elements << element.node
68
+ element
69
+ else
70
+ raise PlivoXMLError, "#{element.name} not nestable in #{@name}"
71
+ end
72
+ end
73
+
74
+ def to_xml
75
+ @node.to_s
76
+ end
77
+
78
+ def to_s
79
+ @node.to_s
80
+ end
81
+ end
82
+ end
83
+ end
@@ -0,0 +1,15 @@
1
+ module Plivo
2
+ module XML
3
+ class GetDigits < Element
4
+ @nestables = %w[Speak Play Wait]
5
+ @valid_attributes = %w[action method timeout digitTimeout
6
+ numDigits retries invalidDigitsSound
7
+ validDigits playBeep redirect finishOnKey
8
+ digitTimeout log]
9
+
10
+ def initialize(attributes = {}, &block)
11
+ super(nil, attributes, &block)
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,12 @@
1
+ module Plivo
2
+ module XML
3
+ class Hangup < Element
4
+ @nestables = []
5
+ @valid_attributes = %w[schedule reason]
6
+
7
+ def initialize(attributes = {})
8
+ super(nil, attributes)
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,13 @@
1
+ module Plivo
2
+ module XML
3
+ class Message < Element
4
+ @nestables = []
5
+ @valid_attributes = %w[src dst type callbackUrl callbackMethod]
6
+
7
+ def initialize(body, attributes = {})
8
+ raise PlivoXMLError, 'No text set for Message' unless body
9
+ super(body, attributes)
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ module Plivo
2
+ module XML
3
+ class Number < Element
4
+ @nestables = []
5
+ @valid_attributes = %w[sendDigits sendOnPreanswer]
6
+
7
+ def initialize(body, attributes = {})
8
+ raise PlivoXMLError, 'No number set for Number' unless body
9
+ super(body, attributes)
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ module Plivo
2
+ module XML
3
+ class Play < Element
4
+ @nestables = []
5
+ @valid_attributes = %w[loop]
6
+
7
+ def initialize(body, attributes = {})
8
+ raise PlivoXMLError 'No url set for Play' unless body
9
+ super(body, attributes)
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,19 @@
1
+ module Plivo
2
+ module XML
3
+ class PlivoXML
4
+ attr_accessor :response
5
+
6
+ def initialize(response = nil)
7
+ response.nil? ? @response = Plivo::XML::Response.new : @response = response
8
+ end
9
+
10
+ def to_xml
11
+ '<?xml version="1.0" encoding="utf-8" ?>' + @response.to_xml
12
+ end
13
+
14
+ def to_s
15
+ '<?xml version="1.0" encoding="utf-8" ?>' + @response.to_s
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,12 @@
1
+ module Plivo
2
+ module XML
3
+ class PreAnswer < Element
4
+ @nestables = %w[Play Speak GetDigits Wait Redirect Message DTMF]
5
+ @valid_attributes = []
6
+
7
+ def initialize(attributes = {}, &block)
8
+ super(nil, attributes, &block)
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,17 @@
1
+ module Plivo
2
+ module XML
3
+ class Record < Element
4
+ @nestables = []
5
+ @valid_attributes = %w[action method timeout finishOnKey
6
+ maxLength playBeep recordSession
7
+ startOnDialAnswer redirect fileFormat
8
+ callbackUrl callbackMethod
9
+ transcriptionType transcriptionUrl
10
+ transcriptionMethod]
11
+
12
+ def initialize(attributes = {})
13
+ super(nil, attributes)
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,13 @@
1
+ module Plivo
2
+ module XML
3
+ class Redirect < Element
4
+ @nestables = []
5
+ @valid_attributes = ['method']
6
+
7
+ def initialize(body, attributes = {})
8
+ raise PlivoError 'No url set for Redirect' unless body
9
+ super(body, attributes)
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,21 @@
1
+ module Plivo
2
+ module XML
3
+ class Response < Element
4
+ @nestables = %w[Speak Play GetDigits Record Dial Message
5
+ Redirect Wait Hangup PreAnswer Conference DTMF]
6
+ @valid_attributes = []
7
+
8
+ def initialize
9
+ super(nil, {})
10
+ end
11
+
12
+ def to_xml
13
+ super()
14
+ end
15
+
16
+ def to_s
17
+ super()
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,17 @@
1
+ module Plivo
2
+ module XML
3
+ class Speak < Element
4
+ @nestables = []
5
+ @valid_attributes = %w[voice language loop]
6
+
7
+ def initialize(body, attributes = {})
8
+ if !body
9
+ raise PlivoXMLError, 'No text set for Speak'
10
+ else
11
+ body = HTMLEntities.new(:html4).encode(body, :decimal)
12
+ end
13
+ super(body, attributes)
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,13 @@
1
+ module Plivo
2
+ module XML
3
+ class User < Element
4
+ @nestables = []
5
+ @valid_attributes = %w[sendDigits sendOnPreanswer sipHeaders]
6
+
7
+ def initialize(body, attributes = {})
8
+ raise PlivoXMLError, 'No user set for User' unless body
9
+ super(body, attributes)
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,12 @@
1
+ module Plivo
2
+ module XML
3
+ class Wait < Element
4
+ @nestables = []
5
+ @valid_attributes = %w[length silence minSilence beep]
6
+
7
+ def initialize(attributes = {})
8
+ super(nil, attributes)
9
+ end
10
+ end
11
+ end
12
+ end
data/plivo.gemspec ADDED
@@ -0,0 +1,44 @@
1
+ # coding: utf-8
2
+
3
+ lib = File.expand_path('../lib', __FILE__)
4
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
+ require 'plivo/version'
6
+
7
+ Gem::Specification.new do |spec|
8
+ spec.name = 'plivo'
9
+ spec.version = Plivo::VERSION
10
+ spec.authors = ['The Plivo SDKs Team']
11
+ spec.email = ['sdks@plivo.com']
12
+
13
+ spec.summary = 'A Ruby SDK to make voice calls & send SMS using Plivo '\
14
+ 'and to generate Plivo XML'
15
+ spec.description = 'The Plivo Ruby SDK makes it simpler to integrate '\
16
+ 'communications into your Ruby applications using the '\
17
+ 'Plivo REST API. Using the SDK, you will be able to '\
18
+ 'make voice calls, send SMS and generate Plivo XML to '\
19
+ 'control your call flows.'\
20
+ ''\
21
+ 'See https://github.com/plivo/plivo-ruby for more information.'
22
+ spec.homepage = 'https://github.com/plivo/plivo-ruby'
23
+ spec.license = 'MIT'
24
+
25
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
26
+ f.match(%r{^(test|spec|features)/})
27
+ end
28
+
29
+ spec.bindir = 'bin'
30
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
31
+ spec.require_paths = ['lib']
32
+
33
+ spec.required_ruby_version = '>= 2.0.0'
34
+
35
+ spec.add_dependency 'faraday', '~> 0.9'
36
+ spec.add_dependency 'faraday_middleware', '~> 0.11.0.1'
37
+ spec.add_dependency 'htmlentities'
38
+
39
+ spec.add_development_dependency 'bundler', '~> 1.14'
40
+ spec.add_development_dependency 'rake', '~> 10.0'
41
+ spec.add_development_dependency 'rspec', '~> 3.0'
42
+ spec.add_development_dependency 'json'
43
+ spec.add_development_dependency 'simplecov'
44
+ end
metadata CHANGED
@@ -1,101 +1,189 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: plivo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.19
4
+ version: 4.0.0.beta.2
5
5
  platform: ruby
6
6
  authors:
7
- - Plivo Inc
7
+ - The Plivo SDKs Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-11-25 00:00:00.000000000 Z
11
+ date: 2017-10-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: builder
14
+ name: faraday
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 2.1.2
19
+ version: '0.9'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 2.1.2
26
+ version: '0.9'
27
27
  - !ruby/object:Gem::Dependency
28
- name: rest-client
28
+ name: faraday_middleware
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.6'
34
- - - ">="
35
- - !ruby/object:Gem::Version
36
- version: 1.6.7
33
+ version: 0.11.0.1
37
34
  type: :runtime
38
35
  prerelease: false
39
36
  version_requirements: !ruby/object:Gem::Requirement
40
37
  requirements:
41
38
  - - "~>"
42
39
  - !ruby/object:Gem::Version
43
- version: '1.6'
40
+ version: 0.11.0.1
41
+ - !ruby/object:Gem::Dependency
42
+ name: htmlentities
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
44
45
  - - ">="
45
46
  - !ruby/object:Gem::Version
46
- version: 1.6.7
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
47
55
  - !ruby/object:Gem::Dependency
48
- name: json
56
+ name: bundler
49
57
  requirement: !ruby/object:Gem::Requirement
50
58
  requirements:
51
59
  - - "~>"
52
60
  - !ruby/object:Gem::Version
53
- version: '1.6'
54
- - - ">="
55
- - !ruby/object:Gem::Version
56
- version: 1.6.6
57
- type: :runtime
61
+ version: '1.14'
62
+ type: :development
58
63
  prerelease: false
59
64
  version_requirements: !ruby/object:Gem::Requirement
60
65
  requirements:
61
66
  - - "~>"
62
67
  - !ruby/object:Gem::Version
63
- version: '1.6'
64
- - - ">="
68
+ version: '1.14'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rake
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
65
74
  - !ruby/object:Gem::Version
66
- version: 1.6.6
75
+ version: '10.0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '10.0'
67
83
  - !ruby/object:Gem::Dependency
68
- name: htmlentities
84
+ name: rspec
69
85
  requirement: !ruby/object:Gem::Requirement
70
86
  requirements:
71
87
  - - "~>"
72
88
  - !ruby/object:Gem::Version
73
- version: '4.3'
89
+ version: '3.0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '3.0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: json
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
74
101
  - - ">="
75
102
  - !ruby/object:Gem::Version
76
- version: 4.3.1
77
- type: :runtime
103
+ version: '0'
104
+ type: :development
78
105
  prerelease: false
79
106
  version_requirements: !ruby/object:Gem::Requirement
80
107
  requirements:
81
- - - "~>"
108
+ - - ">="
82
109
  - !ruby/object:Gem::Version
83
- version: '4.3'
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: simplecov
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
84
115
  - - ">="
85
116
  - !ruby/object:Gem::Version
86
- version: 4.3.1
87
- description: A Ruby gem for interacting with the Plivo Cloud Platform
88
- email: support@plivo.com
89
- executables: []
90
- extensions:
91
- - ext/mkrf_conf.rb
92
- extra_rdoc_files:
93
- - README.md
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ description: The Plivo Ruby SDK makes it simpler to integrate communications into
126
+ your Ruby applications using the Plivo REST API. Using the SDK, you will be able
127
+ to make voice calls, send SMS and generate Plivo XML to control your call flows.See
128
+ https://github.com/plivo/plivo-ruby for more information.
129
+ email:
130
+ - sdks@plivo.com
131
+ executables:
132
+ - console
133
+ - setup
134
+ extensions: []
135
+ extra_rdoc_files: []
94
136
  files:
137
+ - ".gitignore"
138
+ - ".rspec"
139
+ - ".travis.yml"
140
+ - AUTHORS.md
141
+ - CHANGELOG.md
142
+ - Gemfile
143
+ - LICENSE.txt
95
144
  - README.md
96
- - ext/mkrf_conf.rb
145
+ - Rakefile
146
+ - bin/console
147
+ - bin/setup
97
148
  - lib/plivo.rb
98
- homepage: http://www.plivo.com
149
+ - lib/plivo/base.rb
150
+ - lib/plivo/base/resource.rb
151
+ - lib/plivo/base/resource_interface.rb
152
+ - lib/plivo/base/response.rb
153
+ - lib/plivo/exceptions.rb
154
+ - lib/plivo/resources.rb
155
+ - lib/plivo/resources/accounts.rb
156
+ - lib/plivo/resources/applications.rb
157
+ - lib/plivo/resources/calls.rb
158
+ - lib/plivo/resources/conferences.rb
159
+ - lib/plivo/resources/endpoints.rb
160
+ - lib/plivo/resources/messages.rb
161
+ - lib/plivo/resources/numbers.rb
162
+ - lib/plivo/resources/pricings.rb
163
+ - lib/plivo/resources/recordings.rb
164
+ - lib/plivo/rest_client.rb
165
+ - lib/plivo/utils.rb
166
+ - lib/plivo/version.rb
167
+ - lib/plivo/xml.rb
168
+ - lib/plivo/xml/conference.rb
169
+ - lib/plivo/xml/dial.rb
170
+ - lib/plivo/xml/dtmf.rb
171
+ - lib/plivo/xml/element.rb
172
+ - lib/plivo/xml/get_digits.rb
173
+ - lib/plivo/xml/hangup.rb
174
+ - lib/plivo/xml/message.rb
175
+ - lib/plivo/xml/number.rb
176
+ - lib/plivo/xml/play.rb
177
+ - lib/plivo/xml/plivo_xml.rb
178
+ - lib/plivo/xml/pre_answer.rb
179
+ - lib/plivo/xml/record.rb
180
+ - lib/plivo/xml/redirect.rb
181
+ - lib/plivo/xml/response.rb
182
+ - lib/plivo/xml/speak.rb
183
+ - lib/plivo/xml/user.rb
184
+ - lib/plivo/xml/wait.rb
185
+ - plivo.gemspec
186
+ homepage: https://github.com/plivo/plivo-ruby
99
187
  licenses:
100
188
  - MIT
101
189
  metadata: {}
@@ -107,16 +195,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
107
195
  requirements:
108
196
  - - ">="
109
197
  - !ruby/object:Gem::Version
110
- version: '0'
198
+ version: 2.0.0
111
199
  required_rubygems_version: !ruby/object:Gem::Requirement
112
200
  requirements:
113
- - - ">="
201
+ - - ">"
114
202
  - !ruby/object:Gem::Version
115
- version: '0'
203
+ version: 1.3.1
116
204
  requirements: []
117
205
  rubyforge_project:
118
- rubygems_version: 2.2.2
206
+ rubygems_version: 2.6.11
119
207
  signing_key:
120
208
  specification_version: 4
121
- summary: A Ruby gem for communicating with the Plivo Cloud Platform
209
+ summary: A Ruby SDK to make voice calls & send SMS using Plivo and to generate Plivo
210
+ XML
122
211
  test_files: []