adhearsion 2.0.0.beta1 → 2.0.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (118) hide show
  1. data/.travis.yml +2 -4
  2. data/CHANGELOG.md +34 -4
  3. data/README.markdown +2 -1
  4. data/Rakefile +22 -1
  5. data/adhearsion.gemspec +1 -0
  6. data/bin/ahn +0 -2
  7. data/features/cli_daemon.feature +2 -0
  8. data/features/cli_restart.feature +19 -0
  9. data/features/cli_start.feature +4 -6
  10. data/features/cli_stop.feature +3 -0
  11. data/features/step_definitions/app_generator_steps.rb +2 -0
  12. data/features/step_definitions/cli_steps.rb +2 -0
  13. data/features/support/aruba_helper.rb +2 -0
  14. data/features/support/env.rb +8 -46
  15. data/features/support/utils.rb +2 -0
  16. data/lib/adhearsion.rb +4 -6
  17. data/lib/adhearsion/call.rb +71 -17
  18. data/lib/adhearsion/call_controller.rb +25 -14
  19. data/lib/adhearsion/call_controller/dial.rb +34 -15
  20. data/lib/adhearsion/call_controller/input.rb +186 -144
  21. data/lib/adhearsion/call_controller/output.rb +10 -6
  22. data/lib/adhearsion/call_controller/record.rb +11 -13
  23. data/lib/adhearsion/call_controller/utility.rb +2 -0
  24. data/lib/adhearsion/calls.rb +4 -2
  25. data/lib/adhearsion/cli.rb +4 -0
  26. data/lib/adhearsion/cli_commands.rb +8 -2
  27. data/lib/adhearsion/configuration.rb +7 -3
  28. data/lib/adhearsion/console.rb +17 -17
  29. data/lib/adhearsion/events.rb +10 -4
  30. data/lib/adhearsion/foundation.rb +9 -0
  31. data/lib/adhearsion/foundation/custom_daemonizer.rb +3 -1
  32. data/lib/adhearsion/foundation/exception_handler.rb +2 -0
  33. data/lib/adhearsion/foundation/libc.rb +2 -0
  34. data/lib/adhearsion/foundation/object.rb +3 -0
  35. data/lib/adhearsion/foundation/thread_safety.rb +5 -11
  36. data/lib/adhearsion/generators.rb +2 -0
  37. data/lib/adhearsion/generators/app/app_generator.rb +2 -0
  38. data/lib/adhearsion/generators/app/templates/README.md +9 -0
  39. data/lib/adhearsion/generators/app/templates/config/adhearsion.rb +38 -16
  40. data/lib/adhearsion/generators/app/templates/config/environment.rb +2 -0
  41. data/lib/adhearsion/generators/app/templates/lib/simon_game.rb +5 -3
  42. data/lib/adhearsion/generators/controller/controller_generator.rb +2 -0
  43. data/lib/adhearsion/generators/controller/templates/lib/controller.rb +2 -0
  44. data/lib/adhearsion/generators/controller/templates/spec/controller_spec.rb +2 -0
  45. data/lib/adhearsion/generators/generator.rb +3 -1
  46. data/lib/adhearsion/generators/plugin/plugin_generator.rb +2 -0
  47. data/lib/adhearsion/initializer.rb +31 -17
  48. data/lib/adhearsion/linux_proc_name.rb +2 -0
  49. data/lib/adhearsion/logging.rb +5 -3
  50. data/lib/adhearsion/menu_dsl.rb +2 -0
  51. data/lib/adhearsion/menu_dsl/calculated_match.rb +2 -0
  52. data/lib/adhearsion/menu_dsl/calculated_match_collection.rb +2 -0
  53. data/lib/adhearsion/menu_dsl/fixnum_match_calculator.rb +2 -0
  54. data/lib/adhearsion/menu_dsl/match_calculator.rb +2 -0
  55. data/lib/adhearsion/menu_dsl/menu.rb +58 -4
  56. data/lib/adhearsion/menu_dsl/menu_builder.rb +14 -1
  57. data/lib/adhearsion/menu_dsl/range_match_calculator.rb +4 -1
  58. data/lib/adhearsion/menu_dsl/string_match_calculator.rb +2 -0
  59. data/lib/adhearsion/outbound_call.rb +2 -0
  60. data/lib/adhearsion/plugin.rb +9 -7
  61. data/lib/adhearsion/plugin/collection.rb +3 -1
  62. data/lib/adhearsion/plugin/initializer.rb +3 -1
  63. data/lib/adhearsion/process.rb +8 -2
  64. data/lib/adhearsion/punchblock_plugin.rb +3 -1
  65. data/lib/adhearsion/punchblock_plugin/initializer.rb +34 -11
  66. data/lib/adhearsion/router.rb +4 -2
  67. data/lib/adhearsion/router/route.rb +2 -0
  68. data/lib/adhearsion/script_ahn_loader.rb +2 -0
  69. data/lib/adhearsion/tasks.rb +2 -0
  70. data/lib/adhearsion/tasks/configuration.rb +2 -0
  71. data/lib/adhearsion/tasks/debugging.rb +8 -0
  72. data/lib/adhearsion/tasks/environment.rb +2 -0
  73. data/lib/adhearsion/tasks/plugins.rb +2 -0
  74. data/lib/adhearsion/tasks/testing.rb +2 -0
  75. data/lib/adhearsion/version.rb +3 -1
  76. data/pre-commit +2 -0
  77. data/spec/adhearsion/call_controller/dial_spec.rb +114 -25
  78. data/spec/adhearsion/call_controller/input_spec.rb +192 -169
  79. data/spec/adhearsion/call_controller/output_spec.rb +26 -12
  80. data/spec/adhearsion/call_controller/record_spec.rb +29 -77
  81. data/spec/adhearsion/call_controller/utility_spec.rb +69 -0
  82. data/spec/adhearsion/call_controller_spec.rb +90 -15
  83. data/spec/adhearsion/call_spec.rb +92 -24
  84. data/spec/adhearsion/calls_spec.rb +9 -7
  85. data/spec/adhearsion/configuration_spec.rb +58 -56
  86. data/spec/adhearsion/console_spec.rb +4 -2
  87. data/spec/adhearsion/events_spec.rb +9 -7
  88. data/spec/adhearsion/generators_spec.rb +3 -1
  89. data/spec/adhearsion/initializer_spec.rb +16 -14
  90. data/spec/adhearsion/logging_spec.rb +11 -9
  91. data/spec/adhearsion/menu_dsl/calculated_match_collection_spec.rb +6 -4
  92. data/spec/adhearsion/menu_dsl/calculated_match_spec.rb +6 -4
  93. data/spec/adhearsion/menu_dsl/fixnum_match_calculator_spec.rb +3 -1
  94. data/spec/adhearsion/menu_dsl/match_calculator_spec.rb +2 -0
  95. data/spec/adhearsion/menu_dsl/menu_builder_spec.rb +42 -11
  96. data/spec/adhearsion/menu_dsl/menu_spec.rb +197 -36
  97. data/spec/adhearsion/menu_dsl/range_match_calculator_spec.rb +4 -2
  98. data/spec/adhearsion/menu_dsl/string_match_calculator_spec.rb +5 -3
  99. data/spec/adhearsion/outbound_call_spec.rb +7 -5
  100. data/spec/adhearsion/plugin_spec.rb +19 -15
  101. data/spec/adhearsion/process_spec.rb +12 -7
  102. data/spec/adhearsion/punchblock_plugin/initializer_spec.rb +35 -15
  103. data/spec/adhearsion/punchblock_plugin_spec.rb +4 -1
  104. data/spec/adhearsion/router/route_spec.rb +8 -6
  105. data/spec/adhearsion/router_spec.rb +12 -10
  106. data/spec/adhearsion_spec.rb +13 -2
  107. data/spec/capture_warnings.rb +33 -0
  108. data/spec/spec_helper.rb +4 -0
  109. data/spec/support/call_controller_test_helpers.rb +2 -4
  110. data/spec/support/initializer_stubs.rb +8 -5
  111. data/spec/support/logging_helpers.rb +2 -0
  112. data/spec/support/punchblock_mocks.rb +2 -0
  113. metadata +84 -71
  114. data/EVENTS +0 -11
  115. data/lib/adhearsion/call_controller/menu.rb +0 -124
  116. data/lib/adhearsion/foundation/all.rb +0 -8
  117. data/spec/adhearsion/call_controller/menu_spec.rb +0 -120
  118. data/spec/adhearsion/menu_dsl_spec.rb +0 -12
@@ -1,10 +1,12 @@
1
+ # encoding: utf-8
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe Adhearsion do
4
6
  describe "#ahn_root=" do
5
7
  it "should update properly the config root variable" do
6
8
  Adhearsion.ahn_root = "./"
7
- Adhearsion.config[:platform].root.should == Dir.getwd
9
+ Adhearsion.config[:platform].root.should be == Dir.getwd
8
10
  end
9
11
 
10
12
  it "should update properly the config root variable when path is nil" do
@@ -63,7 +65,16 @@ describe Adhearsion do
63
65
 
64
66
  describe "#status" do
65
67
  it "should be the process status name" do
66
- Adhearsion.status.should == :booting
68
+ Adhearsion.status.should be == :booting
69
+ end
70
+ end
71
+
72
+ it "should have an encoding on all files" do
73
+ Dir['{bin,features,lib,spec}/**/*.rb'].each do |filename|
74
+ File.open filename do |file|
75
+ first_line = file.first
76
+ first_line.should == "# encoding: utf-8\n"
77
+ end
67
78
  end
68
79
  end
69
80
  end
@@ -0,0 +1,33 @@
1
+ # encoding: utf-8
2
+
3
+ require 'tempfile'
4
+ stderr_file = Tempfile.new "ahn.stderr"
5
+ $stderr.reopen stderr_file.path
6
+ current_dir = Dir.pwd
7
+
8
+ at_exit do
9
+ stderr_file.rewind
10
+ lines = stderr_file.read.split("\n").uniq
11
+ stderr_file.close!
12
+
13
+ ahn_warnings, other_warnings = lines.partition { |line| line.include?(current_dir) && !line.include?('vendor') && line.include?('warning') }
14
+
15
+ if ahn_warnings.any?
16
+ puts
17
+ puts "-" * 30 + " AHN Warnings: " + "-" * 30
18
+ puts
19
+ puts ahn_warnings.join("\n")
20
+ puts
21
+ puts "-" * 75
22
+ puts
23
+ end
24
+
25
+ if other_warnings.any?
26
+ File.open('tmp/warnings.txt', 'w') { |f| f.write other_warnings.join("\n") }
27
+ puts
28
+ puts "Non-AHN warnings written to tmp/warnings.txt"
29
+ puts
30
+ end
31
+
32
+ exit 1 if ahn_warnings.any? # fail the build...
33
+ end
@@ -1,3 +1,5 @@
1
+ # encoding: utf-8
2
+
1
3
  unless ENV['SKIP_RCOV']
2
4
  require 'simplecov'
3
5
  require 'simplecov-rcov'
@@ -24,6 +26,8 @@ end
24
26
  adhearsion
25
27
  }.each { |f| require f }
26
28
 
29
+ Thread.abort_on_exception = true
30
+
27
31
  Bundler.require(:default, :test) if defined?(Bundler)
28
32
 
29
33
  Dir[File.dirname(__FILE__) + "/support/**/*.rb"].each { |f| require f }
@@ -1,3 +1,5 @@
1
+ # encoding: utf-8
2
+
1
3
  module CallControllerTestHelpers
2
4
  include FlexMock::ArgumentTypes
3
5
 
@@ -30,10 +32,6 @@ module CallControllerTestHelpers
30
32
  subject.should_receive(:execute_component_and_await_completion).once.with(component).and_return(component)
31
33
  end
32
34
 
33
- def expect_component_execution_asynchronously(component)
34
- subject.should_receive(:execute_component).once.with(component).and_return(component)
35
- end
36
-
37
35
  def mock_with_potential_matches(potential_matches)
38
36
  Adhearsion::Punchblock::MenuDSL::CalculatedMatch.new :potential_matches => potential_matches
39
37
  end
@@ -1,6 +1,8 @@
1
+ # encoding: utf-8
2
+
1
3
  module InitializerStubs
2
4
  UNWANTED_BEHAVIOR = {
3
- Adhearsion::Initializer => [:initialize_log_paths, :update_rails_env_var, :daemonize!, :require, :init_plugins, :run_plugins, :load_lib_folder]
5
+ Adhearsion::Initializer => [:debugging_log, :initialize_log_paths, :update_rails_env_var, :daemonize!, :require, :init_plugins, :run_plugins, :load_lib_folder]
4
6
  } unless defined? UNWANTED_BEHAVIOR
5
7
 
6
8
  def stub_behavior_for_initializer_with_no_path_changing_behavior
@@ -20,10 +22,10 @@ module InitializerStubs
20
22
  unwanted_behavior.each do |stub_victim_class, undesired_methods|
21
23
  undesired_methods.each do |undesired_method_name_or_key_value_pair|
22
24
  undesired_method_name, method_implementation = case undesired_method_name_or_key_value_pair
23
- when Array
24
- [undesired_method_name_or_key_value_pair.first, lambda { |*args| undesired_method_name_or_key_value_pair.last } ]
25
- else
26
- [undesired_method_name_or_key_value_pair, lambda{ |*args| }]
25
+ when Array
26
+ [undesired_method_name_or_key_value_pair.first, lambda { |*args| undesired_method_name_or_key_value_pair.last } ]
27
+ else
28
+ [undesired_method_name_or_key_value_pair, lambda{ |*args| }]
27
29
  end
28
30
  stub_victim_class.send(:alias_method, "pre_stubbed_#{undesired_method_name}", undesired_method_name)
29
31
  stub_victim_class.send(:define_method, undesired_method_name, &method_implementation)
@@ -35,6 +37,7 @@ module InitializerStubs
35
37
  UNWANTED_BEHAVIOR.each do |stub_victim_class, undesired_methods|
36
38
  undesired_methods.each do |undesired_method_name|
37
39
  undesired_method_name = undesired_method_name.first if undesired_method_name.kind_of? Array
40
+ stub_victim_class.send(:remove_method, undesired_method_name)
38
41
  stub_victim_class.send(:alias_method, undesired_method_name, "pre_stubbed_#{undesired_method_name}")
39
42
  end
40
43
  end
@@ -1,2 +1,4 @@
1
+ # encoding: utf-8
2
+
1
3
  Foo = Class.new
2
4
  Foo::Bar = Class.new Foo
@@ -1,3 +1,5 @@
1
+ # encoding: utf-8
2
+
1
3
  def mock_offer(id = nil, headers = {})
2
4
  id ||= rand
3
5
  flexmock("Offer: #{id}", :call_id => id, :headers_hash => headers).tap do |offer|
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.beta1
4
+ version: 2.0.0.rc1
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-03-07 00:00:00.000000000 Z
15
+ date: 2012-03-20 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: bundler
19
- requirement: &2156764500 !ruby/object:Gem::Requirement
19
+ requirement: &2160607180 !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: *2156764500
27
+ version_requirements: *2160607180
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: punchblock
30
- requirement: &2156765380 !ruby/object:Gem::Requirement
30
+ requirement: &2160605540 !ruby/object:Gem::Requirement
31
31
  none: false
32
32
  requirements:
33
33
  - - ! '>='
@@ -35,10 +35,10 @@ dependencies:
35
35
  version: 0.9.1
36
36
  type: :runtime
37
37
  prerelease: false
38
- version_requirements: *2156765380
38
+ version_requirements: *2160605540
39
39
  - !ruby/object:Gem::Dependency
40
40
  name: logging
41
- requirement: &2156789040 !ruby/object:Gem::Requirement
41
+ requirement: &2160604040 !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: *2156789040
49
+ version_requirements: *2160604040
50
50
  - !ruby/object:Gem::Dependency
51
51
  name: adhearsion-loquacious
52
- requirement: &2156799900 !ruby/object:Gem::Requirement
52
+ requirement: &2160578160 !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: *2156799900
60
+ version_requirements: *2160578160
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: activesupport
63
- requirement: &2156795940 !ruby/object:Gem::Requirement
63
+ requirement: &2160576060 !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: *2156795940
71
+ version_requirements: *2160576060
72
72
  - !ruby/object:Gem::Dependency
73
73
  name: i18n
74
- requirement: &2156805040 !ruby/object:Gem::Requirement
74
+ requirement: &2160574920 !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: *2156805040
82
+ version_requirements: *2160574920
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: json
85
- requirement: &2156803080 !ruby/object:Gem::Requirement
85
+ requirement: &2160574020 !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: *2156803080
93
+ version_requirements: *2160574020
94
94
  - !ruby/object:Gem::Dependency
95
95
  name: thor
96
- requirement: &2156184540 !ruby/object:Gem::Requirement
96
+ requirement: &2160571980 !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: *2156184540
104
+ version_requirements: *2160571980
105
105
  - !ruby/object:Gem::Dependency
106
106
  name: rake
107
- requirement: &2156183480 !ruby/object:Gem::Requirement
107
+ requirement: &2160571280 !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: *2156183480
115
+ version_requirements: *2160571280
116
116
  - !ruby/object:Gem::Dependency
117
117
  name: pry
118
- requirement: &2156182200 !ruby/object:Gem::Requirement
118
+ requirement: &2160570360 !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: *2156182200
126
+ version_requirements: *2160570360
127
127
  - !ruby/object:Gem::Dependency
128
128
  name: uuid
129
- requirement: &2156181480 !ruby/object:Gem::Requirement
129
+ requirement: &2160532560 !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: *2156181480
137
+ version_requirements: *2160532560
138
138
  - !ruby/object:Gem::Dependency
139
139
  name: future-resource
140
- requirement: &2156180220 !ruby/object:Gem::Requirement
140
+ requirement: &2160531060 !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: *2156180220
148
+ version_requirements: *2160531060
149
149
  - !ruby/object:Gem::Dependency
150
150
  name: ruby_speech
151
- requirement: &2156179540 !ruby/object:Gem::Requirement
151
+ requirement: &2160530200 !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: *2156179540
159
+ version_requirements: *2160530200
160
160
  - !ruby/object:Gem::Dependency
161
161
  name: countdownlatch
162
- requirement: &2156178900 !ruby/object:Gem::Requirement
162
+ requirement: &2160529380 !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: *2156178900
170
+ version_requirements: *2160529380
171
171
  - !ruby/object:Gem::Dependency
172
172
  name: has-guarded-handlers
173
- requirement: &2156177860 !ruby/object:Gem::Requirement
173
+ requirement: &2160528360 !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: *2156177860
181
+ version_requirements: *2160528360
182
182
  - !ruby/object:Gem::Dependency
183
183
  name: girl_friday
184
- requirement: &2156177040 !ruby/object:Gem::Requirement
184
+ requirement: &2160527640 !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: *2156177040
192
+ version_requirements: *2160527640
193
193
  - !ruby/object:Gem::Dependency
194
194
  name: ffi
195
- requirement: &2156745640 !ruby/object:Gem::Requirement
195
+ requirement: &2160526260 !ruby/object:Gem::Requirement
196
196
  none: false
197
197
  requirements:
198
198
  - - ! '>='
@@ -200,10 +200,10 @@ dependencies:
200
200
  version: 1.0.11
201
201
  type: :runtime
202
202
  prerelease: false
203
- version_requirements: *2156745640
203
+ version_requirements: *2160526260
204
204
  - !ruby/object:Gem::Dependency
205
205
  name: celluloid
206
- requirement: &2156744280 !ruby/object:Gem::Requirement
206
+ requirement: &2160525580 !ruby/object:Gem::Requirement
207
207
  none: false
208
208
  requirements:
209
209
  - - ! '>='
@@ -211,10 +211,21 @@ dependencies:
211
211
  version: 0.9.0
212
212
  type: :runtime
213
213
  prerelease: false
214
- version_requirements: *2156744280
214
+ version_requirements: *2160525580
215
+ - !ruby/object:Gem::Dependency
216
+ name: deep_merge
217
+ requirement: &2160504660 !ruby/object:Gem::Requirement
218
+ none: false
219
+ requirements:
220
+ - - ! '>='
221
+ - !ruby/object:Gem::Version
222
+ version: '0'
223
+ type: :runtime
224
+ prerelease: false
225
+ version_requirements: *2160504660
215
226
  - !ruby/object:Gem::Dependency
216
227
  name: rspec
217
- requirement: &2156742660 !ruby/object:Gem::Requirement
228
+ requirement: &2160503420 !ruby/object:Gem::Requirement
218
229
  none: false
219
230
  requirements:
220
231
  - - ~>
@@ -222,10 +233,10 @@ dependencies:
222
233
  version: 2.7.0
223
234
  type: :development
224
235
  prerelease: false
225
- version_requirements: *2156742660
236
+ version_requirements: *2160503420
226
237
  - !ruby/object:Gem::Dependency
227
238
  name: flexmock
228
- requirement: &2156741360 !ruby/object:Gem::Requirement
239
+ requirement: &2160502300 !ruby/object:Gem::Requirement
229
240
  none: false
230
241
  requirements:
231
242
  - - ! '>='
@@ -233,10 +244,10 @@ dependencies:
233
244
  version: '0'
234
245
  type: :development
235
246
  prerelease: false
236
- version_requirements: *2156741360
247
+ version_requirements: *2160502300
237
248
  - !ruby/object:Gem::Dependency
238
249
  name: activerecord
239
- requirement: &2156740600 !ruby/object:Gem::Requirement
250
+ requirement: &2160498180 !ruby/object:Gem::Requirement
240
251
  none: false
241
252
  requirements:
242
253
  - - ! '>='
@@ -244,10 +255,10 @@ dependencies:
244
255
  version: 3.0.10
245
256
  type: :development
246
257
  prerelease: false
247
- version_requirements: *2156740600
258
+ version_requirements: *2160498180
248
259
  - !ruby/object:Gem::Dependency
249
260
  name: simplecov
250
- requirement: &2156739980 !ruby/object:Gem::Requirement
261
+ requirement: &2160497260 !ruby/object:Gem::Requirement
251
262
  none: false
252
263
  requirements:
253
264
  - - ! '>='
@@ -255,10 +266,10 @@ dependencies:
255
266
  version: '0'
256
267
  type: :development
257
268
  prerelease: false
258
- version_requirements: *2156739980
269
+ version_requirements: *2160497260
259
270
  - !ruby/object:Gem::Dependency
260
271
  name: simplecov-rcov
261
- requirement: &2156610980 !ruby/object:Gem::Requirement
272
+ requirement: &2160471000 !ruby/object:Gem::Requirement
262
273
  none: false
263
274
  requirements:
264
275
  - - ! '>='
@@ -266,10 +277,10 @@ dependencies:
266
277
  version: '0'
267
278
  type: :development
268
279
  prerelease: false
269
- version_requirements: *2156610980
280
+ version_requirements: *2160471000
270
281
  - !ruby/object:Gem::Dependency
271
282
  name: ci_reporter
272
- requirement: &2156609440 !ruby/object:Gem::Requirement
283
+ requirement: &2160469500 !ruby/object:Gem::Requirement
273
284
  none: false
274
285
  requirements:
275
286
  - - ! '>='
@@ -277,10 +288,10 @@ dependencies:
277
288
  version: '0'
278
289
  type: :development
279
290
  prerelease: false
280
- version_requirements: *2156609440
291
+ version_requirements: *2160469500
281
292
  - !ruby/object:Gem::Dependency
282
293
  name: yard
283
- requirement: &2156608420 !ruby/object:Gem::Requirement
294
+ requirement: &2160468520 !ruby/object:Gem::Requirement
284
295
  none: false
285
296
  requirements:
286
297
  - - ! '>='
@@ -288,10 +299,10 @@ dependencies:
288
299
  version: '0'
289
300
  type: :development
290
301
  prerelease: false
291
- version_requirements: *2156608420
302
+ version_requirements: *2160468520
292
303
  - !ruby/object:Gem::Dependency
293
304
  name: guard-rspec
294
- requirement: &2156607100 !ruby/object:Gem::Requirement
305
+ requirement: &2160466580 !ruby/object:Gem::Requirement
295
306
  none: false
296
307
  requirements:
297
308
  - - ! '>='
@@ -299,10 +310,10 @@ dependencies:
299
310
  version: '0'
300
311
  type: :development
301
312
  prerelease: false
302
- version_requirements: *2156607100
313
+ version_requirements: *2160466580
303
314
  - !ruby/object:Gem::Dependency
304
315
  name: guard-cucumber
305
- requirement: &2156606380 !ruby/object:Gem::Requirement
316
+ requirement: &2160464820 !ruby/object:Gem::Requirement
306
317
  none: false
307
318
  requirements:
308
319
  - - ! '>='
@@ -310,10 +321,10 @@ dependencies:
310
321
  version: '0'
311
322
  type: :development
312
323
  prerelease: false
313
- version_requirements: *2156606380
324
+ version_requirements: *2160464820
314
325
  - !ruby/object:Gem::Dependency
315
326
  name: ruby_gntp
316
- requirement: &2156605880 !ruby/object:Gem::Requirement
327
+ requirement: &2160436460 !ruby/object:Gem::Requirement
317
328
  none: false
318
329
  requirements:
319
330
  - - ! '>='
@@ -321,10 +332,10 @@ dependencies:
321
332
  version: '0'
322
333
  type: :development
323
334
  prerelease: false
324
- version_requirements: *2156605880
335
+ version_requirements: *2160436460
325
336
  - !ruby/object:Gem::Dependency
326
337
  name: cucumber
327
- requirement: &2156605020 !ruby/object:Gem::Requirement
338
+ requirement: &2160435420 !ruby/object:Gem::Requirement
328
339
  none: false
329
340
  requirements:
330
341
  - - ! '>='
@@ -332,10 +343,10 @@ dependencies:
332
343
  version: '0'
333
344
  type: :development
334
345
  prerelease: false
335
- version_requirements: *2156605020
346
+ version_requirements: *2160435420
336
347
  - !ruby/object:Gem::Dependency
337
348
  name: aruba
338
- requirement: &2156604220 !ruby/object:Gem::Requirement
349
+ requirement: &2160434400 !ruby/object:Gem::Requirement
339
350
  none: false
340
351
  requirements:
341
352
  - - ! '>='
@@ -343,7 +354,7 @@ dependencies:
343
354
  version: '0'
344
355
  type: :development
345
356
  prerelease: false
346
- version_requirements: *2156604220
357
+ version_requirements: *2160434400
347
358
  description: Adhearsion is an open-source telephony development framework
348
359
  email: dev&Adhearsion.com
349
360
  executables:
@@ -355,7 +366,6 @@ files:
355
366
  - .rspec
356
367
  - .travis.yml
357
368
  - CHANGELOG.md
358
- - EVENTS
359
369
  - Gemfile
360
370
  - Guardfile
361
371
  - LICENSE
@@ -369,6 +379,7 @@ files:
369
379
  - features/cli_create.feature
370
380
  - features/cli_daemon.feature
371
381
  - features/cli_generate.feature
382
+ - features/cli_restart.feature
372
383
  - features/cli_start.feature
373
384
  - features/cli_stop.feature
374
385
  - features/controller_generator.feature
@@ -383,7 +394,6 @@ files:
383
394
  - lib/adhearsion/call_controller.rb
384
395
  - lib/adhearsion/call_controller/dial.rb
385
396
  - lib/adhearsion/call_controller/input.rb
386
- - lib/adhearsion/call_controller/menu.rb
387
397
  - lib/adhearsion/call_controller/output.rb
388
398
  - lib/adhearsion/call_controller/record.rb
389
399
  - lib/adhearsion/call_controller/utility.rb
@@ -393,7 +403,7 @@ files:
393
403
  - lib/adhearsion/configuration.rb
394
404
  - lib/adhearsion/console.rb
395
405
  - lib/adhearsion/events.rb
396
- - lib/adhearsion/foundation/all.rb
406
+ - lib/adhearsion/foundation.rb
397
407
  - lib/adhearsion/foundation/custom_daemonizer.rb
398
408
  - lib/adhearsion/foundation/exception_handler.rb
399
409
  - lib/adhearsion/foundation/libc.rb
@@ -451,15 +461,17 @@ files:
451
461
  - lib/adhearsion/script_ahn_loader.rb
452
462
  - lib/adhearsion/tasks.rb
453
463
  - lib/adhearsion/tasks/configuration.rb
464
+ - lib/adhearsion/tasks/debugging.rb
454
465
  - lib/adhearsion/tasks/environment.rb
455
466
  - lib/adhearsion/tasks/plugins.rb
456
467
  - lib/adhearsion/tasks/testing.rb
457
468
  - lib/adhearsion/version.rb
469
+ - pre-commit
458
470
  - spec/adhearsion/call_controller/dial_spec.rb
459
471
  - spec/adhearsion/call_controller/input_spec.rb
460
- - spec/adhearsion/call_controller/menu_spec.rb
461
472
  - spec/adhearsion/call_controller/output_spec.rb
462
473
  - spec/adhearsion/call_controller/record_spec.rb
474
+ - spec/adhearsion/call_controller/utility_spec.rb
463
475
  - spec/adhearsion/call_controller_spec.rb
464
476
  - spec/adhearsion/call_spec.rb
465
477
  - spec/adhearsion/calls_spec.rb
@@ -477,7 +489,6 @@ files:
477
489
  - spec/adhearsion/menu_dsl/menu_spec.rb
478
490
  - spec/adhearsion/menu_dsl/range_match_calculator_spec.rb
479
491
  - spec/adhearsion/menu_dsl/string_match_calculator_spec.rb
480
- - spec/adhearsion/menu_dsl_spec.rb
481
492
  - spec/adhearsion/outbound_call_spec.rb
482
493
  - spec/adhearsion/plugin_spec.rb
483
494
  - spec/adhearsion/process_spec.rb
@@ -486,6 +497,7 @@ files:
486
497
  - spec/adhearsion/router/route_spec.rb
487
498
  - spec/adhearsion/router_spec.rb
488
499
  - spec/adhearsion_spec.rb
500
+ - spec/capture_warnings.rb
489
501
  - spec/spec_helper.rb
490
502
  - spec/support/call_controller_test_helpers.rb
491
503
  - spec/support/initializer_stubs.rb
@@ -505,7 +517,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
505
517
  version: '0'
506
518
  segments:
507
519
  - 0
508
- hash: -571174337139951741
520
+ hash: -1319504717136623069
509
521
  required_rubygems_version: !ruby/object:Gem::Requirement
510
522
  none: false
511
523
  requirements:
@@ -514,7 +526,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
514
526
  version: 1.3.1
515
527
  requirements: []
516
528
  rubyforge_project:
517
- rubygems_version: 1.8.17
529
+ rubygems_version: 1.8.10
518
530
  signing_key:
519
531
  specification_version: 3
520
532
  summary: Adhearsion, open-source telephony development framework
@@ -524,6 +536,7 @@ test_files:
524
536
  - features/cli_create.feature
525
537
  - features/cli_daemon.feature
526
538
  - features/cli_generate.feature
539
+ - features/cli_restart.feature
527
540
  - features/cli_start.feature
528
541
  - features/cli_stop.feature
529
542
  - features/controller_generator.feature
@@ -535,9 +548,9 @@ test_files:
535
548
  - features/support/utils.rb
536
549
  - spec/adhearsion/call_controller/dial_spec.rb
537
550
  - spec/adhearsion/call_controller/input_spec.rb
538
- - spec/adhearsion/call_controller/menu_spec.rb
539
551
  - spec/adhearsion/call_controller/output_spec.rb
540
552
  - spec/adhearsion/call_controller/record_spec.rb
553
+ - spec/adhearsion/call_controller/utility_spec.rb
541
554
  - spec/adhearsion/call_controller_spec.rb
542
555
  - spec/adhearsion/call_spec.rb
543
556
  - spec/adhearsion/calls_spec.rb
@@ -555,7 +568,6 @@ test_files:
555
568
  - spec/adhearsion/menu_dsl/menu_spec.rb
556
569
  - spec/adhearsion/menu_dsl/range_match_calculator_spec.rb
557
570
  - spec/adhearsion/menu_dsl/string_match_calculator_spec.rb
558
- - spec/adhearsion/menu_dsl_spec.rb
559
571
  - spec/adhearsion/outbound_call_spec.rb
560
572
  - spec/adhearsion/plugin_spec.rb
561
573
  - spec/adhearsion/process_spec.rb
@@ -564,6 +576,7 @@ test_files:
564
576
  - spec/adhearsion/router/route_spec.rb
565
577
  - spec/adhearsion/router_spec.rb
566
578
  - spec/adhearsion_spec.rb
579
+ - spec/capture_warnings.rb
567
580
  - spec/spec_helper.rb
568
581
  - spec/support/call_controller_test_helpers.rb
569
582
  - spec/support/initializer_stubs.rb