tropo-webapi-ruby 0.1.11 → 0.1.13
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/{README.rdoc → README.md} +41 -40
- data/VERSION +1 -1
- data/examples/conferenceJoinLeave.rb +27 -0
- data/examples/machineDetection.rb +31 -0
- data/examples/transferWhisper.rb +38 -0
- data/lib/tropo-webapi-ruby/tropo-webapi-ruby-helpers.rb +2 -0
- data/lib/tropo-webapi-ruby/tropo-webapi-ruby.rb +164 -76
- data/spec/tropo-webapi-ruby_spec.rb +3 -9
- data/tropo-webapi-ruby.gemspec +7 -4
- metadata +11 -42
- data/HISTORY.rdoc +0 -19
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 9b4ec4c8d2ed601fb2adb371218c73800ece5218
|
4
|
+
data.tar.gz: a1731101b04b7e32c84ac237e7a617c2f58cbb98
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 1f2290d05796f3f6091796b2143fdff8bf8aaf737db340d089a4077659761f8f8f90461f0a60ac0d528cba609bb6b65cfb7068b3c38211608a80f4209e571b21
|
7
|
+
data.tar.gz: 0508b0d936a4e7b263f557f7a7886acb01c8f17421fdb0ea8dab502017e75b47cc63a4b946d54e70b2edc5795bba2211b8d3718423ca3149365a1401c3373447
|
data/{README.rdoc → README.md}
RENAMED
@@ -1,20 +1,21 @@
|
|
1
|
-
|
1
|
+
# Tropo Web API Ruby Library
|
2
|
+
[![Build Status](https://drone.io/github.com/tropo/tropo-webapi-ruby/status.png)](https://drone.io/github.com/tropo/tropo-webapi-ruby/latest)
|
2
3
|
|
3
4
|
A Ruby library for interaction with the Tropo Web API (http://tropo.com) using JSON.
|
4
5
|
|
5
|
-
|
6
|
+
## Tropo Web API Overview
|
6
7
|
|
7
8
|
The Tropo Remote API provides a RESTful JSON API for controlling realtime communications applications from
|
8
9
|
your own web servers.
|
9
10
|
|
10
|
-
|
11
|
+
## Requirements
|
11
12
|
|
12
|
-
* Unit tests passed on: Ruby MRI v1.8.6/1.8.7 and JRuby v1.5.0
|
13
|
-
* RubyGems
|
13
|
+
* Unit tests passed on: Ruby MRI v1.8.6/1.8.7/1.9.3/2.1.0 and JRuby v1.5.0/v1.7.9
|
14
|
+
* RubyGems
|
14
15
|
|
15
16
|
Note: If using with ActiveSupport, v2.3.5 or better of ActiveSupport is required.
|
16
17
|
|
17
|
-
|
18
|
+
## Installation
|
18
19
|
|
19
20
|
$ sudo gem install tropo-webapi-ruby
|
20
21
|
|
@@ -22,13 +23,13 @@ Optional, if you would like to use with Sinatra:
|
|
22
23
|
|
23
24
|
$ sudo gem install sinatra
|
24
25
|
|
25
|
-
|
26
|
+
## Generate Documentation
|
26
27
|
|
27
|
-
|
28
|
+
### Developer
|
28
29
|
|
29
30
|
$ gemserver
|
30
31
|
|
31
|
-
|
32
|
+
### Project Developer
|
32
33
|
|
33
34
|
$ sudo gem install yard
|
34
35
|
|
@@ -36,8 +37,8 @@ From within the project:
|
|
36
37
|
|
37
38
|
$ yardoc
|
38
39
|
|
39
|
-
|
40
|
-
|
40
|
+
## Usage
|
41
|
+
```ruby
|
41
42
|
require 'rubygems'
|
42
43
|
require 'tropo-webapi-ruby'
|
43
44
|
|
@@ -52,15 +53,15 @@ From within the project:
|
|
52
53
|
response = tropo.parse(json_string)
|
53
54
|
p 'Hey, this is a voice session!' if tropo.voice_session
|
54
55
|
p 'Hey, this is a text messaging session!' if tropo.text_session
|
56
|
+
```
|
57
|
+
## Examples
|
55
58
|
|
56
|
-
|
57
|
-
|
58
|
-
=== Sinatra
|
59
|
+
### Sinatra
|
59
60
|
|
60
61
|
Using the great RESTful Web Services framework Sinatra for Ruby.
|
61
62
|
|
62
|
-
|
63
|
-
|
63
|
+
#### Hello World
|
64
|
+
```ruby
|
64
65
|
require 'rubygems'
|
65
66
|
require 'sinatra'
|
66
67
|
require 'tropo-webapi-ruby'
|
@@ -82,9 +83,9 @@ Using the great RESTful Web Services framework Sinatra for Ruby.
|
|
82
83
|
tropo.say 'Hello again.'
|
83
84
|
tropo.response
|
84
85
|
end
|
85
|
-
|
86
|
-
|
87
|
-
|
86
|
+
```
|
87
|
+
#### Getting Session Information
|
88
|
+
```ruby
|
88
89
|
# Produces a Ruby hash:
|
89
90
|
#
|
90
91
|
# { :session =>
|
@@ -117,9 +118,9 @@ Using the great RESTful Web Services framework Sinatra for Ruby.
|
|
117
118
|
tropo_session = Tropo::Generator.parse request.env["rack.input"].read
|
118
119
|
p tropo_session
|
119
120
|
end
|
120
|
-
|
121
|
-
|
122
|
-
|
121
|
+
```
|
122
|
+
#### Asking for input and receiving the response, or catching a hangup
|
123
|
+
```ruby
|
123
124
|
post '/ask.json' do
|
124
125
|
tropo = Tropo::Generator.new do
|
125
126
|
on :event => 'hangup', :next => '/hangup.json'
|
@@ -170,23 +171,23 @@ Using the great RESTful Web Services framework Sinatra for Ruby.
|
|
170
171
|
tropo_event = Tropo::Generator.parse request.env["rack.input"].read
|
171
172
|
p tropo_event
|
172
173
|
end
|
173
|
-
|
174
|
-
|
175
|
-
|
174
|
+
```
|
175
|
+
#### Redirect a call before answering
|
176
|
+
```ruby
|
176
177
|
# A redirect method
|
177
178
|
post '/redirect.json' do
|
178
179
|
Tropo::Generator.redirect({ :to => 'sip:1234', :from => '4155551212' })
|
179
180
|
end
|
180
|
-
|
181
|
-
|
182
|
-
|
181
|
+
```
|
182
|
+
#### Reject a call before answering
|
183
|
+
```ruby
|
183
184
|
# A reject method
|
184
185
|
post '/reject.json' do
|
185
186
|
Tropo::Generator.reject
|
186
187
|
end
|
187
|
-
|
188
|
-
|
189
|
-
|
188
|
+
```
|
189
|
+
#### Setting a default voice for speech synthesis (text-to-speech/TTS)
|
190
|
+
```ruby
|
190
191
|
post '/speak.json' do
|
191
192
|
t = Tropo::Generator.new(:voice => 'kate')
|
192
193
|
t.say 'Hello!' # Will speak as kate now
|
@@ -197,9 +198,9 @@ Using the great RESTful Web Services framework Sinatra for Ruby.
|
|
197
198
|
t.voice = 'kate'
|
198
199
|
t.say 'Hello!' # Will speak as kate now
|
199
200
|
end
|
200
|
-
|
201
|
-
|
202
|
-
|
201
|
+
```
|
202
|
+
#### Setting a default recognizer for speech recognition (ASR)
|
203
|
+
```ruby
|
203
204
|
post '/ask.json' do
|
204
205
|
t = Tropo::Generator.new(:recognizer => 'fr-fr')
|
205
206
|
t.ask({ :name => 'account_number', # Will now use the French speech recognition engine
|
@@ -222,12 +223,12 @@ Using the great RESTful Web Services framework Sinatra for Ruby.
|
|
222
223
|
choices :value => '[5 DIGITS]'
|
223
224
|
end
|
224
225
|
end
|
225
|
-
|
226
|
-
|
226
|
+
```
|
227
|
+
### Additional Examples
|
227
228
|
|
228
229
|
May be found by checking out the project from Github, and then looking in $PROJECT_HOME/examples and $PROJECT_HOME/spec/tropo-webapi-ruby_spec.rb.
|
229
230
|
|
230
|
-
|
231
|
+
### Documentation
|
231
232
|
|
232
233
|
* API Documentation:
|
233
234
|
|
@@ -237,12 +238,12 @@ http://voxeo.github.com/tropo-webapi-ruby
|
|
237
238
|
|
238
239
|
http://docs.tropo.com/webapi/2.0/home.htm
|
239
240
|
|
240
|
-
|
241
|
+
## Notes
|
241
242
|
|
242
243
|
In order to maintain compatibility between Ruby MRI and JRuby the gem requires 'json_pure'. If you are using the Ruby MRI and would prefer to use the C version of 'json', simply install the 'json' gem as follows:
|
243
244
|
|
244
245
|
sudo gem install json
|
245
246
|
|
246
|
-
|
247
|
+
## Copyright
|
247
248
|
|
248
|
-
Copyright (c)
|
249
|
+
Copyright (c) 2014 Tropo, Inc. See LICENSE for details.
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.13
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'tropo-webapi-ruby'
|
2
|
+
require 'sinatra'
|
3
|
+
|
4
|
+
post '/index.json' do
|
5
|
+
|
6
|
+
v = Tropo::Generator.parse request.env["rack.input"].read
|
7
|
+
t = Tropo::Generator.new
|
8
|
+
|
9
|
+
callerID = v[:session][:from][:id]
|
10
|
+
|
11
|
+
t.say({:value => "You are about to enter the conference room"})
|
12
|
+
|
13
|
+
t.conference({
|
14
|
+
:name => "joinLeave",
|
15
|
+
:id => "1234",
|
16
|
+
:joinPrompt => {
|
17
|
+
:value => "Please welcome #{callerID} to the party"
|
18
|
+
},
|
19
|
+
:leavePrompt => {
|
20
|
+
:value => "#{callerID} has left the party"
|
21
|
+
}
|
22
|
+
})
|
23
|
+
|
24
|
+
t.response
|
25
|
+
|
26
|
+
end
|
27
|
+
|
@@ -0,0 +1,31 @@
|
|
1
|
+
require 'tropo-webapi-ruby'
|
2
|
+
require 'sinatra'
|
3
|
+
|
4
|
+
post '/index.json' do
|
5
|
+
|
6
|
+
t = Tropo::Generator.new
|
7
|
+
|
8
|
+
t.call :to => "+14071234321",
|
9
|
+
:machineDetection => {
|
10
|
+
:introduction => "This is just a test to see if you are a human or a machine. PLease hold while we determine. Almost finished. Thank you!",
|
11
|
+
:voice => "Victor"
|
12
|
+
}
|
13
|
+
|
14
|
+
t.on :event => 'continue', :next => '/continue.json'
|
15
|
+
t.response
|
16
|
+
|
17
|
+
end
|
18
|
+
|
19
|
+
|
20
|
+
post '/continue.json' do
|
21
|
+
|
22
|
+
v = Tropo::Generator.parse request.env["rack.input"].read
|
23
|
+
t = Tropo::Generator.new
|
24
|
+
puts v
|
25
|
+
userType = v[:result][:user_type]
|
26
|
+
puts userType
|
27
|
+
t.say(:value => "You are a #{userType}")
|
28
|
+
|
29
|
+
t.response
|
30
|
+
|
31
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
require 'tropo-webapi-ruby'
|
2
|
+
require 'sinatra'
|
3
|
+
|
4
|
+
post '/index.json' do
|
5
|
+
|
6
|
+
t = Tropo::Generator.new
|
7
|
+
|
8
|
+
t.say("Please hold while we transfer your call")
|
9
|
+
|
10
|
+
whisper = [{
|
11
|
+
:event => "connect",
|
12
|
+
:ask => {
|
13
|
+
:say => {:value => "Press 1 to accept this call or any other key to decline"},
|
14
|
+
:choices => {:value => "1", :mode => "dtmf"},
|
15
|
+
:name => "transfer",
|
16
|
+
:interdigitTimeout => 1
|
17
|
+
},
|
18
|
+
:event => "connect",
|
19
|
+
:say => {:value => "You are now being connected to the transfer"}
|
20
|
+
}]
|
21
|
+
puts whisper
|
22
|
+
|
23
|
+
t.transfer :to => "+14071234321",
|
24
|
+
:on => whisper
|
25
|
+
|
26
|
+
t.on :event => 'incomplete', :next => '/hangup.json', :say => {:value =>'You have opted out from accepting this call. Goodbye'}
|
27
|
+
|
28
|
+
t.response
|
29
|
+
|
30
|
+
end
|
31
|
+
|
32
|
+
post '/hangup.json' do
|
33
|
+
t = Tropo::Generator.new
|
34
|
+
|
35
|
+
t.hangup
|
36
|
+
t.response
|
37
|
+
|
38
|
+
end
|
@@ -53,21 +53,33 @@ module Tropo
|
|
53
53
|
#
|
54
54
|
# @overload ask(params)
|
55
55
|
# @param [Hash] params the options to create an ask action request with.
|
56
|
-
# @option params [String] :
|
56
|
+
# @option params [required, String] :choices indicates the structure of the expected data and acceptable modes of input - value, mode, terminator
|
57
|
+
# @option params [optional, String] :say determines what is played or sent to the caller - also takes an event key to determine if prompt will be played based on a nomatch or timeout
|
58
|
+
# @option params [optional, String or Array] :allow_signals allows you to assign a signal to ask which can be used with REST to interrupt the function
|
59
|
+
# @option params [optional, String] :name this is the key used to identify the result of an operation, so you can differentiate between multiple results
|
57
60
|
# @option params [optional, Integer] :attempts (1) the number of times to prompt the user for input
|
58
|
-
# @option params [optional, Boolean] :bargein (true) allows a user to enter a key to stop the
|
59
|
-
# @option params [optional,
|
60
|
-
# @option params [optional,
|
61
|
+
# @option params [optional, Boolean] :bargein (true) allows a user to say or enter a key to stop the prompt from playing further
|
62
|
+
# @option params [optional, Integer] :interdigit_timeout (nil) defines how long to wait between key presses to determine the user has stopped entering input
|
63
|
+
# @option params [optional, Integer] :min_confidence (30) the minimum confidence by which to accept the response, as opposed to asking again
|
64
|
+
# @option params [optional, Boolean] :required (true) determines whether Tropo should move on to the next verb - if true, Tropo will only move on if the current operation completed
|
61
65
|
# @option params [optional, Integer] :timeout (30) the amount of time, in seconds, to wait for a response before moving on
|
66
|
+
# @option params [optional, String] :recognizer this tells Tropo what language to listen for
|
67
|
+
# @option params [optional, String] :voice (allison) specifies the voice to be used when speaking text to a user
|
62
68
|
# @overload ask(params, &block)
|
63
69
|
# @param [Hash] params the options to create an ask action request with.
|
64
70
|
# @param [Block] takes a block so that you may trigger actions, such as a say, on a specific event
|
65
|
-
# @option params [String] :
|
71
|
+
# @option params [required, String] :choices indicates the structure of the expected data and acceptable modes of input - value, mode, terminator
|
72
|
+
# @option params [optional, String] :say determines what is played or sent to the caller - also takes an event key to determine if prompt will be played based on a nomatch or timeout
|
73
|
+
# @option params [optional, String or Array] :allow_signals allows you to assign a signal to ask which can be used with REST to interrupt the function
|
74
|
+
# @option params [optional, String] :name this is the key used to identify the result of an operation, so you can differentiate between multiple results
|
66
75
|
# @option params [optional, Integer] :attempts (1) the number of times to prompt the user for input
|
67
|
-
# @option params [optional, Boolean] :bargein (true) allows a user to enter a key to stop the
|
68
|
-
# @option params [optional,
|
69
|
-
# @option params [optional,
|
76
|
+
# @option params [optional, Boolean] :bargein (true) allows a user to say or enter a key to stop the prompt from playing further
|
77
|
+
# @option params [optional, Integer] :interdigit_timeout (nil) defines how long to wait between key presses to determine the user has stopped entering input
|
78
|
+
# @option params [optional, Integer] :min_confidence (30) the minimum confidence by which to accept the response, as opposed to asking again
|
79
|
+
# @option params [optional, Boolean] :required (true) determines whether Tropo should move on to the next verb - if true, Tropo will only move on if the current operation completed
|
70
80
|
# @option params [optional, Integer] :timeout (30) the amount of time, in seconds, to wait for a response before moving on
|
81
|
+
# @option params [optional, String] :recognizer this tells Tropo what language to listen for
|
82
|
+
# @option params [optional, String] :voice (allison) specifies the voice to be used when speaking text to a user
|
71
83
|
# @return [String, nil] the JSON string to be passed back to Tropo or nil
|
72
84
|
# if the method has been called from inside a block
|
73
85
|
def ask(params={}, &block)
|
@@ -89,25 +101,31 @@ module Tropo
|
|
89
101
|
#
|
90
102
|
# @overload call(params)
|
91
103
|
# @param [Hash] params the options to create a call action request with.
|
104
|
+
# @option params [optional, String] :name this is the key used to identify the result of an operation, so you can differentiate between multiple results
|
92
105
|
# @option params [String] :to the destination of the call, may be a phone number, SMS number or IM address
|
93
106
|
# @option params [optional, String] :from the phone number or IM address the call will come from
|
94
107
|
# @option params [optional, String] :network which network the call will be initiated with, such as SMS
|
95
108
|
# @option params [optional, String] :channel the channel the call will be initiated over, may be TEXT or VOICE
|
96
109
|
# @option params [optional, Integer] :timeout (30) the amount of time, in seconds, to wait for a response before moving on
|
97
|
-
# @option params [optional, Boolean] :answer_on_media (true)
|
110
|
+
# @option params [optional, Boolean] :answer_on_media (false) if true, the call will be concisdered answered and audio will being playing as soon as media is received (ringing, busy, etc)
|
98
111
|
# @options params [optional, Hash] :headers A set of key/values to apply as customer SIP headers to the outgoing call
|
99
|
-
# @options params [optional, Hash] :recording
|
100
|
-
#
|
112
|
+
# @options params [optional, Hash] :recording allow you to start call recording as soon as the call is answered; refer to the recording method for paramaters in the hash
|
113
|
+
# @option params [optional, Boolean] :required (true) determines whether Tropo should move on to the next verb - if true, Tropo will only move on if the current operation completed
|
114
|
+
# @option params [optional, String or Array] :allow_signals allows you to assign a signal to call which can be used with REST to interrupt the function
|
115
|
+
# @overload call(params, &block)
|
101
116
|
# @param [Hash] params the options to create an message action request with.
|
102
117
|
# @param [Block] takes a block so that you may trigger actions, such as a say, on a specific event
|
118
|
+
# @option params [optional, String] :name this is the key used to identify the result of an operation, so you can differentiate between multiple results
|
103
119
|
# @option params [String] :to the destination of the call, may be a phone number, SMS number or IM address
|
104
120
|
# @option params [optional, String] :from the phone number or IM address the call will come from
|
105
121
|
# @option params [optional, String] :network which network the call will be initiated with, such as SMS
|
106
|
-
# @option params [optional, String] :channel the channel the call will be initiated over, may be TEXT or VOICE
|
122
|
+
# @option params [optional, String] :channel (voice) the channel the call will be initiated over, may be TEXT or VOICE
|
107
123
|
# @option params [optional, Integer] :timeout (30) the amount of time, in seconds, to wait for a response before moving on
|
108
|
-
# @option params [optional, Boolean] :answer_on_media (true)
|
124
|
+
# @option params [optional, Boolean] :answer_on_media (false) if true, the call will be concisdered answered and audio will being playing as soon as media is received (ringing, busy, etc)
|
109
125
|
# @options params [optional, Hash] :headers A set of key/values to apply as customer SIP headers to the outgoing call
|
110
|
-
# @options params [optional, Hash] :recording
|
126
|
+
# @options params [optional, Hash] :recording allow you to start call recording as soon as the call is answered; refer to the recording method for paramaters in the hash
|
127
|
+
# @option params [optional, Boolean] :required (true) determines whether Tropo should move on to the next verb - if true, Tropo will only move on if the current operation completed
|
128
|
+
# @option params [optional, String or Array] :allow_signals allows you to assign a signal to call which can be used with REST to interrupt the function
|
111
129
|
# @return [String, nil] the JSON string to be passed back to Tropo or nil
|
112
130
|
# if the method has been called from inside a block
|
113
131
|
def call(params={}, &block)
|
@@ -126,10 +144,9 @@ module Tropo
|
|
126
144
|
# Choices to give the user on input
|
127
145
|
#
|
128
146
|
# @param [Hash] params the options used to construct the grammar for the user
|
129
|
-
# @option params [String] :value the
|
147
|
+
# @option params [String] :value this is the grammar which determines the type of expected data, such as [DIGITS]
|
130
148
|
# @option params [optional, String] :mode (ANY) the mode to use when asking the user [DTMF, SPEECH or ANY]
|
131
|
-
# @option params [optional, String] :
|
132
|
-
# @option params [optional, String] :type (simple/grammar) the type of grammar to use
|
149
|
+
# @option params [optional, String] :terminator (#) the user may enter a keypad entry to stop the request
|
133
150
|
# @option [String, nil] the JSON string to be passed back to Tropo or nil
|
134
151
|
# if the method has been called from inside a block
|
135
152
|
def choices(params={})
|
@@ -148,21 +165,25 @@ module Tropo
|
|
148
165
|
#
|
149
166
|
# @overload conference(params)
|
150
167
|
# @param [Hash] params the options to create a message with.
|
151
|
-
# @option params [String] :name the
|
152
|
-
# @option params [Integer] :id the number to assign to the conference room
|
168
|
+
# @option params [optional, String] :name this is the key used to identify the result of an operation, so you can differentiate between multiple results
|
169
|
+
# @option params [required, Integer] :id the number to assign to the conference room
|
170
|
+
# @option params [optional, Integer] :interdigit_timeout (nil) defines how long to wait between key presses to determine the user has stopped entering input
|
153
171
|
# @option params [optional, Boolean] :mute (false) whether to mute this caller in the conference
|
154
|
-
# @option params [optional, Integer] :
|
155
|
-
# @option params [optional,
|
156
|
-
# @option params [optional,
|
172
|
+
# @option params [optional, Integer] :play_tones whether to allow the DTMF input from a user to play into the conference
|
173
|
+
# @option params [optional, String] :terminator this is the touch-tone key (DTMF) used to exit the conference
|
174
|
+
# @option params [optional, Boolean] :required (true) determines whether Tropo should move on to the next verb - if true, Tropo will only move on if the current operation completed
|
175
|
+
# @option params [optional, String or Array] :allow_signals allows you to assign a signal to conference which can be used with REST to interrupt the function
|
157
176
|
# @overload conference(params, &block)
|
158
177
|
# @param [Hash] params the options to create a message with.
|
159
178
|
# @param [Block] takes a block so that you may trigger actions, such as a say, on a specific event
|
160
|
-
# @option params [String] :name the
|
179
|
+
# @option params [optional, String] :name this is the key used to identify the result of an operation, so you can differentiate between multiple results
|
161
180
|
# @option params [Integer] :id the number to assign to the conference room
|
181
|
+
# @option params [optional, Integer] :interdigit_timeout (nil) defines how long to wait between key presses to determine the user has stopped entering input
|
162
182
|
# @option params [optional, Boolean] :mute (false) whether to mute this caller in the conference
|
163
|
-
# @option params [optional, Integer] :
|
164
|
-
# @option params [optional,
|
165
|
-
# @option params [optional,
|
183
|
+
# @option params [optional, Integer] :play_tones whether to allow the DTMF input from a user to play into the conference
|
184
|
+
# @option params [optional, String] :terminator this is the touch-tone key (DTMF) used to exit the conference
|
185
|
+
# @option params [optional, Boolean] :required (true) determines whether Tropo should move on to the next verb - if true, Tropo will only move on if the current operation completed
|
186
|
+
# @option params [optional, String or Array] :allow_signals allows you to assign a signal to conference which can be used with REST to interrupt the function
|
166
187
|
# @return [String, nil] the JSON string to be passed back to Tropo or nil
|
167
188
|
# if the method has been called from inside a block
|
168
189
|
def conference(params={}, &block)
|
@@ -183,7 +204,13 @@ module Tropo
|
|
183
204
|
# May trigger these events:
|
184
205
|
# - hangup
|
185
206
|
# - error
|
186
|
-
#
|
207
|
+
# @overload hangup(params)
|
208
|
+
# @param [Hash] params the options to create a message action request with.
|
209
|
+
# @option params [String] :headers contains the Session Initiation Protocol (SIP) Headers for the current session.
|
210
|
+
# @overload hangup(params, &block)
|
211
|
+
# @param [Hash] params the options to create an message action request with.
|
212
|
+
# @param [Block] takes a block so that you may trigger actions, such as a say, on a specific event
|
213
|
+
# @option params [String] :headers contains the Session Initiation Protocol (SIP) Headers for the current session.
|
187
214
|
# @return [String, nil] returns the JSON string to hangup/stop the current session or nil
|
188
215
|
# if the method has been called from inside a block
|
189
216
|
def hangup
|
@@ -198,25 +225,29 @@ module Tropo
|
|
198
225
|
#
|
199
226
|
# @overload message(params)
|
200
227
|
# @param [Hash] params the options to create a message action request with.
|
201
|
-
# @option params [String] :
|
228
|
+
# @option params [optional, String] :name this is the key used to identify the result of an operation, so you can differentiate between multiple results
|
229
|
+
# @option params [required, String] :say determines what is played or sent to the caller
|
230
|
+
# @option params [optional, String] :voice (allison) specifies the voice to be used when speaking text to a user
|
231
|
+
# @option params [required, String] :to the destination of the call, may be a phone number, SMS number or IM address
|
202
232
|
# @option params [optional, String] :from the phone number or IM address the call will come from
|
203
233
|
# @option params [optional, String] :network which network the call will be initiated with, such as SMS
|
204
234
|
# @option params [optional, String] :channel the channel the call will be initiated over, may be TEXT or VOICE
|
205
235
|
# @option params [optional, Integer] :timeout (30) the amount of time, in seconds, to wait for a response before moving on
|
206
|
-
# @option params [optional, Boolean] :
|
207
|
-
# @
|
208
|
-
#
|
209
|
-
# @overload ask(params, &block)
|
236
|
+
# @option params [optional, Boolean] :required (true) determines whether Tropo should move on to the next verb - if true, Tropo will only move on if the current operation completed
|
237
|
+
# @option params [optional, Boolean] :answer_on_media (false) if true, the call will be concisdered answered and audio will being playing as soon as media is received (ringing, busy, etc)
|
238
|
+
# @overload message(params, &block)
|
210
239
|
# @param [Hash] params the options to create an message action request with.
|
211
240
|
# @param [Block] takes a block so that you may trigger actions, such as a say, on a specific event
|
212
|
-
# @option params [String] :
|
241
|
+
# @option params [optional, String] :name this is the key used to identify the result of an operation, so you can differentiate between multiple results
|
242
|
+
# @option params [required, String] :say determines what is played or sent to the caller
|
243
|
+
# @option params [optional, String] :voice (allison) specifies the voice to be used when speaking text to a user
|
244
|
+
# @option params [required, String] :to the destination of the call, may be a phone number, SMS number or IM address
|
213
245
|
# @option params [optional, String] :from the phone number or IM address the call will come from
|
214
246
|
# @option params [optional, String] :network which network the call will be initiated with, such as SMS
|
215
247
|
# @option params [optional, String] :channel the channel the call will be initiated over, may be TEXT or VOICE
|
216
248
|
# @option params [optional, Integer] :timeout (30) the amount of time, in seconds, to wait for a response before moving on
|
217
|
-
# @option params [optional, Boolean] :
|
218
|
-
# @
|
219
|
-
# @options params [optional, Hash] :recording Refer to the recording method for paramaters in the hash
|
249
|
+
# @option params [optional, Boolean] :required (true) determines whether Tropo should move on to the next verb - if true, Tropo will only move on if the current operation completed
|
250
|
+
# @option params [optional, Boolean] :answer_on_media (false) if true, the call will be concisdered answered and audio will being playing as soon as media is received (ringing, busy, etc)
|
220
251
|
# @return [String, nil] the JSON string to be passed back to Tropo or nil
|
221
252
|
# if the method has been called from inside a block
|
222
253
|
def message(params={}, &block)
|
@@ -236,13 +267,15 @@ module Tropo
|
|
236
267
|
#
|
237
268
|
# @overload initialize(params)
|
238
269
|
# @param [Hash] params the options to create a message with.
|
239
|
-
# @option params [String] :event the event name that should trigger the callback
|
240
|
-
# @option params [String] :next the resource to send the callback to, such as '/error.json'
|
270
|
+
# @option params [required, String] :event the event name that should trigger the callback
|
271
|
+
# @option params [optional, String] :next the resource to send the callback to, such as '/error.json'
|
272
|
+
# @option params [optional, String] :say determines what is played or sent to the caller
|
241
273
|
# @overload initialize(params, &block)
|
242
274
|
# @param [Hash] params the options to create a message with.
|
243
|
-
# @option params [String] :event the event name that should trigger the callback
|
244
|
-
# @option params [String] :next the resource to send the callback to, such as '/error.json'
|
245
275
|
# @param [Block] takes a block so that you may trigger actions, such as a say, on a specific event
|
276
|
+
# @option params [required, String] :event the event name that should trigger the callback
|
277
|
+
# @option params [optional, String] :next the resource to send the callback to, such as '/error.json'
|
278
|
+
# @option params [optional, String] :say determines what is played or sent to the caller
|
246
279
|
# @option [String, nil] the JSON string to be passed back to Tropo or nil
|
247
280
|
# if the method has been called from inside a block
|
248
281
|
def on(params={}, &block)
|
@@ -314,21 +347,49 @@ module Tropo
|
|
314
347
|
#
|
315
348
|
# @overload record(params)
|
316
349
|
# @param [Hash] params the options to create a message with.
|
317
|
-
# @option params [
|
318
|
-
# @option params [String] :
|
350
|
+
# @option params [optional, Integer] :attempts (1) the number of times to prompt the user for input
|
351
|
+
# @option params [optional, String or Array] :allow_signals allows you to assign a signal to record which can be used with REST to interrupt the function
|
352
|
+
# @option params [optional, Boolean] :bargein (true) allows a user to say or enter a key to stop the prompt from playing further
|
353
|
+
# @option params [optional, Boolean] :beep (true) when true, callers will hear a tone indicating the recording has begun
|
354
|
+
# @option params [optional, String] :choices when used with record, this defines the terminator
|
355
|
+
# @option params [required, String] :say determines what is played or sent to the caller
|
356
|
+
# @option params [optional, String] :voice (allison) specifies the voice to be used when speaking text to a user
|
319
357
|
# @option params [optional, String] :format (audio/wav) the audio format to record in, either a wav or mp3
|
358
|
+
# @option params [optional, Float] :max_silence (5.0) the max amount of time in seconds to wait for silence before considering the user finished speaking
|
359
|
+
# @option params [optional, Float] :max_time (30.0) the max amount of time in seconds the user is allotted for input
|
360
|
+
# @option params [optional, String] :method (POST) this defines how to send the audio file, either POST or PUT, and only applies to HTTP
|
361
|
+
# @option params [optional, Integer] :min_confidence (30) the minimum confidence by which to accept the response, as opposed to asking again
|
362
|
+
# @option params [optional, String] :name this is the key used to identify the result of an operation, so you can differentiate between multiple results
|
363
|
+
# @option params [optional, Boolean] :required (true) determines whether Tropo should move on to the next verb - if true, Tropo will only move on if the current operation completed
|
364
|
+
# @option params [optional, Hash] :transcription allows you to submit a recording to be transcribed - takes parameters id, url and emailFormat
|
365
|
+
# @option params [optional, String] :url the destination URL to send the recording, either via FTP or HTTP
|
320
366
|
# @option params [optional, String] :username if posting to FTP, the username for the FTP server
|
321
367
|
# @option params [optional, String] :password if posting to FTP, the password for the FTP server
|
322
|
-
# @option params [optional,
|
368
|
+
# @option params [optional, Float] :timeout amount of time Tropo will wait--in seconds and after sending or playing the prompt--for the user to begin a response
|
369
|
+
# @option params [optional, Integer] :interdigit_timeout (nil) defines how long to wait between key presses to determine the user has stopped entering input
|
323
370
|
# @overload record(params, &block)
|
324
371
|
# @param [Hash] params the options to create a message with.
|
325
372
|
# @param [Block] takes a block so that you may trigger actions, such as a say, on a specific event
|
326
|
-
# @option params [
|
327
|
-
# @option params [String] :
|
373
|
+
# @option params [optional, Integer] :attempts (1) the number of times to prompt the user for input
|
374
|
+
# @option params [optional, String or Array] :allow_signals allows you to assign a signal to record which can be used with REST to interrupt the function
|
375
|
+
# @option params [optional, Boolean] :bargein (true) allows a user to say or enter a key to stop the prompt from playing further
|
376
|
+
# @option params [optional, Boolean] :beep (true) when true, callers will hear a tone indicating the recording has begun
|
377
|
+
# @option params [optional, String] :choices when used with record, this defines the terminator
|
378
|
+
# @option params [required, String] :say determines what is played or sent to the caller
|
379
|
+
# @option params [optional, String] :voice (allison) specifies the voice to be used when speaking text to a user
|
328
380
|
# @option params [optional, String] :format (audio/wav) the audio format to record in, either a wav or mp3
|
381
|
+
# @option params [optional, Float] :max_silence (5.0) the max amount of time in seconds to wait for silence before considering the user finished speaking
|
382
|
+
# @option params [optional, Float] :max_time (30.0) the max amount of time in seconds the user is allotted for input
|
383
|
+
# @option params [optional, String] :method (POST) this defines how to send the audio file, either POST or PUT, and only applies to HTTP
|
384
|
+
# @option params [optional, Integer] :min_confidence (30) the minimum confidence by which to accept the response, as opposed to asking again
|
385
|
+
# @option params [optional, String] :name this is the key used to identify the result of an operation, so you can differentiate between multiple results
|
386
|
+
# @option params [optional, Boolean] :required (true) determines whether Tropo should move on to the next verb - if true, Tropo will only move on if the current operation completed
|
387
|
+
# @option params [optional, Hash] :transcription allows you to submit a recording to be transcribed - takes parameters id, url and emailFormat
|
388
|
+
# @option params [optional, String] :url the destination URL to send the recording, either via FTP or HTTP
|
329
389
|
# @option params [optional, String] :username if posting to FTP, the username for the FTP server
|
330
390
|
# @option params [optional, String] :password if posting to FTP, the password for the FTP server
|
331
|
-
# @option params [optional,
|
391
|
+
# @option params [optional, Float] :timeout amount of time Tropo will wait--in seconds and after sending or playing the prompt--for the user to begin a response
|
392
|
+
# @option params [optional, Integer] :interdigit_timeout (nil) defines how long to wait between key presses to determine the user has stopped entering input
|
332
393
|
# @option [String, nil] the JSON string to be passed back to Tropo or nil
|
333
394
|
# if the method has been called from inside a block
|
334
395
|
def record(params={}, &block)
|
@@ -344,16 +405,15 @@ module Tropo
|
|
344
405
|
end
|
345
406
|
|
346
407
|
##
|
347
|
-
# The redirect function forwards an incoming call to another destination
|
408
|
+
# The redirect function forwards an incoming SIP call to another destination before answering it.
|
348
409
|
# The redirect function must be called before answer is called; redirect expects that a call be in the ringing or answering state.
|
349
410
|
# Use transfer when working with active answered calls.
|
350
411
|
#
|
351
|
-
# tel: classic phone number (See RFC 2896), must be proceeded by a + and the country code (ie - +14155551212 for a US #)
|
352
|
-
# sip: Session Initiation Protocol (SIP) address
|
353
412
|
#
|
354
413
|
# @param [Hash] params the options to create a message with.
|
355
|
-
#
|
356
|
-
#
|
414
|
+
# @option params [optional, String] :name this is the key used to identify the result of an operation, so you can differentiate between multiple results
|
415
|
+
# @option params [optional, Boolean] :required (true) determines whether Tropo should move on to the next verb - if true, Tropo will only move on if the current operation completed
|
416
|
+
# @option params [required, String] :to where to redirect the session to
|
357
417
|
# @return [String, nil] the JSON string to redirect the current session or nil
|
358
418
|
# if the method has been called from inside a block
|
359
419
|
def redirect(params={})
|
@@ -400,19 +460,22 @@ module Tropo
|
|
400
460
|
#
|
401
461
|
# @overload say(params)
|
402
462
|
# @param [Hash] params the options to create a message with.
|
403
|
-
# @option params [String] :value the text or audio to be spoken or played back to the user
|
404
|
-
# @option params [
|
405
|
-
# @option params [
|
406
|
-
# @option params [Boolean] :
|
407
|
-
# @
|
408
|
-
#
|
409
|
-
# @overload say(
|
410
|
-
# @param [String] the text or audio to be spoken or played back to the user
|
463
|
+
# @option params [required, String] :value the text or audio to be spoken or played back to the user
|
464
|
+
# @option params [optional, String] :voice (allison) specifies the voice to be used when speaking text to a user
|
465
|
+
# @option params [optional, String] :name this is the key used to identify the result of an operation, so you can differentiate between multiple results
|
466
|
+
# @option params [optional, Boolean] :required (true) determines whether Tropo should move on to the next verb - if true, Tropo will only move on if the current operation completed
|
467
|
+
# @option params [optional, Integer] :as specifies the type of data being spoken, so the TTS Engine can interpret it correctly. The possible values are "DATE", "DIGITS" and "NUMBER"
|
468
|
+
# @option params [optional, String or Array] :allow_signals allows you to assign a signal to say which can be used with REST to interrupt the function
|
469
|
+
# @overload say(params, &block)
|
411
470
|
# @param [Hash] params the options to create a message with.
|
412
|
-
# @
|
413
|
-
# @option params [
|
414
|
-
# @option params [
|
415
|
-
# @
|
471
|
+
# @param [Block] takes a block so that you may trigger actions, such as a say, on a specific event
|
472
|
+
# @option params [required, String] :value the text or audio to be spoken or played back to the user
|
473
|
+
# @option params [optional, String] :voice (allison) specifies the voice to be used when speaking text to a user
|
474
|
+
# @option params [optional, String] :name this is the key used to identify the result of an operation, so you can differentiate between multiple results
|
475
|
+
# @option params [optional, Boolean] :required (true) determines whether Tropo should move on to the next verb - if true, Tropo will only move on if the current operation completed
|
476
|
+
# @option params [optional, Integer] :as specifies the type of data being spoken, so the TTS Engine can interpret it correctly. The possible values are "DATE", "DIGITS" and "NUMBER"
|
477
|
+
# @option params [optional, String or Array] :allow_signals allows you to assign a signal to say which can be used with REST to interrupt the function
|
478
|
+
# @return [String, nil] the JSON string to be passed back to Tropo or nil
|
416
479
|
# if the method has been called from inside a block
|
417
480
|
def say(value=nil, params={})
|
418
481
|
|
@@ -458,10 +521,11 @@ module Tropo
|
|
458
521
|
# The resulting recording may then be sent via FTP or an HTTP POST/Multipart Form.
|
459
522
|
#
|
460
523
|
# @param [Hash] params the options to create a message with.
|
461
|
-
# @option params [String] :url a valid URI, an HTTP, FTP or email address to POST the recording file to
|
524
|
+
# @option params [required, String] :url a valid URI, an HTTP, FTP or email address to POST the recording file to
|
462
525
|
# @option params [optional, String] :format (audio/wav) the audio format to record in, either a wav or mp3
|
463
526
|
# @option params [optional, String] :username if posting to FTP, the username for the FTP server
|
464
527
|
# @option params [optional, String] :password if posting to FTP, the password for the FTP server
|
528
|
+
# @option params [optional, String] :method (POST) defines how to send the audio file - values are POST or PUT and applies only to HTTP
|
465
529
|
# @return [String, nil] returns the JSON string to start the recording of a session or nil
|
466
530
|
# if the method has been called from inside a block
|
467
531
|
def start_recording(params={})
|
@@ -506,22 +570,34 @@ module Tropo
|
|
506
570
|
#
|
507
571
|
# @overload transfer(params)
|
508
572
|
# @param [Hash] params the options to create a transfer action request with
|
509
|
-
# @option params [String] :
|
510
|
-
# @option params [optional, Boolean] :answer_on_media ???
|
511
|
-
# @option params [optional, Integer] :answer_timeout the amount of time to ring the far side before giving up and going to the next step
|
512
|
-
# @option params [optional, Boolean] :required (true) ???
|
513
|
-
# @option params [required, String] :to where to redirect the session to
|
573
|
+
# @option params [required, String] :to the new destination for the incoming call as a URL
|
514
574
|
# @option params [optional, String] :from set the from id for the session when redirecting
|
515
|
-
# @option params [optional, Integer] :
|
575
|
+
# @option params [optional, Integer] :interdigit_timeout (nil) defines how long to wait between key presses to determine the user has stopped entering input
|
576
|
+
# @option params [optional, Integer] :ring_repeat This specifies the number of times the audio file specified in the ring event will repeat itself.
|
577
|
+
# @option params [optional, String] :name this is the key used to identify the result of an operation, so you can differentiate between multiple results
|
578
|
+
# @option params [optional, Boolean] :required (true) determines whether Tropo should move on to the next verb - if true, Tropo will only move on if the current operation completed
|
579
|
+
# @option params [optional, Float] :timeout amount of time Tropo will wait--in seconds--for the other party to answer the call
|
580
|
+
# @option params [optional, Integer] :interdigit_timeout (nil) defines how long to wait between key presses to determine the user has stopped entering input
|
581
|
+
# @option params [optional, String or Array] :allow_signals allows you to assign a signal to record which can be used with REST to interrupt the function
|
582
|
+
# @option params [optional, String] :on adds event callback to enable "ring" event, which allows you to play an audio file or say something while the outbound call rings
|
583
|
+
# @option params [optional, Boolean] :answer_on_media (false) if true, the call will be concisdered answered and audio will being playing as soon as media is received (ringing, busy, etc)
|
584
|
+
# @options params [optional, Hash] :headers A set of key/values to apply as customer SIP headers to the outgoing call
|
585
|
+
# @option params [optional, String] :choices when used with transfer, this defines the terminator
|
516
586
|
# @overload transfer(params, &block)
|
517
587
|
# @param [Hash] params the options to create a transfer action request with
|
518
|
-
# @
|
519
|
-
# @option params [
|
520
|
-
# @option params [optional, Integer] :answer_timeout the amount of time to ring the far side before giving up and going to the next step
|
521
|
-
# @option params [optional, Boolean] :required (true) ???
|
522
|
-
# @option params [required, String] :to where to redirect the session to
|
588
|
+
# @param [Block] takes a block so that you may trigger actions, such as a say, on a specific event
|
589
|
+
# @option params [required, String] :to the new destination for the incoming call as a URL
|
523
590
|
# @option params [optional, String] :from set the from id for the session when redirecting
|
524
|
-
# @option params [optional, Integer] :ring_repeat
|
591
|
+
# @option params [optional, Integer] :ring_repeat This specifies the number of times the audio file specified in the ring event will repeat itself.
|
592
|
+
# @option params [optional, String] :name this is the key used to identify the result of an operation, so you can differentiate between multiple results
|
593
|
+
# @option params [optional, Boolean] :required (true) determines whether Tropo should move on to the next verb - if true, Tropo will only move on if the current operation completed
|
594
|
+
# @option params [optional, Float] :timeout amount of time Tropo will wait--in seconds--for the other party to answer the call
|
595
|
+
# @option params [optional, Integer] :interdigit_timeout (nil) defines how long to wait between key presses to determine the user has stopped entering input
|
596
|
+
# @option params [optional, String or Array] :allow_signals allows you to assign a signal to record which can be used with REST to interrupt the function
|
597
|
+
# @option params [optional, String] :on adds event callback to enable "ring" event, which allows you to play an audio file or say something while the outbound call rings
|
598
|
+
# @option params [optional, Boolean] :answer_on_media (false) if true, the call will be concisdered answered and audio will being playing as soon as media is received (ringing, busy, etc)
|
599
|
+
# @options params [optional, Hash] :headers A set of key/values to apply as customer SIP headers to the outgoing call
|
600
|
+
# @option params [optional, String] :choices when used with transfer, this defines the terminator
|
525
601
|
# @return [nil, String]
|
526
602
|
def transfer(params={}, &block)
|
527
603
|
if block_given?
|
@@ -550,5 +626,17 @@ module Tropo
|
|
550
626
|
def voice=(voice)
|
551
627
|
@voice = voice
|
552
628
|
end
|
629
|
+
|
630
|
+
def wait(params={}, &block)
|
631
|
+
if block_given?
|
632
|
+
create_nested_hash('wait', params)
|
633
|
+
instance_exec(&block)
|
634
|
+
@response[:tropo] << @nested_hash
|
635
|
+
else
|
636
|
+
hash = build_action('wait', params)
|
637
|
+
@response[:tropo] << hash
|
638
|
+
end
|
639
|
+
render_response if @building.nil?
|
640
|
+
end
|
553
641
|
end
|
554
642
|
end
|
@@ -2,6 +2,9 @@ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
|
2
2
|
|
3
3
|
describe "Tropo" do
|
4
4
|
|
5
|
+
|
6
|
+
response = Tropo::Generator.wait({ :milliseconds => 10, :allowSignals => "exit"})
|
7
|
+
|
5
8
|
# Ask action tests (and alias Prompt)
|
6
9
|
it "should generate a complete 'ask' JSON document" do
|
7
10
|
response = Tropo::Generator.ask({ :name => 'foo',
|
@@ -362,15 +365,6 @@ describe "Tropo" do
|
|
362
365
|
@@new_session.should == 'foobar'
|
363
366
|
end
|
364
367
|
|
365
|
-
it "should see an object passed into the block" do
|
366
|
-
session = 'foobar'
|
367
|
-
result = Tropo::Generator.new(session) do
|
368
|
-
session.should == 'foobar'
|
369
|
-
say :value => 'blah'
|
370
|
-
on :event => 'error', :next => 'error.json'
|
371
|
-
end
|
372
|
-
end
|
373
|
-
|
374
368
|
it "should allow you to create a Tropo::Generator object and build up a JSON request with two says" do
|
375
369
|
tropo = Tropo::Generator.new
|
376
370
|
tropo.say('foo')
|
data/tropo-webapi-ruby.gemspec
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{tropo-webapi-ruby}
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.13"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Jason Goecke"]
|
@@ -14,16 +14,19 @@ Gem::Specification.new do |s|
|
|
14
14
|
s.email = %q{jsgoecke@voxeo.com}
|
15
15
|
s.extra_rdoc_files = [
|
16
16
|
"LICENSE",
|
17
|
-
"README.
|
17
|
+
"README.md"
|
18
18
|
]
|
19
19
|
s.files = [
|
20
20
|
".document",
|
21
|
-
"HISTORY.rdoc",
|
21
|
+
# "HISTORY.rdoc",
|
22
22
|
"LICENSE",
|
23
|
-
"README.
|
23
|
+
"README.md",
|
24
24
|
"Rakefile",
|
25
25
|
"VERSION",
|
26
26
|
"examples/sinatra_server.rb",
|
27
|
+
"examples/conferenceJoinLeave.rb",
|
28
|
+
"examples/machineDetection.rb",
|
29
|
+
"examples/transferWhisper.rb",
|
27
30
|
"lib/tropo-webapi-ruby.rb",
|
28
31
|
"lib/tropo-webapi-ruby/object_patch.rb",
|
29
32
|
"lib/tropo-webapi-ruby/tropo-webapi-ruby-helpers.rb",
|
metadata
CHANGED
@@ -1,13 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tropo-webapi-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 1
|
9
|
-
- 11
|
10
|
-
version: 0.1.11
|
4
|
+
version: 0.1.13
|
11
5
|
platform: ruby
|
12
6
|
authors:
|
13
7
|
- Jason Goecke
|
@@ -15,22 +9,15 @@ autorequire:
|
|
15
9
|
bindir: bin
|
16
10
|
cert_chain: []
|
17
11
|
|
18
|
-
date: 2011-06-24 00:00:00
|
19
|
-
default_executable:
|
12
|
+
date: 2011-06-24 00:00:00 Z
|
20
13
|
dependencies:
|
21
14
|
- !ruby/object:Gem::Dependency
|
22
15
|
name: rspec
|
23
16
|
prerelease: false
|
24
17
|
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
18
|
requirements:
|
27
19
|
- - ">="
|
28
20
|
- !ruby/object:Gem::Version
|
29
|
-
hash: 13
|
30
|
-
segments:
|
31
|
-
- 1
|
32
|
-
- 2
|
33
|
-
- 9
|
34
21
|
version: 1.2.9
|
35
22
|
type: :development
|
36
23
|
version_requirements: *id001
|
@@ -38,15 +25,9 @@ dependencies:
|
|
38
25
|
name: json_pure
|
39
26
|
prerelease: false
|
40
27
|
requirement: &id002 !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
28
|
requirements:
|
43
29
|
- - ">="
|
44
30
|
- !ruby/object:Gem::Version
|
45
|
-
hash: 31
|
46
|
-
segments:
|
47
|
-
- 1
|
48
|
-
- 2
|
49
|
-
- 0
|
50
31
|
version: 1.2.0
|
51
32
|
type: :runtime
|
52
33
|
version_requirements: *id002
|
@@ -54,15 +35,9 @@ dependencies:
|
|
54
35
|
name: hashie
|
55
36
|
prerelease: false
|
56
37
|
requirement: &id003 !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
38
|
requirements:
|
59
39
|
- - ">="
|
60
40
|
- !ruby/object:Gem::Version
|
61
|
-
hash: 23
|
62
|
-
segments:
|
63
|
-
- 0
|
64
|
-
- 2
|
65
|
-
- 0
|
66
41
|
version: 0.2.0
|
67
42
|
type: :runtime
|
68
43
|
version_requirements: *id003
|
@@ -74,15 +49,17 @@ extensions: []
|
|
74
49
|
|
75
50
|
extra_rdoc_files:
|
76
51
|
- LICENSE
|
77
|
-
- README.
|
52
|
+
- README.md
|
78
53
|
files:
|
79
54
|
- .document
|
80
|
-
- HISTORY.rdoc
|
81
55
|
- LICENSE
|
82
|
-
- README.
|
56
|
+
- README.md
|
83
57
|
- Rakefile
|
84
58
|
- VERSION
|
59
|
+
- examples/conferenceJoinLeave.rb
|
60
|
+
- examples/machineDetection.rb
|
85
61
|
- examples/sinatra_server.rb
|
62
|
+
- examples/transferWhisper.rb
|
86
63
|
- lib/tropo-webapi-ruby.rb
|
87
64
|
- lib/tropo-webapi-ruby/object_patch.rb
|
88
65
|
- lib/tropo-webapi-ruby/tropo-webapi-ruby-helpers.rb
|
@@ -91,41 +68,33 @@ files:
|
|
91
68
|
- spec/spec_helper.rb
|
92
69
|
- spec/tropo-webapi-ruby_spec.rb
|
93
70
|
- tropo-webapi-ruby.gemspec
|
94
|
-
has_rdoc: true
|
95
71
|
homepage: http://tropo.com
|
96
72
|
licenses: []
|
97
73
|
|
74
|
+
metadata: {}
|
75
|
+
|
98
76
|
post_install_message:
|
99
77
|
rdoc_options: []
|
100
78
|
|
101
79
|
require_paths:
|
102
80
|
- lib
|
103
81
|
required_ruby_version: !ruby/object:Gem::Requirement
|
104
|
-
none: false
|
105
82
|
requirements:
|
106
83
|
- - ">="
|
107
84
|
- !ruby/object:Gem::Version
|
108
|
-
hash: 59
|
109
|
-
segments:
|
110
|
-
- 1
|
111
|
-
- 8
|
112
|
-
- 6
|
113
85
|
version: 1.8.6
|
114
86
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
115
|
-
none: false
|
116
87
|
requirements:
|
117
88
|
- - ">="
|
118
89
|
- !ruby/object:Gem::Version
|
119
|
-
hash: 3
|
120
|
-
segments:
|
121
|
-
- 0
|
122
90
|
version: "0"
|
123
91
|
requirements: []
|
124
92
|
|
125
93
|
rubyforge_project:
|
126
|
-
rubygems_version:
|
94
|
+
rubygems_version: 2.2.2
|
127
95
|
signing_key:
|
128
96
|
specification_version: 3
|
129
97
|
summary: Tropo Web API Ruby Gem
|
130
98
|
test_files: []
|
131
99
|
|
100
|
+
has_rdoc:
|
data/HISTORY.rdoc
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
= Tropo Release History
|
2
|
-
|
3
|
-
== Version 0.1.5
|
4
|
-
|
5
|
-
- First public release
|
6
|
-
|
7
|
-
== Version 0.1.6
|
8
|
-
|
9
|
-
- Added the appropriate ActiveSupport dependency for 'instance_exec' for Ruby 1.8.6 support.
|
10
|
-
- Added a dependency and support for Hashie.
|
11
|
-
|
12
|
-
== Version 0.1.9
|
13
|
-
|
14
|
-
- Fixed the start_recording so it does not require a 'name' parameter
|
15
|
-
- Aliased start_call_recording -> start_recording
|
16
|
-
- Aliased stop_call_recording -> stop_recording
|
17
|
-
- Fixes to the README
|
18
|
-
- Fixed the yardoc install
|
19
|
-
- The Tropo::Generator.parse method will now take a JSON string or a Ruby hash.
|