adhearsion 2.0.0.rc4 → 2.0.0.rc5
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.
- data/CHANGELOG.md +4 -0
- data/adhearsion.gemspec +1 -1
- data/bin/ahn +0 -3
- data/lib/adhearsion.rb +7 -4
- data/lib/adhearsion/call.rb +1 -1
- data/lib/adhearsion/call_controller.rb +1 -0
- data/lib/adhearsion/call_controller/menu_dsl.rb +19 -0
- data/lib/adhearsion/call_controller/menu_dsl/calculated_match.rb +43 -0
- data/lib/adhearsion/call_controller/menu_dsl/calculated_match_collection.rb +45 -0
- data/lib/adhearsion/call_controller/menu_dsl/fixnum_match_calculator.rb +22 -0
- data/lib/adhearsion/call_controller/menu_dsl/match_calculator.rb +40 -0
- data/lib/adhearsion/call_controller/menu_dsl/menu.rb +203 -0
- data/lib/adhearsion/call_controller/menu_dsl/menu_builder.rb +84 -0
- data/lib/adhearsion/call_controller/menu_dsl/range_match_calculator.rb +60 -0
- data/lib/adhearsion/call_controller/menu_dsl/string_match_calculator.rb +25 -0
- data/lib/adhearsion/cli.rb +0 -1
- data/lib/adhearsion/router/route.rb +2 -2
- data/lib/adhearsion/version.rb +1 -1
- data/spec/adhearsion/call_controller/input_spec.rb +1 -1
- data/spec/adhearsion/call_controller/menu_dsl/calculated_match_collection_spec.rb +60 -0
- data/spec/adhearsion/call_controller/menu_dsl/calculated_match_spec.rb +61 -0
- data/spec/adhearsion/call_controller/menu_dsl/fixnum_match_calculator_spec.rb +37 -0
- data/spec/adhearsion/call_controller/menu_dsl/match_calculator_spec.rb +17 -0
- data/spec/adhearsion/call_controller/menu_dsl/menu_builder_spec.rb +151 -0
- data/spec/adhearsion/call_controller/menu_dsl/menu_spec.rb +373 -0
- data/spec/adhearsion/call_controller/menu_dsl/range_match_calculator_spec.rb +32 -0
- data/spec/adhearsion/call_controller/menu_dsl/string_match_calculator_spec.rb +40 -0
- metadata +91 -91
- data/lib/adhearsion/menu_dsl.rb +0 -17
- data/lib/adhearsion/menu_dsl/calculated_match.rb +0 -41
- data/lib/adhearsion/menu_dsl/calculated_match_collection.rb +0 -43
- data/lib/adhearsion/menu_dsl/fixnum_match_calculator.rb +0 -20
- data/lib/adhearsion/menu_dsl/match_calculator.rb +0 -38
- data/lib/adhearsion/menu_dsl/menu.rb +0 -201
- data/lib/adhearsion/menu_dsl/menu_builder.rb +0 -82
- data/lib/adhearsion/menu_dsl/range_match_calculator.rb +0 -58
- data/lib/adhearsion/menu_dsl/string_match_calculator.rb +0 -23
- data/spec/adhearsion/menu_dsl/calculated_match_collection_spec.rb +0 -58
- data/spec/adhearsion/menu_dsl/calculated_match_spec.rb +0 -59
- data/spec/adhearsion/menu_dsl/fixnum_match_calculator_spec.rb +0 -35
- data/spec/adhearsion/menu_dsl/match_calculator_spec.rb +0 -15
- data/spec/adhearsion/menu_dsl/menu_builder_spec.rb +0 -149
- data/spec/adhearsion/menu_dsl/menu_spec.rb +0 -371
- data/spec/adhearsion/menu_dsl/range_match_calculator_spec.rb +0 -30
- data/spec/adhearsion/menu_dsl/string_match_calculator_spec.rb +0 -38
@@ -0,0 +1,373 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
module Adhearsion
|
6
|
+
class CallController
|
7
|
+
module MenuDSL
|
8
|
+
describe Menu do
|
9
|
+
|
10
|
+
let(:options) { Hash.new }
|
11
|
+
subject { Menu.new(options) }
|
12
|
+
|
13
|
+
describe "#initialize" do
|
14
|
+
its(:tries_count) { should be == 0 }
|
15
|
+
|
16
|
+
context 'when no timeout is set' do
|
17
|
+
it "should have the default timeout" do
|
18
|
+
subject.timeout.should be == 5
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
context 'when a timeout is set' do
|
23
|
+
let(:options) {
|
24
|
+
{:timeout => 20}
|
25
|
+
}
|
26
|
+
|
27
|
+
it 'should have the passed timeout' do
|
28
|
+
subject.timeout.should be == 20
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
context 'when no max number of tries is set' do
|
33
|
+
it "should have the default max number of tries" do
|
34
|
+
subject.max_number_of_tries.should be == 1
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
context 'when a max number of tries is set' do
|
39
|
+
let(:options) {
|
40
|
+
{:tries => 3}
|
41
|
+
}
|
42
|
+
|
43
|
+
it 'should have the passed max number of tries' do
|
44
|
+
subject.max_number_of_tries.should be == 3
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
context 'when no terminator is set' do
|
49
|
+
it "should have no terminator" do
|
50
|
+
subject.terminator.should be == ''
|
51
|
+
end
|
52
|
+
|
53
|
+
it 'should not validate successfully' do
|
54
|
+
lambda { subject.validate }.should raise_error(Menu::InvalidStructureError)
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
context 'when a terminator is set' do
|
59
|
+
let(:options) {
|
60
|
+
{:terminator => 3}
|
61
|
+
}
|
62
|
+
|
63
|
+
it 'should have the passed terminator' do
|
64
|
+
subject.terminator.should be == '3'
|
65
|
+
end
|
66
|
+
|
67
|
+
it 'should validate(:basic) successfully' do
|
68
|
+
subject.validate(:basic).should be true
|
69
|
+
end
|
70
|
+
|
71
|
+
it 'should not validate successfully' do
|
72
|
+
lambda { subject.validate }.should raise_error(Menu::InvalidStructureError)
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
context 'when no limit is set' do
|
77
|
+
it "should have no limit" do
|
78
|
+
subject.limit.should be nil
|
79
|
+
end
|
80
|
+
|
81
|
+
it 'should not validate successfully' do
|
82
|
+
lambda { subject.validate }.should raise_error(Menu::InvalidStructureError)
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
86
|
+
context 'when a limit is set' do
|
87
|
+
let(:options) {
|
88
|
+
{:limit => 3}
|
89
|
+
}
|
90
|
+
|
91
|
+
it 'should have the passed limit' do
|
92
|
+
subject.limit.should be == 3
|
93
|
+
end
|
94
|
+
|
95
|
+
it 'should validate(:basic) successfully' do
|
96
|
+
subject.validate(:basic).should be true
|
97
|
+
end
|
98
|
+
|
99
|
+
it 'should not validate successfully' do
|
100
|
+
lambda { subject.validate }.should raise_error(Menu::InvalidStructureError)
|
101
|
+
end
|
102
|
+
end
|
103
|
+
|
104
|
+
context 'when no interruptibility is set' do
|
105
|
+
it "should be interruptible" do
|
106
|
+
subject.interruptible.should be true
|
107
|
+
end
|
108
|
+
end
|
109
|
+
|
110
|
+
context 'when interruptible is set false' do
|
111
|
+
let(:options) {
|
112
|
+
{:interruptible => false}
|
113
|
+
}
|
114
|
+
|
115
|
+
it 'should be interruptible' do
|
116
|
+
subject.interruptible.should be false
|
117
|
+
end
|
118
|
+
end
|
119
|
+
|
120
|
+
context 'when matchers are specified' do
|
121
|
+
subject do
|
122
|
+
Menu.new do
|
123
|
+
match(1) { }
|
124
|
+
end
|
125
|
+
end
|
126
|
+
|
127
|
+
it 'should validate successfully' do
|
128
|
+
subject.validate.should be true
|
129
|
+
end
|
130
|
+
|
131
|
+
it 'should not validate(:basic) successfully' do
|
132
|
+
lambda { subject.validate :basic }.should raise_error(Menu::InvalidStructureError)
|
133
|
+
end
|
134
|
+
end
|
135
|
+
|
136
|
+
context 'menu builder setup' do
|
137
|
+
its(:builder) { should be_a MenuBuilder }
|
138
|
+
|
139
|
+
it "should evaluate the block on the builder object" do
|
140
|
+
mock_menu_builder = flexmock(MenuBuilder.new)
|
141
|
+
flexmock(MenuBuilder).should_receive(:new).and_return(mock_menu_builder)
|
142
|
+
mock_menu_builder.should_receive(:match).once.with(1)
|
143
|
+
Menu.new { match 1 }
|
144
|
+
end
|
145
|
+
end
|
146
|
+
|
147
|
+
end # describe #initialize
|
148
|
+
|
149
|
+
describe "#digit_buffer" do
|
150
|
+
its(:digit_buffer) { should be_a Menu::ClearableStringBuffer }
|
151
|
+
its(:digit_buffer) { should be == "" }
|
152
|
+
end
|
153
|
+
|
154
|
+
describe "#<<" do
|
155
|
+
it "should add a digit to the buffer" do
|
156
|
+
subject << 'a'
|
157
|
+
subject.digit_buffer.should be == 'a'
|
158
|
+
subject.result.should be == 'a'
|
159
|
+
end
|
160
|
+
end
|
161
|
+
|
162
|
+
describe "#digit_buffer_empty?" do
|
163
|
+
it "returns true if buffer is empty" do
|
164
|
+
subject.digit_buffer_empty?.should be == true
|
165
|
+
end
|
166
|
+
|
167
|
+
it "returns false if buffer is not empty" do
|
168
|
+
subject << 1
|
169
|
+
subject.digit_buffer_empty?.should be == false
|
170
|
+
end
|
171
|
+
end
|
172
|
+
|
173
|
+
describe "#digit_buffer_string" do
|
174
|
+
it "returns the digit buffer as a string" do
|
175
|
+
subject << 1
|
176
|
+
subject.digit_buffer_string.should be == "1"
|
177
|
+
end
|
178
|
+
end
|
179
|
+
|
180
|
+
describe "#should_continue?" do
|
181
|
+
it "returns true if the number of tries is less than the maximum" do
|
182
|
+
subject.max_number_of_tries.should be == 1
|
183
|
+
subject.tries_count.should be == 0
|
184
|
+
subject.should_continue?.should be == true
|
185
|
+
end
|
186
|
+
end
|
187
|
+
|
188
|
+
describe "#restart!" do
|
189
|
+
it "increments tries and clears the digit buffer" do
|
190
|
+
subject << 1
|
191
|
+
subject.restart!
|
192
|
+
subject.tries_count.should be == 1
|
193
|
+
subject.digit_buffer_empty?.should be == true
|
194
|
+
end
|
195
|
+
end
|
196
|
+
|
197
|
+
describe "#execute_invalid_hook" do
|
198
|
+
it "calls the builder's execute_hook_for with :invalid" do
|
199
|
+
mock_menu_builder = flexmock(MenuBuilder.new)
|
200
|
+
flexmock(MenuBuilder).should_receive(:new).and_return(mock_menu_builder)
|
201
|
+
mock_menu_builder.should_receive(:execute_hook_for).with(:invalid, "")
|
202
|
+
menu_instance = Menu.new
|
203
|
+
menu_instance.execute_invalid_hook
|
204
|
+
end
|
205
|
+
end
|
206
|
+
|
207
|
+
describe "#execute_timeout_hook" do
|
208
|
+
it "calls the builder's execute_hook_for with :timeout" do
|
209
|
+
mock_menu_builder = flexmock(MenuBuilder.new)
|
210
|
+
flexmock(MenuBuilder).should_receive(:new).and_return(mock_menu_builder)
|
211
|
+
mock_menu_builder.should_receive(:execute_hook_for).with(:timeout, "")
|
212
|
+
menu_instance = Menu.new
|
213
|
+
menu_instance.execute_timeout_hook
|
214
|
+
end
|
215
|
+
end
|
216
|
+
|
217
|
+
describe "#execute_failure_hook" do
|
218
|
+
it "calls the builder's execute_hook_for with :failure" do
|
219
|
+
mock_menu_builder = flexmock(MenuBuilder.new)
|
220
|
+
flexmock(MenuBuilder).should_receive(:new).and_return(mock_menu_builder)
|
221
|
+
mock_menu_builder.should_receive(:execute_hook_for).with(:failure, "")
|
222
|
+
menu_instance = Menu.new
|
223
|
+
menu_instance.execute_failure_hook
|
224
|
+
end
|
225
|
+
end
|
226
|
+
|
227
|
+
describe "#execute_validator_hook" do
|
228
|
+
it "calls the builder's execute_hook_for with :validator" do
|
229
|
+
mock_menu_builder = flexmock(MenuBuilder.new)
|
230
|
+
flexmock(MenuBuilder).should_receive(:new).and_return(mock_menu_builder)
|
231
|
+
mock_menu_builder.should_receive(:execute_hook_for).with(:validator, "")
|
232
|
+
menu_instance = Menu.new
|
233
|
+
menu_instance.execute_validator_hook
|
234
|
+
end
|
235
|
+
end
|
236
|
+
|
237
|
+
describe "#continue" do
|
238
|
+
class MockControllerA; end
|
239
|
+
class MockControllerB; end
|
240
|
+
class MockControllerC; end
|
241
|
+
let(:options) { {} }
|
242
|
+
let(:menu_instance) {
|
243
|
+
Menu.new options do
|
244
|
+
match 1, MockControllerA
|
245
|
+
match 21, MockControllerA
|
246
|
+
match 23, MockControllerA
|
247
|
+
match 3, MockControllerB
|
248
|
+
match 3..5, MockControllerC
|
249
|
+
match 33, MockControllerA
|
250
|
+
match 6, MockControllerC
|
251
|
+
match 6..8, MockControllerA
|
252
|
+
end
|
253
|
+
}
|
254
|
+
|
255
|
+
it "returns a MenuGetAnotherDigitOrTimeout if the digit buffer is empty" do
|
256
|
+
subject.continue.should be_a Menu::MenuGetAnotherDigitOrTimeout
|
257
|
+
menu_instance.status.should be nil
|
258
|
+
end
|
259
|
+
|
260
|
+
it "asks for another digit if it has potential matches" do
|
261
|
+
menu_instance << 2
|
262
|
+
menu_instance.continue.should be_a Menu::MenuGetAnotherDigitOrTimeout
|
263
|
+
menu_instance.status.should be == :potential
|
264
|
+
end
|
265
|
+
|
266
|
+
it "returns a MenuResultInvalid if there are no matches" do
|
267
|
+
menu_instance << 9
|
268
|
+
menu_instance.continue.should be_a Menu::MenuResultInvalid
|
269
|
+
menu_instance.status.should be == :invalid
|
270
|
+
end
|
271
|
+
|
272
|
+
it "returns the first exact match when it has exact and potentials" do
|
273
|
+
menu_instance << 3
|
274
|
+
menu_result = menu_instance.continue
|
275
|
+
menu_result.should be_a Menu::MenuGetAnotherDigitOrFinish
|
276
|
+
menu_result.match_object.should be == MockControllerB
|
277
|
+
menu_result.new_extension.should be == "3"
|
278
|
+
menu_instance.status.should be == :multi_matched
|
279
|
+
end
|
280
|
+
|
281
|
+
it "returns a MenuResultFound if it has exact matches" do
|
282
|
+
menu_instance << 6
|
283
|
+
menu_result = menu_instance.continue
|
284
|
+
menu_result.should be_a Menu::MenuResultFound
|
285
|
+
menu_instance.status.should be == :matched
|
286
|
+
end
|
287
|
+
|
288
|
+
it "returns the first exact match when it has only exact matches" do
|
289
|
+
menu_instance << 6
|
290
|
+
menu_result = menu_instance.continue
|
291
|
+
menu_result.should be_a Menu::MenuResultFound
|
292
|
+
menu_result.match_object.match_payload.should be == MockControllerC
|
293
|
+
menu_result.match_object.pattern.to_s.should be == "6"
|
294
|
+
end
|
295
|
+
|
296
|
+
context "with no matchers" do
|
297
|
+
let(:menu_instance) { Menu.new options }
|
298
|
+
|
299
|
+
context "when a terminator digit is set" do
|
300
|
+
let(:options) { { :terminator => '#' } }
|
301
|
+
|
302
|
+
it "buffers until the terminator is issued then returns a MenuTerminated and sets the status to :terminated, removing the terminator from the buffer" do
|
303
|
+
menu_instance << 2
|
304
|
+
menu_instance << 4
|
305
|
+
menu_instance.continue.should be_a Menu::MenuGetAnotherDigitOrTimeout
|
306
|
+
menu_instance.status.should be == :potential
|
307
|
+
menu_instance << '#'
|
308
|
+
menu_instance.continue.should be_a Menu::MenuTerminated
|
309
|
+
menu_instance.continue.should be_a Menu::MenuResultDone
|
310
|
+
menu_instance.status.should be == :terminated
|
311
|
+
menu_instance.result.should be == '24'
|
312
|
+
end
|
313
|
+
end
|
314
|
+
|
315
|
+
context "when a digit limit is set" do
|
316
|
+
let(:options) { { :limit => 3 } }
|
317
|
+
|
318
|
+
it "buffers until the limit is reached, then returns MenuLimitReached and sets the status to :limited" do
|
319
|
+
menu_instance << 2
|
320
|
+
menu_instance << 4
|
321
|
+
menu_instance.continue.should be_a Menu::MenuGetAnotherDigitOrTimeout
|
322
|
+
menu_instance.status.should be == :potential
|
323
|
+
menu_instance << 2
|
324
|
+
menu_instance.continue.should be_a Menu::MenuLimitReached
|
325
|
+
menu_instance.continue.should be_a Menu::MenuResultDone
|
326
|
+
menu_instance.status.should be == :limited
|
327
|
+
menu_instance.result.should be == '242'
|
328
|
+
end
|
329
|
+
end
|
330
|
+
|
331
|
+
context "when a validator is defined" do
|
332
|
+
let(:menu_instance) do
|
333
|
+
Menu.new options do
|
334
|
+
validator { |buffer| buffer == "242" }
|
335
|
+
end
|
336
|
+
end
|
337
|
+
|
338
|
+
it "buffers until the validator returns true, then returns MenuValidatorTerminated and sets the status to :validator_terminated" do
|
339
|
+
menu_instance << 2
|
340
|
+
menu_instance << 4
|
341
|
+
menu_instance.continue.should be_a Menu::MenuGetAnotherDigitOrTimeout
|
342
|
+
menu_instance.status.should be == :potential
|
343
|
+
menu_instance << 2
|
344
|
+
menu_instance.continue.should be_a Menu::MenuValidatorTerminated
|
345
|
+
menu_instance.continue.should be_a Menu::MenuResultDone
|
346
|
+
menu_instance.status.should be == :validator_terminated
|
347
|
+
menu_instance.result.should be == '242'
|
348
|
+
end
|
349
|
+
end
|
350
|
+
end
|
351
|
+
|
352
|
+
end#continue
|
353
|
+
|
354
|
+
describe Menu::ClearableStringBuffer do
|
355
|
+
subject { Menu::ClearableStringBuffer.new }
|
356
|
+
|
357
|
+
it "adds a string to itself" do
|
358
|
+
subject << 'b'
|
359
|
+
subject << 'c'
|
360
|
+
subject.should be == 'bc'
|
361
|
+
end
|
362
|
+
|
363
|
+
it "clears itself" do
|
364
|
+
subject << 'a'
|
365
|
+
subject.clear!
|
366
|
+
subject.should be == ""
|
367
|
+
end
|
368
|
+
end
|
369
|
+
|
370
|
+
end # describe Menu
|
371
|
+
end
|
372
|
+
end
|
373
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
module Adhearsion
|
6
|
+
class CallController
|
7
|
+
module MenuDSL
|
8
|
+
|
9
|
+
describe RangeMatchCalculator do
|
10
|
+
it "matching with a Range should handle the case of two potential matches in the range" do
|
11
|
+
digits_that_begin_with_eleven = [110..119, 1100..1111].map { |x| Array(x) }.flatten
|
12
|
+
calculator = RangeMatchCalculator.new 11..1111, :match_payload_doesnt_matter
|
13
|
+
match = calculator.match 11
|
14
|
+
match.exact_matches.should be == [11]
|
15
|
+
match.potential_matches.should be == digits_that_begin_with_eleven
|
16
|
+
end
|
17
|
+
|
18
|
+
it "return values of #match should be an instance of CalculatedMatch" do
|
19
|
+
calculator = RangeMatchCalculator.new 1..9, :match_payload_doesnt_matter
|
20
|
+
calculator.match(0).should be_an_instance_of CalculatedMatch
|
21
|
+
calculator.match(1000).should be_an_instance_of CalculatedMatch
|
22
|
+
end
|
23
|
+
|
24
|
+
it "returns a failed match if the query is not numeric or coercible to numeric" do
|
25
|
+
calculator = RangeMatchCalculator.new 1..9, :match_payload_doesnt_matter
|
26
|
+
calculator.match("ABC").should be_an_instance_of CalculatedMatch
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
module Adhearsion
|
6
|
+
class CallController
|
7
|
+
module MenuDSL
|
8
|
+
describe StringMatchCalculator do
|
9
|
+
|
10
|
+
let(:match_payload) { :doesnt_matter }
|
11
|
+
|
12
|
+
it "numerical digits mixed with special digits" do
|
13
|
+
%w[5*11#3 5*** ###].each do |str|
|
14
|
+
calculator = StringMatchCalculator.new str, match_payload
|
15
|
+
|
16
|
+
match_case = calculator.match str[0,2]
|
17
|
+
match_case.exact_match?.should_not be true
|
18
|
+
match_case.potential_match?.should be true
|
19
|
+
match_case.potential_matches.should be == [str]
|
20
|
+
|
21
|
+
match_case = calculator.match str
|
22
|
+
match_case.exact_match?.should be true
|
23
|
+
match_case.potential_match?.should_not be true
|
24
|
+
match_case.exact_matches.should be == [str]
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
it "matching the special DTMF characters such as * and #" do
|
29
|
+
%w[* #].each do |special_digit|
|
30
|
+
calculator = StringMatchCalculator.new(special_digit, match_payload)
|
31
|
+
match_case = calculator.match special_digit
|
32
|
+
match_case.potential_match?.should_not be true
|
33
|
+
match_case.exact_match?.should be true
|
34
|
+
match_case.exact_matches.first.should be == special_digit
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: adhearsion
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.0.
|
4
|
+
version: 2.0.0.rc5
|
5
5
|
prerelease: 6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -12,11 +12,11 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date: 2012-
|
15
|
+
date: 2012-04-06 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: bundler
|
19
|
-
requirement: &
|
19
|
+
requirement: &2160082980 !ruby/object:Gem::Requirement
|
20
20
|
none: false
|
21
21
|
requirements:
|
22
22
|
- - ! '>='
|
@@ -24,10 +24,10 @@ dependencies:
|
|
24
24
|
version: 1.0.10
|
25
25
|
type: :runtime
|
26
26
|
prerelease: false
|
27
|
-
version_requirements: *
|
27
|
+
version_requirements: *2160082980
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: punchblock
|
30
|
-
requirement: &
|
30
|
+
requirement: &2160085060 !ruby/object:Gem::Requirement
|
31
31
|
none: false
|
32
32
|
requirements:
|
33
33
|
- - ! '>='
|
@@ -35,10 +35,10 @@ dependencies:
|
|
35
35
|
version: 0.12.0
|
36
36
|
type: :runtime
|
37
37
|
prerelease: false
|
38
|
-
version_requirements: *
|
38
|
+
version_requirements: *2160085060
|
39
39
|
- !ruby/object:Gem::Dependency
|
40
40
|
name: logging
|
41
|
-
requirement: &
|
41
|
+
requirement: &2160122360 !ruby/object:Gem::Requirement
|
42
42
|
none: false
|
43
43
|
requirements:
|
44
44
|
- - ! '>='
|
@@ -46,10 +46,10 @@ dependencies:
|
|
46
46
|
version: 1.6.1
|
47
47
|
type: :runtime
|
48
48
|
prerelease: false
|
49
|
-
version_requirements: *
|
49
|
+
version_requirements: *2160122360
|
50
50
|
- !ruby/object:Gem::Dependency
|
51
51
|
name: adhearsion-loquacious
|
52
|
-
requirement: &
|
52
|
+
requirement: &2160118660 !ruby/object:Gem::Requirement
|
53
53
|
none: false
|
54
54
|
requirements:
|
55
55
|
- - ! '>='
|
@@ -57,10 +57,10 @@ dependencies:
|
|
57
57
|
version: 1.9.0
|
58
58
|
type: :runtime
|
59
59
|
prerelease: false
|
60
|
-
version_requirements: *
|
60
|
+
version_requirements: *2160118660
|
61
61
|
- !ruby/object:Gem::Dependency
|
62
62
|
name: activesupport
|
63
|
-
requirement: &
|
63
|
+
requirement: &2160130100 !ruby/object:Gem::Requirement
|
64
64
|
none: false
|
65
65
|
requirements:
|
66
66
|
- - ! '>='
|
@@ -68,10 +68,10 @@ dependencies:
|
|
68
68
|
version: 3.0.10
|
69
69
|
type: :runtime
|
70
70
|
prerelease: false
|
71
|
-
version_requirements: *
|
71
|
+
version_requirements: *2160130100
|
72
72
|
- !ruby/object:Gem::Dependency
|
73
73
|
name: i18n
|
74
|
-
requirement: &
|
74
|
+
requirement: &2160151980 !ruby/object:Gem::Requirement
|
75
75
|
none: false
|
76
76
|
requirements:
|
77
77
|
- - ! '>='
|
@@ -79,10 +79,10 @@ dependencies:
|
|
79
79
|
version: 0.5.0
|
80
80
|
type: :runtime
|
81
81
|
prerelease: false
|
82
|
-
version_requirements: *
|
82
|
+
version_requirements: *2160151980
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: json
|
85
|
-
requirement: &
|
85
|
+
requirement: &2160150160 !ruby/object:Gem::Requirement
|
86
86
|
none: false
|
87
87
|
requirements:
|
88
88
|
- - ! '>='
|
@@ -90,10 +90,10 @@ dependencies:
|
|
90
90
|
version: '0'
|
91
91
|
type: :runtime
|
92
92
|
prerelease: false
|
93
|
-
version_requirements: *
|
93
|
+
version_requirements: *2160150160
|
94
94
|
- !ruby/object:Gem::Dependency
|
95
95
|
name: thor
|
96
|
-
requirement: &
|
96
|
+
requirement: &2160148100 !ruby/object:Gem::Requirement
|
97
97
|
none: false
|
98
98
|
requirements:
|
99
99
|
- - ! '>='
|
@@ -101,10 +101,10 @@ dependencies:
|
|
101
101
|
version: '0'
|
102
102
|
type: :runtime
|
103
103
|
prerelease: false
|
104
|
-
version_requirements: *
|
104
|
+
version_requirements: *2160148100
|
105
105
|
- !ruby/object:Gem::Dependency
|
106
106
|
name: rake
|
107
|
-
requirement: &
|
107
|
+
requirement: &2160146860 !ruby/object:Gem::Requirement
|
108
108
|
none: false
|
109
109
|
requirements:
|
110
110
|
- - ! '>='
|
@@ -112,10 +112,10 @@ dependencies:
|
|
112
112
|
version: '0'
|
113
113
|
type: :runtime
|
114
114
|
prerelease: false
|
115
|
-
version_requirements: *
|
115
|
+
version_requirements: *2160146860
|
116
116
|
- !ruby/object:Gem::Dependency
|
117
117
|
name: pry
|
118
|
-
requirement: &
|
118
|
+
requirement: &2160144620 !ruby/object:Gem::Requirement
|
119
119
|
none: false
|
120
120
|
requirements:
|
121
121
|
- - ! '>='
|
@@ -123,10 +123,10 @@ dependencies:
|
|
123
123
|
version: '0'
|
124
124
|
type: :runtime
|
125
125
|
prerelease: false
|
126
|
-
version_requirements: *
|
126
|
+
version_requirements: *2160144620
|
127
127
|
- !ruby/object:Gem::Dependency
|
128
128
|
name: uuid
|
129
|
-
requirement: &
|
129
|
+
requirement: &2160221660 !ruby/object:Gem::Requirement
|
130
130
|
none: false
|
131
131
|
requirements:
|
132
132
|
- - ! '>='
|
@@ -134,10 +134,10 @@ dependencies:
|
|
134
134
|
version: '0'
|
135
135
|
type: :runtime
|
136
136
|
prerelease: false
|
137
|
-
version_requirements: *
|
137
|
+
version_requirements: *2160221660
|
138
138
|
- !ruby/object:Gem::Dependency
|
139
139
|
name: future-resource
|
140
|
-
requirement: &
|
140
|
+
requirement: &2160219300 !ruby/object:Gem::Requirement
|
141
141
|
none: false
|
142
142
|
requirements:
|
143
143
|
- - ! '>='
|
@@ -145,10 +145,10 @@ dependencies:
|
|
145
145
|
version: 0.0.2
|
146
146
|
type: :runtime
|
147
147
|
prerelease: false
|
148
|
-
version_requirements: *
|
148
|
+
version_requirements: *2160219300
|
149
149
|
- !ruby/object:Gem::Dependency
|
150
150
|
name: ruby_speech
|
151
|
-
requirement: &
|
151
|
+
requirement: &2160216340 !ruby/object:Gem::Requirement
|
152
152
|
none: false
|
153
153
|
requirements:
|
154
154
|
- - ! '>='
|
@@ -156,10 +156,10 @@ dependencies:
|
|
156
156
|
version: 0.4.0
|
157
157
|
type: :runtime
|
158
158
|
prerelease: false
|
159
|
-
version_requirements: *
|
159
|
+
version_requirements: *2160216340
|
160
160
|
- !ruby/object:Gem::Dependency
|
161
161
|
name: countdownlatch
|
162
|
-
requirement: &
|
162
|
+
requirement: &2151956180 !ruby/object:Gem::Requirement
|
163
163
|
none: false
|
164
164
|
requirements:
|
165
165
|
- - ! '>='
|
@@ -167,10 +167,10 @@ dependencies:
|
|
167
167
|
version: '0'
|
168
168
|
type: :runtime
|
169
169
|
prerelease: false
|
170
|
-
version_requirements: *
|
170
|
+
version_requirements: *2151956180
|
171
171
|
- !ruby/object:Gem::Dependency
|
172
172
|
name: has-guarded-handlers
|
173
|
-
requirement: &
|
173
|
+
requirement: &2152014720 !ruby/object:Gem::Requirement
|
174
174
|
none: false
|
175
175
|
requirements:
|
176
176
|
- - ! '>='
|
@@ -178,10 +178,10 @@ dependencies:
|
|
178
178
|
version: 1.1.0
|
179
179
|
type: :runtime
|
180
180
|
prerelease: false
|
181
|
-
version_requirements: *
|
181
|
+
version_requirements: *2152014720
|
182
182
|
- !ruby/object:Gem::Dependency
|
183
183
|
name: girl_friday
|
184
|
-
requirement: &
|
184
|
+
requirement: &2152013300 !ruby/object:Gem::Requirement
|
185
185
|
none: false
|
186
186
|
requirements:
|
187
187
|
- - ! '>='
|
@@ -189,10 +189,10 @@ dependencies:
|
|
189
189
|
version: '0'
|
190
190
|
type: :runtime
|
191
191
|
prerelease: false
|
192
|
-
version_requirements: *
|
192
|
+
version_requirements: *2152013300
|
193
193
|
- !ruby/object:Gem::Dependency
|
194
194
|
name: ffi
|
195
|
-
requirement: &
|
195
|
+
requirement: &2152011820 !ruby/object:Gem::Requirement
|
196
196
|
none: false
|
197
197
|
requirements:
|
198
198
|
- - ! '>='
|
@@ -200,21 +200,21 @@ dependencies:
|
|
200
200
|
version: 1.0.11
|
201
201
|
type: :runtime
|
202
202
|
prerelease: false
|
203
|
-
version_requirements: *
|
203
|
+
version_requirements: *2152011820
|
204
204
|
- !ruby/object:Gem::Dependency
|
205
205
|
name: celluloid
|
206
|
-
requirement: &
|
206
|
+
requirement: &2152010660 !ruby/object:Gem::Requirement
|
207
207
|
none: false
|
208
208
|
requirements:
|
209
209
|
- - ! '>='
|
210
210
|
- !ruby/object:Gem::Version
|
211
|
-
version: 0.
|
211
|
+
version: 0.10.0
|
212
212
|
type: :runtime
|
213
213
|
prerelease: false
|
214
|
-
version_requirements: *
|
214
|
+
version_requirements: *2152010660
|
215
215
|
- !ruby/object:Gem::Dependency
|
216
216
|
name: deep_merge
|
217
|
-
requirement: &
|
217
|
+
requirement: &2152009860 !ruby/object:Gem::Requirement
|
218
218
|
none: false
|
219
219
|
requirements:
|
220
220
|
- - ! '>='
|
@@ -222,10 +222,10 @@ dependencies:
|
|
222
222
|
version: '0'
|
223
223
|
type: :runtime
|
224
224
|
prerelease: false
|
225
|
-
version_requirements: *
|
225
|
+
version_requirements: *2152009860
|
226
226
|
- !ruby/object:Gem::Dependency
|
227
227
|
name: rspec
|
228
|
-
requirement: &
|
228
|
+
requirement: &2152008540 !ruby/object:Gem::Requirement
|
229
229
|
none: false
|
230
230
|
requirements:
|
231
231
|
- - ~>
|
@@ -233,10 +233,10 @@ dependencies:
|
|
233
233
|
version: 2.7.0
|
234
234
|
type: :development
|
235
235
|
prerelease: false
|
236
|
-
version_requirements: *
|
236
|
+
version_requirements: *2152008540
|
237
237
|
- !ruby/object:Gem::Dependency
|
238
238
|
name: flexmock
|
239
|
-
requirement: &
|
239
|
+
requirement: &2152007520 !ruby/object:Gem::Requirement
|
240
240
|
none: false
|
241
241
|
requirements:
|
242
242
|
- - ! '>='
|
@@ -244,10 +244,10 @@ dependencies:
|
|
244
244
|
version: '0'
|
245
245
|
type: :development
|
246
246
|
prerelease: false
|
247
|
-
version_requirements: *
|
247
|
+
version_requirements: *2152007520
|
248
248
|
- !ruby/object:Gem::Dependency
|
249
249
|
name: activerecord
|
250
|
-
requirement: &
|
250
|
+
requirement: &2152036300 !ruby/object:Gem::Requirement
|
251
251
|
none: false
|
252
252
|
requirements:
|
253
253
|
- - ! '>='
|
@@ -255,10 +255,10 @@ dependencies:
|
|
255
255
|
version: 3.0.10
|
256
256
|
type: :development
|
257
257
|
prerelease: false
|
258
|
-
version_requirements: *
|
258
|
+
version_requirements: *2152036300
|
259
259
|
- !ruby/object:Gem::Dependency
|
260
260
|
name: simplecov
|
261
|
-
requirement: &
|
261
|
+
requirement: &2152034420 !ruby/object:Gem::Requirement
|
262
262
|
none: false
|
263
263
|
requirements:
|
264
264
|
- - ! '>='
|
@@ -266,10 +266,10 @@ dependencies:
|
|
266
266
|
version: '0'
|
267
267
|
type: :development
|
268
268
|
prerelease: false
|
269
|
-
version_requirements: *
|
269
|
+
version_requirements: *2152034420
|
270
270
|
- !ruby/object:Gem::Dependency
|
271
271
|
name: simplecov-rcov
|
272
|
-
requirement: &
|
272
|
+
requirement: &2152031820 !ruby/object:Gem::Requirement
|
273
273
|
none: false
|
274
274
|
requirements:
|
275
275
|
- - ! '>='
|
@@ -277,10 +277,10 @@ dependencies:
|
|
277
277
|
version: '0'
|
278
278
|
type: :development
|
279
279
|
prerelease: false
|
280
|
-
version_requirements: *
|
280
|
+
version_requirements: *2152031820
|
281
281
|
- !ruby/object:Gem::Dependency
|
282
282
|
name: ci_reporter
|
283
|
-
requirement: &
|
283
|
+
requirement: &2155914300 !ruby/object:Gem::Requirement
|
284
284
|
none: false
|
285
285
|
requirements:
|
286
286
|
- - ! '>='
|
@@ -288,10 +288,10 @@ dependencies:
|
|
288
288
|
version: '0'
|
289
289
|
type: :development
|
290
290
|
prerelease: false
|
291
|
-
version_requirements: *
|
291
|
+
version_requirements: *2155914300
|
292
292
|
- !ruby/object:Gem::Dependency
|
293
293
|
name: yard
|
294
|
-
requirement: &
|
294
|
+
requirement: &2155910500 !ruby/object:Gem::Requirement
|
295
295
|
none: false
|
296
296
|
requirements:
|
297
297
|
- - ! '>='
|
@@ -299,10 +299,10 @@ dependencies:
|
|
299
299
|
version: '0'
|
300
300
|
type: :development
|
301
301
|
prerelease: false
|
302
|
-
version_requirements: *
|
302
|
+
version_requirements: *2155910500
|
303
303
|
- !ruby/object:Gem::Dependency
|
304
304
|
name: guard-rspec
|
305
|
-
requirement: &
|
305
|
+
requirement: &2155908700 !ruby/object:Gem::Requirement
|
306
306
|
none: false
|
307
307
|
requirements:
|
308
308
|
- - ! '>='
|
@@ -310,10 +310,10 @@ dependencies:
|
|
310
310
|
version: '0'
|
311
311
|
type: :development
|
312
312
|
prerelease: false
|
313
|
-
version_requirements: *
|
313
|
+
version_requirements: *2155908700
|
314
314
|
- !ruby/object:Gem::Dependency
|
315
315
|
name: guard-cucumber
|
316
|
-
requirement: &
|
316
|
+
requirement: &2155922760 !ruby/object:Gem::Requirement
|
317
317
|
none: false
|
318
318
|
requirements:
|
319
319
|
- - ! '>='
|
@@ -321,10 +321,10 @@ dependencies:
|
|
321
321
|
version: '0'
|
322
322
|
type: :development
|
323
323
|
prerelease: false
|
324
|
-
version_requirements: *
|
324
|
+
version_requirements: *2155922760
|
325
325
|
- !ruby/object:Gem::Dependency
|
326
326
|
name: ruby_gntp
|
327
|
-
requirement: &
|
327
|
+
requirement: &2155917860 !ruby/object:Gem::Requirement
|
328
328
|
none: false
|
329
329
|
requirements:
|
330
330
|
- - ! '>='
|
@@ -332,10 +332,10 @@ dependencies:
|
|
332
332
|
version: '0'
|
333
333
|
type: :development
|
334
334
|
prerelease: false
|
335
|
-
version_requirements: *
|
335
|
+
version_requirements: *2155917860
|
336
336
|
- !ruby/object:Gem::Dependency
|
337
337
|
name: cucumber
|
338
|
-
requirement: &
|
338
|
+
requirement: &2155953840 !ruby/object:Gem::Requirement
|
339
339
|
none: false
|
340
340
|
requirements:
|
341
341
|
- - ! '>='
|
@@ -343,10 +343,10 @@ dependencies:
|
|
343
343
|
version: '0'
|
344
344
|
type: :development
|
345
345
|
prerelease: false
|
346
|
-
version_requirements: *
|
346
|
+
version_requirements: *2155953840
|
347
347
|
- !ruby/object:Gem::Dependency
|
348
348
|
name: aruba
|
349
|
-
requirement: &
|
349
|
+
requirement: &2155951020 !ruby/object:Gem::Requirement
|
350
350
|
none: false
|
351
351
|
requirements:
|
352
352
|
- - ! '>='
|
@@ -354,7 +354,7 @@ dependencies:
|
|
354
354
|
version: '0'
|
355
355
|
type: :development
|
356
356
|
prerelease: false
|
357
|
-
version_requirements: *
|
357
|
+
version_requirements: *2155951020
|
358
358
|
description: Adhearsion is an open-source telephony development framework
|
359
359
|
email: dev&Adhearsion.com
|
360
360
|
executables:
|
@@ -394,6 +394,15 @@ files:
|
|
394
394
|
- lib/adhearsion/call_controller.rb
|
395
395
|
- lib/adhearsion/call_controller/dial.rb
|
396
396
|
- lib/adhearsion/call_controller/input.rb
|
397
|
+
- lib/adhearsion/call_controller/menu_dsl.rb
|
398
|
+
- lib/adhearsion/call_controller/menu_dsl/calculated_match.rb
|
399
|
+
- lib/adhearsion/call_controller/menu_dsl/calculated_match_collection.rb
|
400
|
+
- lib/adhearsion/call_controller/menu_dsl/fixnum_match_calculator.rb
|
401
|
+
- lib/adhearsion/call_controller/menu_dsl/match_calculator.rb
|
402
|
+
- lib/adhearsion/call_controller/menu_dsl/menu.rb
|
403
|
+
- lib/adhearsion/call_controller/menu_dsl/menu_builder.rb
|
404
|
+
- lib/adhearsion/call_controller/menu_dsl/range_match_calculator.rb
|
405
|
+
- lib/adhearsion/call_controller/menu_dsl/string_match_calculator.rb
|
397
406
|
- lib/adhearsion/call_controller/output.rb
|
398
407
|
- lib/adhearsion/call_controller/record.rb
|
399
408
|
- lib/adhearsion/call_controller/utility.rb
|
@@ -442,15 +451,6 @@ files:
|
|
442
451
|
- lib/adhearsion/initializer.rb
|
443
452
|
- lib/adhearsion/linux_proc_name.rb
|
444
453
|
- lib/adhearsion/logging.rb
|
445
|
-
- lib/adhearsion/menu_dsl.rb
|
446
|
-
- lib/adhearsion/menu_dsl/calculated_match.rb
|
447
|
-
- lib/adhearsion/menu_dsl/calculated_match_collection.rb
|
448
|
-
- lib/adhearsion/menu_dsl/fixnum_match_calculator.rb
|
449
|
-
- lib/adhearsion/menu_dsl/match_calculator.rb
|
450
|
-
- lib/adhearsion/menu_dsl/menu.rb
|
451
|
-
- lib/adhearsion/menu_dsl/menu_builder.rb
|
452
|
-
- lib/adhearsion/menu_dsl/range_match_calculator.rb
|
453
|
-
- lib/adhearsion/menu_dsl/string_match_calculator.rb
|
454
454
|
- lib/adhearsion/outbound_call.rb
|
455
455
|
- lib/adhearsion/plugin.rb
|
456
456
|
- lib/adhearsion/plugin/collection.rb
|
@@ -472,6 +472,14 @@ files:
|
|
472
472
|
- pre-commit
|
473
473
|
- spec/adhearsion/call_controller/dial_spec.rb
|
474
474
|
- spec/adhearsion/call_controller/input_spec.rb
|
475
|
+
- spec/adhearsion/call_controller/menu_dsl/calculated_match_collection_spec.rb
|
476
|
+
- spec/adhearsion/call_controller/menu_dsl/calculated_match_spec.rb
|
477
|
+
- spec/adhearsion/call_controller/menu_dsl/fixnum_match_calculator_spec.rb
|
478
|
+
- spec/adhearsion/call_controller/menu_dsl/match_calculator_spec.rb
|
479
|
+
- spec/adhearsion/call_controller/menu_dsl/menu_builder_spec.rb
|
480
|
+
- spec/adhearsion/call_controller/menu_dsl/menu_spec.rb
|
481
|
+
- spec/adhearsion/call_controller/menu_dsl/range_match_calculator_spec.rb
|
482
|
+
- spec/adhearsion/call_controller/menu_dsl/string_match_calculator_spec.rb
|
475
483
|
- spec/adhearsion/call_controller/output_spec.rb
|
476
484
|
- spec/adhearsion/call_controller/record_spec.rb
|
477
485
|
- spec/adhearsion/call_controller/utility_spec.rb
|
@@ -484,14 +492,6 @@ files:
|
|
484
492
|
- spec/adhearsion/generators_spec.rb
|
485
493
|
- spec/adhearsion/initializer_spec.rb
|
486
494
|
- spec/adhearsion/logging_spec.rb
|
487
|
-
- spec/adhearsion/menu_dsl/calculated_match_collection_spec.rb
|
488
|
-
- spec/adhearsion/menu_dsl/calculated_match_spec.rb
|
489
|
-
- spec/adhearsion/menu_dsl/fixnum_match_calculator_spec.rb
|
490
|
-
- spec/adhearsion/menu_dsl/match_calculator_spec.rb
|
491
|
-
- spec/adhearsion/menu_dsl/menu_builder_spec.rb
|
492
|
-
- spec/adhearsion/menu_dsl/menu_spec.rb
|
493
|
-
- spec/adhearsion/menu_dsl/range_match_calculator_spec.rb
|
494
|
-
- spec/adhearsion/menu_dsl/string_match_calculator_spec.rb
|
495
495
|
- spec/adhearsion/outbound_call_spec.rb
|
496
496
|
- spec/adhearsion/plugin_spec.rb
|
497
497
|
- spec/adhearsion/process_spec.rb
|
@@ -520,7 +520,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
520
520
|
version: '0'
|
521
521
|
segments:
|
522
522
|
- 0
|
523
|
-
hash:
|
523
|
+
hash: -509637299476401617
|
524
524
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
525
525
|
none: false
|
526
526
|
requirements:
|
@@ -551,6 +551,14 @@ test_files:
|
|
551
551
|
- features/support/utils.rb
|
552
552
|
- spec/adhearsion/call_controller/dial_spec.rb
|
553
553
|
- spec/adhearsion/call_controller/input_spec.rb
|
554
|
+
- spec/adhearsion/call_controller/menu_dsl/calculated_match_collection_spec.rb
|
555
|
+
- spec/adhearsion/call_controller/menu_dsl/calculated_match_spec.rb
|
556
|
+
- spec/adhearsion/call_controller/menu_dsl/fixnum_match_calculator_spec.rb
|
557
|
+
- spec/adhearsion/call_controller/menu_dsl/match_calculator_spec.rb
|
558
|
+
- spec/adhearsion/call_controller/menu_dsl/menu_builder_spec.rb
|
559
|
+
- spec/adhearsion/call_controller/menu_dsl/menu_spec.rb
|
560
|
+
- spec/adhearsion/call_controller/menu_dsl/range_match_calculator_spec.rb
|
561
|
+
- spec/adhearsion/call_controller/menu_dsl/string_match_calculator_spec.rb
|
554
562
|
- spec/adhearsion/call_controller/output_spec.rb
|
555
563
|
- spec/adhearsion/call_controller/record_spec.rb
|
556
564
|
- spec/adhearsion/call_controller/utility_spec.rb
|
@@ -563,14 +571,6 @@ test_files:
|
|
563
571
|
- spec/adhearsion/generators_spec.rb
|
564
572
|
- spec/adhearsion/initializer_spec.rb
|
565
573
|
- spec/adhearsion/logging_spec.rb
|
566
|
-
- spec/adhearsion/menu_dsl/calculated_match_collection_spec.rb
|
567
|
-
- spec/adhearsion/menu_dsl/calculated_match_spec.rb
|
568
|
-
- spec/adhearsion/menu_dsl/fixnum_match_calculator_spec.rb
|
569
|
-
- spec/adhearsion/menu_dsl/match_calculator_spec.rb
|
570
|
-
- spec/adhearsion/menu_dsl/menu_builder_spec.rb
|
571
|
-
- spec/adhearsion/menu_dsl/menu_spec.rb
|
572
|
-
- spec/adhearsion/menu_dsl/range_match_calculator_spec.rb
|
573
|
-
- spec/adhearsion/menu_dsl/string_match_calculator_spec.rb
|
574
574
|
- spec/adhearsion/outbound_call_spec.rb
|
575
575
|
- spec/adhearsion/plugin_spec.rb
|
576
576
|
- spec/adhearsion/process_spec.rb
|