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
@@ -1,30 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require 'spec_helper'
|
4
|
-
|
5
|
-
module Adhearsion
|
6
|
-
module MenuDSL
|
7
|
-
|
8
|
-
describe RangeMatchCalculator do
|
9
|
-
it "matching with a Range should handle the case of two potential matches in the range" do
|
10
|
-
digits_that_begin_with_eleven = [110..119, 1100..1111].map { |x| Array(x) }.flatten
|
11
|
-
calculator = RangeMatchCalculator.new 11..1111, :match_payload_doesnt_matter
|
12
|
-
match = calculator.match 11
|
13
|
-
match.exact_matches.should be == [11]
|
14
|
-
match.potential_matches.should be == digits_that_begin_with_eleven
|
15
|
-
end
|
16
|
-
|
17
|
-
it "return values of #match should be an instance of CalculatedMatch" do
|
18
|
-
calculator = RangeMatchCalculator.new 1..9, :match_payload_doesnt_matter
|
19
|
-
calculator.match(0).should be_an_instance_of CalculatedMatch
|
20
|
-
calculator.match(1000).should be_an_instance_of CalculatedMatch
|
21
|
-
end
|
22
|
-
|
23
|
-
it "returns a failed match if the query is not numeric or coercible to numeric" do
|
24
|
-
calculator = RangeMatchCalculator.new 1..9, :match_payload_doesnt_matter
|
25
|
-
calculator.match("ABC").should be_an_instance_of CalculatedMatch
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
|
-
end
|
30
|
-
end
|
@@ -1,38 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require 'spec_helper'
|
4
|
-
|
5
|
-
module Adhearsion
|
6
|
-
module MenuDSL
|
7
|
-
describe StringMatchCalculator do
|
8
|
-
|
9
|
-
let(:match_payload) { :doesnt_matter }
|
10
|
-
|
11
|
-
it "numerical digits mixed with special digits" do
|
12
|
-
%w[5*11#3 5*** ###].each do |str|
|
13
|
-
calculator = StringMatchCalculator.new str, match_payload
|
14
|
-
|
15
|
-
match_case = calculator.match str[0,2]
|
16
|
-
match_case.exact_match?.should_not be true
|
17
|
-
match_case.potential_match?.should be true
|
18
|
-
match_case.potential_matches.should be == [str]
|
19
|
-
|
20
|
-
match_case = calculator.match str
|
21
|
-
match_case.exact_match?.should be true
|
22
|
-
match_case.potential_match?.should_not be true
|
23
|
-
match_case.exact_matches.should be == [str]
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
it "matching the special DTMF characters such as * and #" do
|
28
|
-
%w[* #].each do |special_digit|
|
29
|
-
calculator = StringMatchCalculator.new(special_digit, match_payload)
|
30
|
-
match_case = calculator.match special_digit
|
31
|
-
match_case.potential_match?.should_not be true
|
32
|
-
match_case.exact_match?.should be true
|
33
|
-
match_case.exact_matches.first.should be == special_digit
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|