adhearsion 1.2.6 → 2.0.0.alpha1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (236) hide show
  1. data/.gitignore +17 -10
  2. data/CHANGELOG.md +273 -0
  3. data/Gemfile +1 -1
  4. data/Guardfile +17 -0
  5. data/README.markdown +61 -9
  6. data/Rakefile +16 -48
  7. data/adhearsion.gemspec +21 -7
  8. data/bin/ahn +3 -1
  9. data/cucumber.yml +4 -0
  10. data/features/app_generator.feature +42 -0
  11. data/features/cli.feature +108 -0
  12. data/features/step_definitions/app_generator_steps.rb +6 -0
  13. data/features/step_definitions/cli_steps.rb +74 -0
  14. data/features/support/aruba_helper.rb +22 -0
  15. data/features/support/env.rb +37 -0
  16. data/features/support/utils.rb +8 -0
  17. data/lib/adhearsion.rb +85 -41
  18. data/lib/adhearsion/call.rb +176 -0
  19. data/lib/adhearsion/call_controller.rb +134 -0
  20. data/lib/adhearsion/call_controller/dial.rb +70 -0
  21. data/lib/adhearsion/call_controller/input.rb +173 -0
  22. data/lib/adhearsion/call_controller/menu.rb +124 -0
  23. data/lib/adhearsion/call_controller/output.rb +267 -0
  24. data/lib/adhearsion/call_controller/record.rb +42 -0
  25. data/lib/adhearsion/call_controller/utility.rb +60 -0
  26. data/lib/adhearsion/calls.rb +81 -0
  27. data/lib/adhearsion/cli.rb +1 -3
  28. data/lib/adhearsion/cli_commands.rb +142 -0
  29. data/lib/adhearsion/configuration.rb +149 -0
  30. data/lib/adhearsion/console.rb +19 -8
  31. data/lib/adhearsion/dialplan_controller.rb +9 -0
  32. data/lib/adhearsion/events.rb +84 -0
  33. data/lib/adhearsion/foundation/all.rb +0 -7
  34. data/lib/adhearsion/foundation/custom_daemonizer.rb +4 -6
  35. data/lib/adhearsion/foundation/exception_handler.rb +9 -0
  36. data/lib/adhearsion/foundation/object.rb +26 -8
  37. data/lib/adhearsion/foundation/synchronized_hash.rb +3 -6
  38. data/lib/adhearsion/foundation/thread_safety.rb +17 -1
  39. data/lib/adhearsion/generators/app/app_generator.rb +4 -13
  40. data/lib/adhearsion/generators/app/templates/Gemfile +10 -5
  41. data/lib/adhearsion/generators/app/templates/Procfile +1 -0
  42. data/lib/adhearsion/generators/app/templates/README.md +28 -0
  43. data/lib/adhearsion/generators/app/templates/config/adhearsion.rb +41 -0
  44. data/lib/adhearsion/generators/app/templates/{components/simon_game → lib}/simon_game.rb +6 -18
  45. data/lib/adhearsion/generators/app/templates/script/ahn +2 -2
  46. data/lib/adhearsion/initializer.rb +151 -293
  47. data/lib/adhearsion/initializer/logging.rb +33 -0
  48. data/lib/adhearsion/logging.rb +65 -69
  49. data/lib/adhearsion/menu_dsl.rb +15 -0
  50. data/lib/adhearsion/menu_dsl/calculated_match.rb +39 -0
  51. data/lib/adhearsion/menu_dsl/calculated_match_collection.rb +41 -0
  52. data/lib/adhearsion/menu_dsl/fixnum_match_calculator.rb +18 -0
  53. data/lib/adhearsion/menu_dsl/match_calculator.rb +36 -0
  54. data/lib/adhearsion/{voip/menu_state_machine/menu_class.rb → menu_dsl/menu.rb} +38 -40
  55. data/lib/adhearsion/menu_dsl/menu_builder.rb +69 -0
  56. data/lib/adhearsion/menu_dsl/range_match_calculator.rb +55 -0
  57. data/lib/adhearsion/menu_dsl/string_match_calculator.rb +21 -0
  58. data/lib/adhearsion/outbound_call.rb +64 -0
  59. data/lib/adhearsion/plugin.rb +319 -0
  60. data/lib/adhearsion/plugin/collection.rb +19 -0
  61. data/lib/adhearsion/plugin/initializer.rb +37 -0
  62. data/lib/adhearsion/plugin/methods_container.rb +6 -0
  63. data/lib/adhearsion/process.rb +94 -0
  64. data/lib/adhearsion/punchblock_plugin.rb +29 -0
  65. data/lib/adhearsion/punchblock_plugin/initializer.rb +137 -0
  66. data/lib/adhearsion/router.rb +30 -0
  67. data/lib/adhearsion/router/route.rb +42 -0
  68. data/lib/adhearsion/script_ahn_loader.rb +2 -2
  69. data/lib/adhearsion/tasks.rb +14 -9
  70. data/lib/adhearsion/tasks/configuration.rb +26 -0
  71. data/lib/adhearsion/tasks/plugins.rb +17 -0
  72. data/lib/adhearsion/version.rb +8 -14
  73. data/spec/adhearsion/call_controller/dial_spec.rb +138 -0
  74. data/spec/adhearsion/call_controller/input_spec.rb +278 -0
  75. data/spec/adhearsion/call_controller/menu_spec.rb +120 -0
  76. data/spec/adhearsion/call_controller/output_spec.rb +466 -0
  77. data/spec/adhearsion/call_controller/record_spec.rb +125 -0
  78. data/spec/adhearsion/call_controller_spec.rb +395 -0
  79. data/spec/adhearsion/call_spec.rb +438 -0
  80. data/spec/adhearsion/calls_spec.rb +47 -0
  81. data/spec/adhearsion/configuration_spec.rb +308 -0
  82. data/spec/adhearsion/dialplan_controller_spec.rb +26 -0
  83. data/spec/adhearsion/events_spec.rb +112 -0
  84. data/spec/adhearsion/initializer/logging_spec.rb +58 -0
  85. data/spec/adhearsion/initializer_spec.rb +209 -122
  86. data/spec/adhearsion/logging_spec.rb +58 -47
  87. data/spec/adhearsion/menu_dsl/calculated_match_collection_spec.rb +56 -0
  88. data/spec/adhearsion/menu_dsl/calculated_match_spec.rb +57 -0
  89. data/spec/adhearsion/menu_dsl/fixnum_match_calculator_spec.rb +33 -0
  90. data/spec/adhearsion/menu_dsl/match_calculator_spec.rb +13 -0
  91. data/spec/adhearsion/menu_dsl/menu_builder_spec.rb +118 -0
  92. data/spec/adhearsion/menu_dsl/menu_spec.rb +210 -0
  93. data/spec/adhearsion/menu_dsl/range_match_calculator_spec.rb +28 -0
  94. data/spec/adhearsion/menu_dsl/string_match_calculator_spec.rb +36 -0
  95. data/spec/adhearsion/menu_dsl_spec.rb +12 -0
  96. data/spec/adhearsion/outbound_call_spec.rb +174 -0
  97. data/spec/adhearsion/plugin_spec.rb +489 -0
  98. data/spec/adhearsion/process_spec.rb +34 -0
  99. data/spec/adhearsion/punchblock_plugin/initializer_spec.rb +294 -0
  100. data/spec/adhearsion/router/route_spec.rb +99 -0
  101. data/spec/adhearsion/router_spec.rb +106 -0
  102. data/spec/adhearsion_spec.rb +46 -0
  103. data/spec/spec_helper.rb +14 -14
  104. data/spec/support/call_controller_test_helpers.rb +48 -0
  105. data/spec/support/initializer_stubs.rb +8 -13
  106. data/spec/support/punchblock_mocks.rb +6 -0
  107. metadata +255 -253
  108. data/CHANGELOG +0 -174
  109. data/bin/ahnctl +0 -68
  110. data/bin/jahn +0 -43
  111. data/examples/asterisk_manager_interface/standalone.rb +0 -51
  112. data/lib/adhearsion/commands.rb +0 -302
  113. data/lib/adhearsion/component_manager.rb +0 -278
  114. data/lib/adhearsion/component_manager/component_tester.rb +0 -54
  115. data/lib/adhearsion/component_manager/spec_framework.rb +0 -18
  116. data/lib/adhearsion/events_support.rb +0 -65
  117. data/lib/adhearsion/foundation/blank_slate.rb +0 -3
  118. data/lib/adhearsion/foundation/event_socket.rb +0 -205
  119. data/lib/adhearsion/foundation/future_resource.rb +0 -36
  120. data/lib/adhearsion/foundation/metaprogramming.rb +0 -17
  121. data/lib/adhearsion/foundation/numeric.rb +0 -13
  122. data/lib/adhearsion/foundation/pseudo_guid.rb +0 -10
  123. data/lib/adhearsion/foundation/relationship_properties.rb +0 -42
  124. data/lib/adhearsion/foundation/string.rb +0 -26
  125. data/lib/adhearsion/generators/app/templates/.ahnrc +0 -34
  126. data/lib/adhearsion/generators/app/templates/README +0 -8
  127. data/lib/adhearsion/generators/app/templates/components/ami_remote/ami_remote.rb +0 -15
  128. data/lib/adhearsion/generators/app/templates/components/disabled/HOW_TO_ENABLE +0 -7
  129. data/lib/adhearsion/generators/app/templates/components/disabled/stomp_gateway/README.markdown +0 -47
  130. data/lib/adhearsion/generators/app/templates/components/disabled/stomp_gateway/stomp_gateway.rb +0 -34
  131. data/lib/adhearsion/generators/app/templates/components/disabled/stomp_gateway/stomp_gateway.yml +0 -12
  132. data/lib/adhearsion/generators/app/templates/components/disabled/xmpp_gateway/README.markdown +0 -3
  133. data/lib/adhearsion/generators/app/templates/components/disabled/xmpp_gateway/xmpp_gateway.rb +0 -11
  134. data/lib/adhearsion/generators/app/templates/components/disabled/xmpp_gateway/xmpp_gateway.yml +0 -0
  135. data/lib/adhearsion/generators/app/templates/config/startup.rb +0 -81
  136. data/lib/adhearsion/generators/app/templates/dialplan.rb +0 -3
  137. data/lib/adhearsion/generators/app/templates/events.rb +0 -33
  138. data/lib/adhearsion/host_definitions.rb +0 -67
  139. data/lib/adhearsion/initializer/asterisk.rb +0 -86
  140. data/lib/adhearsion/initializer/configuration.rb +0 -324
  141. data/lib/adhearsion/initializer/database.rb +0 -60
  142. data/lib/adhearsion/initializer/drb.rb +0 -31
  143. data/lib/adhearsion/initializer/freeswitch.rb +0 -22
  144. data/lib/adhearsion/initializer/ldap.rb +0 -57
  145. data/lib/adhearsion/initializer/rails.rb +0 -41
  146. data/lib/adhearsion/initializer/xmpp.rb +0 -42
  147. data/lib/adhearsion/tasks/components.rb +0 -32
  148. data/lib/adhearsion/tasks/database.rb +0 -5
  149. data/lib/adhearsion/tasks/deprecations.rb +0 -59
  150. data/lib/adhearsion/tasks/generating.rb +0 -20
  151. data/lib/adhearsion/tasks/lint.rb +0 -4
  152. data/lib/adhearsion/voip/asterisk.rb +0 -4
  153. data/lib/adhearsion/voip/asterisk/agi_server.rb +0 -121
  154. data/lib/adhearsion/voip/asterisk/commands.rb +0 -1966
  155. data/lib/adhearsion/voip/asterisk/config_generators/agents.conf.rb +0 -140
  156. data/lib/adhearsion/voip/asterisk/config_generators/config_generator.rb +0 -102
  157. data/lib/adhearsion/voip/asterisk/config_generators/queues.conf.rb +0 -250
  158. data/lib/adhearsion/voip/asterisk/config_generators/voicemail.conf.rb +0 -240
  159. data/lib/adhearsion/voip/asterisk/config_manager.rb +0 -64
  160. data/lib/adhearsion/voip/asterisk/manager_interface.rb +0 -697
  161. data/lib/adhearsion/voip/asterisk/manager_interface/ami_lexer.rb +0 -1681
  162. data/lib/adhearsion/voip/asterisk/manager_interface/ami_lexer.rl.rb +0 -341
  163. data/lib/adhearsion/voip/asterisk/manager_interface/ami_messages.rb +0 -78
  164. data/lib/adhearsion/voip/asterisk/manager_interface/ami_protocol_lexer_machine.rl +0 -87
  165. data/lib/adhearsion/voip/asterisk/special_dial_plan_managers.rb +0 -80
  166. data/lib/adhearsion/voip/call.rb +0 -521
  167. data/lib/adhearsion/voip/call_routing.rb +0 -64
  168. data/lib/adhearsion/voip/commands.rb +0 -17
  169. data/lib/adhearsion/voip/constants.rb +0 -39
  170. data/lib/adhearsion/voip/conveniences.rb +0 -18
  171. data/lib/adhearsion/voip/dial_plan.rb +0 -252
  172. data/lib/adhearsion/voip/dsl/dialing_dsl.rb +0 -151
  173. data/lib/adhearsion/voip/dsl/dialing_dsl/dialing_dsl_monkey_patches.rb +0 -37
  174. data/lib/adhearsion/voip/dsl/dialplan/control_passing_exception.rb +0 -27
  175. data/lib/adhearsion/voip/dsl/dialplan/dispatcher.rb +0 -124
  176. data/lib/adhearsion/voip/dsl/dialplan/parser.rb +0 -69
  177. data/lib/adhearsion/voip/dsl/dialplan/thread_mixin.rb +0 -16
  178. data/lib/adhearsion/voip/dsl/numerical_string.rb +0 -128
  179. data/lib/adhearsion/voip/freeswitch/basic_connection_manager.rb +0 -48
  180. data/lib/adhearsion/voip/freeswitch/event_handler.rb +0 -58
  181. data/lib/adhearsion/voip/freeswitch/freeswitch_dialplan_command_factory.rb +0 -129
  182. data/lib/adhearsion/voip/freeswitch/inbound_connection_manager.rb +0 -38
  183. data/lib/adhearsion/voip/freeswitch/oes_server.rb +0 -195
  184. data/lib/adhearsion/voip/menu_state_machine/calculated_match.rb +0 -80
  185. data/lib/adhearsion/voip/menu_state_machine/matchers.rb +0 -123
  186. data/lib/adhearsion/voip/menu_state_machine/menu_builder.rb +0 -57
  187. data/lib/adhearsion/xmpp/connection.rb +0 -61
  188. data/lib/theatre.rb +0 -147
  189. data/lib/theatre/README.markdown +0 -64
  190. data/lib/theatre/callback_definition_loader.rb +0 -86
  191. data/lib/theatre/guid.rb +0 -23
  192. data/lib/theatre/invocation.rb +0 -131
  193. data/lib/theatre/namespace_manager.rb +0 -153
  194. data/lib/theatre/version.rb +0 -2
  195. data/spec/adhearsion/cli_spec.rb +0 -306
  196. data/spec/adhearsion/component_manager_spec.rb +0 -292
  197. data/spec/adhearsion/constants_spec.rb +0 -8
  198. data/spec/adhearsion/drb_spec.rb +0 -65
  199. data/spec/adhearsion/fixtures/dialplan.rb +0 -3
  200. data/spec/adhearsion/foundation/event_socket_spec.rb +0 -168
  201. data/spec/adhearsion/host_definitions_spec.rb +0 -79
  202. data/spec/adhearsion/initializer/configuration_spec.rb +0 -291
  203. data/spec/adhearsion/initializer/loading_spec.rb +0 -154
  204. data/spec/adhearsion/initializer/paths_spec.rb +0 -74
  205. data/spec/adhearsion/relationship_properties_spec.rb +0 -54
  206. data/spec/adhearsion/voip/asterisk/agi_server_spec.rb +0 -473
  207. data/spec/adhearsion/voip/asterisk/ami/ami_spec.rb +0 -550
  208. data/spec/adhearsion/voip/asterisk/ami/lexer/ami_fixtures.yml +0 -30
  209. data/spec/adhearsion/voip/asterisk/ami/lexer/lexer_story +0 -291
  210. data/spec/adhearsion/voip/asterisk/ami/lexer/lexer_story.rb +0 -241
  211. data/spec/adhearsion/voip/asterisk/ami/lexer/story_helper.rb +0 -124
  212. data/spec/adhearsion/voip/asterisk/commands_spec.rb +0 -3241
  213. data/spec/adhearsion/voip/asterisk/config_file_generators/agents_spec.rb +0 -251
  214. data/spec/adhearsion/voip/asterisk/config_file_generators/queues_spec.rb +0 -323
  215. data/spec/adhearsion/voip/asterisk/config_file_generators/voicemail_spec.rb +0 -306
  216. data/spec/adhearsion/voip/asterisk/config_manager_spec.rb +0 -127
  217. data/spec/adhearsion/voip/asterisk/menu_command/calculated_match_spec.rb +0 -109
  218. data/spec/adhearsion/voip/asterisk/menu_command/matchers_spec.rb +0 -97
  219. data/spec/adhearsion/voip/call_routing_spec.rb +0 -125
  220. data/spec/adhearsion/voip/dialplan_manager_spec.rb +0 -468
  221. data/spec/adhearsion/voip/dsl/dialing_dsl_spec.rb +0 -270
  222. data/spec/adhearsion/voip/dsl/dispatcher_spec.rb +0 -82
  223. data/spec/adhearsion/voip/dsl/dispatcher_spec_helper.rb +0 -45
  224. data/spec/adhearsion/voip/dsl/parser_spec.rb +0 -69
  225. data/spec/adhearsion/voip/freeswitch/basic_connection_manager_spec.rb +0 -39
  226. data/spec/adhearsion/voip/freeswitch/inbound_connection_manager_spec.rb +0 -39
  227. data/spec/adhearsion/voip/freeswitch/oes_server_spec.rb +0 -9
  228. data/spec/adhearsion/voip/numerical_string_spec.rb +0 -61
  229. data/spec/adhearsion/voip/phone_number_spec.rb +0 -45
  230. data/spec/support/the_following_code.rb +0 -3
  231. data/spec/theatre/dsl_examples/simple_before_call.rb +0 -7
  232. data/spec/theatre/dsl_spec.rb +0 -69
  233. data/spec/theatre/invocation_spec.rb +0 -182
  234. data/spec/theatre/namespace_spec.rb +0 -125
  235. data/spec/theatre/spec_helper_spec.rb +0 -28
  236. data/spec/theatre/theatre_class_spec.rb +0 -148
@@ -0,0 +1,46 @@
1
+ require 'spec_helper'
2
+
3
+ describe Adhearsion do
4
+ describe "while accessing the config method" do
5
+ it "should return a Configuration instance" do
6
+ subject.config.should be_instance_of Adhearsion::Configuration
7
+ end
8
+
9
+ it "should execute a block" do
10
+ foo = Object.new
11
+ flexmock(foo).should_receive(:bar).once
12
+ Adhearsion.config do |config|
13
+ foo.bar
14
+ end
15
+ end
16
+ end
17
+
18
+ describe "#router" do
19
+ its(:router) { should be_a Adhearsion::Router }
20
+
21
+ it "should always use the same router" do
22
+ Adhearsion.router.should be Adhearsion.router
23
+ end
24
+
25
+ it "should pass a block along to the router" do
26
+ foo = nil
27
+ Adhearsion.router do
28
+ foo = self
29
+ end
30
+
31
+ foo.should be Adhearsion.router
32
+ end
33
+ end
34
+
35
+ describe "while accessing the ahn_root= method" do
36
+ it "should update properly the config root variable" do
37
+ Adhearsion.ahn_root = "./"
38
+ Adhearsion.config[:platform].root.should == Dir.getwd
39
+ end
40
+
41
+ it "should update properly the config root variable when path is nil" do
42
+ Adhearsion.ahn_root = nil
43
+ Adhearsion.config[:platform].root.should be_nil
44
+ end
45
+ end
46
+ end
@@ -3,8 +3,8 @@ unless ENV['SKIP_RCOV']
3
3
  require 'simplecov-rcov'
4
4
  class SimpleCov::Formatter::MergedFormatter
5
5
  def format(result)
6
- SimpleCov::Formatter::HTMLFormatter.new.format(result)
7
- SimpleCov::Formatter::RcovFormatter.new.format(result)
6
+ SimpleCov::Formatter::HTMLFormatter.new.format(result)
7
+ SimpleCov::Formatter::RcovFormatter.new.format(result)
8
8
  end
9
9
  end
10
10
  SimpleCov.formatter = SimpleCov::Formatter::MergedFormatter
@@ -14,34 +14,34 @@ unless ENV['SKIP_RCOV']
14
14
  end
15
15
  end
16
16
 
17
- Dir.chdir File.join(File.dirname(__FILE__), '..')
18
- $:.push('.')
19
- $: << File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib'))
20
- $: << File.expand_path('lib')
21
- $: << File.dirname(__FILE__)
22
-
23
17
  %w{
24
18
  rubygems
25
- rspec/core
26
19
  bundler/setup
27
20
  flexmock/rspec
28
21
  active_support
29
- pp
30
22
  stringio
23
+ countdownlatch
31
24
  adhearsion
32
- adhearsion/voip/asterisk
33
- adhearsion/component_manager
34
25
  }.each { |f| require f }
35
26
 
27
+ Bundler.require(:default, :test) if defined?(Bundler)
28
+
36
29
  Dir[File.dirname(__FILE__) + "/support/**/*.rb"].each { |f| require f }
37
30
 
38
31
  RSpec.configure do |config|
39
32
  config.mock_framework = :flexmock
40
- config.filter_run_excluding :ignore => true
41
33
  config.filter_run :focus => true
42
34
  config.run_all_when_everything_filtered = true
43
35
  config.color_enabled = true
36
+
37
+ config.before(:each) do
38
+ Adhearsion.router = nil
39
+ end
40
+ end
41
+
42
+ Adhearsion::Events.exeption do |e|
43
+ puts e.message
44
+ puts e.backtrace.join("\n")
44
45
  end
45
46
 
46
- Adhearsion::Initializer.ahn_root = File.dirname(__FILE__) + '/fixtures'
47
47
  Adhearsion::Logging.silence!
@@ -0,0 +1,48 @@
1
+ module CallControllerTestHelpers
2
+ include FlexMock::ArgumentTypes
3
+
4
+ def self.included(test_case)
5
+ test_case.let(:call_id) { rand }
6
+ test_case.let(:call) { Adhearsion::Call.new }
7
+
8
+ test_case.subject do
9
+ case test_case.describes
10
+ when Class
11
+ test_case.describes
12
+ when Module
13
+ Class.new Adhearsion::CallController
14
+ end.new call, :doo => :dah
15
+ end
16
+
17
+ test_case.before do
18
+ flexmock Adhearsion::Plugin, :methods_scope => {:dialplan => Module.new { def foo; end}}
19
+ flexmock subject
20
+ flexmock call, :write_command => true, :id => call_id
21
+ end
22
+ end
23
+
24
+ def expect_message_waiting_for_response(message)
25
+ subject.should_receive(:write_and_await_response).once.with(message).and_return message
26
+ message.request!
27
+ end
28
+
29
+ def expect_component_execution(component)
30
+ subject.should_receive(:execute_component_and_await_completion).once.with(component).and_return(component)
31
+ end
32
+
33
+ def expect_component_execution_asynchronously(component)
34
+ subject.should_receive(:execute_component).once.with(component).and_return(component)
35
+ end
36
+
37
+ def mock_with_potential_matches(potential_matches)
38
+ Adhearsion::Punchblock::MenuDSL::CalculatedMatch.new :potential_matches => potential_matches
39
+ end
40
+
41
+ def mock_with_exact_matches(exact_matches)
42
+ Adhearsion::Punchblock::MenuDSL::CalculatedMatch.new :exact_matches => exact_matches
43
+ end
44
+
45
+ def mock_with_potential_and_exact_matches(potential_matches, exact_matches)
46
+ Adhearsion::Punchblock::MenuDSL::CalculatedMatch.new :potential_matches => potential_matches, :exact_matches => exact_matches
47
+ end
48
+ end
@@ -1,28 +1,23 @@
1
1
  module InitializerStubs
2
- DEFAULT_AHNRC_DATA_STRUCTURE = YAML.load_file(
3
- File.dirname(__FILE__) + "/../../lib/adhearsion/generators/app/templates/.ahnrc"
4
- ) unless defined? DEFAULT_AHNRC_DATA_STRUCTURE
5
-
6
2
  UNWANTED_BEHAVIOR = {
7
- Adhearsion::Initializer => [:initialize_log_file, :switch_to_root_directory, :daemonize!, :load],
8
- Adhearsion::Initializer.metaclass => { :get_rules_from => DEFAULT_AHNRC_DATA_STRUCTURE },
3
+ Adhearsion::Initializer => [:initialize_log_paths, :update_rails_env_var, :daemonize!, :require, :init_plugins, :load_lib_folder]
9
4
  } unless defined? UNWANTED_BEHAVIOR
10
5
 
11
6
  def stub_behavior_for_initializer_with_no_path_changing_behavior
12
- stub_unwanted_behavior
13
- yield if block_given?
14
- ensure
15
- unstub_directory_changing_behavior
7
+ stub_unwanted_behavior
8
+ yield if block_given?
9
+ ensure
10
+ unstub_directory_changing_behavior
16
11
  end
17
12
 
18
13
  def with_new_initializer_with_no_path_changing_behavior(&block)
19
14
  stub_behavior_for_initializer_with_no_path_changing_behavior do
20
- block.call Adhearsion::Initializer.start('path does not matter')
15
+ block.call Adhearsion::Initializer.start
21
16
  end
22
17
  end
23
18
 
24
- def stub_unwanted_behavior
25
- UNWANTED_BEHAVIOR.each do |stub_victim_class, undesired_methods|
19
+ def stub_unwanted_behavior(unwanted_behavior = UNWANTED_BEHAVIOR)
20
+ unwanted_behavior.each do |stub_victim_class, undesired_methods|
26
21
  undesired_methods.each do |undesired_method_name_or_key_value_pair|
27
22
  undesired_method_name, method_implementation = case undesired_method_name_or_key_value_pair
28
23
  when Array
@@ -0,0 +1,6 @@
1
+ def mock_offer(id = nil, headers = {})
2
+ id ||= rand
3
+ flexmock("Offer: #{id}", :call_id => id, :headers_hash => headers).tap do |offer|
4
+ offer.should_ignore_missing
5
+ end
6
+ end
metadata CHANGED
@@ -1,8 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: adhearsion
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.6
5
- prerelease:
4
+ version: 2.0.0.alpha1
5
+ prerelease: 6
6
6
  platform: ruby
7
7
  authors:
8
8
  - Jay Phillips
@@ -12,11 +12,11 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2012-06-14 00:00:00.000000000 Z
15
+ date: 2012-01-17 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: bundler
19
- requirement: !ruby/object:Gem::Requirement
19
+ requirement: &2157338940 !ruby/object:Gem::Requirement
20
20
  none: false
21
21
  requirements:
22
22
  - - ! '>='
@@ -24,47 +24,65 @@ dependencies:
24
24
  version: 1.0.10
25
25
  type: :runtime
26
26
  prerelease: false
27
- version_requirements: !ruby/object:Gem::Requirement
27
+ version_requirements: *2157338940
28
+ - !ruby/object:Gem::Dependency
29
+ name: punchblock
30
+ requirement: &2157338400 !ruby/object:Gem::Requirement
28
31
  none: false
29
32
  requirements:
30
33
  - - ! '>='
31
34
  - !ruby/object:Gem::Version
32
- version: 1.0.10
35
+ version: 0.8.3
36
+ type: :runtime
37
+ prerelease: false
38
+ version_requirements: *2157338400
33
39
  - !ruby/object:Gem::Dependency
34
- name: log4r
35
- requirement: !ruby/object:Gem::Requirement
40
+ name: logging
41
+ requirement: &2157337900 !ruby/object:Gem::Requirement
36
42
  none: false
37
43
  requirements:
38
44
  - - ! '>='
39
45
  - !ruby/object:Gem::Version
40
- version: 1.0.5
46
+ version: 1.6.1
41
47
  type: :runtime
42
48
  prerelease: false
43
- version_requirements: !ruby/object:Gem::Requirement
49
+ version_requirements: *2157337900
50
+ - !ruby/object:Gem::Dependency
51
+ name: loquacious
52
+ requirement: &2157337400 !ruby/object:Gem::Requirement
44
53
  none: false
45
54
  requirements:
46
55
  - - ! '>='
47
56
  - !ruby/object:Gem::Version
48
- version: 1.0.5
57
+ version: 1.9.0
58
+ type: :runtime
59
+ prerelease: false
60
+ version_requirements: *2157337400
49
61
  - !ruby/object:Gem::Dependency
50
62
  name: activesupport
51
- requirement: !ruby/object:Gem::Requirement
63
+ requirement: &2157336880 !ruby/object:Gem::Requirement
52
64
  none: false
53
65
  requirements:
54
66
  - - ! '>='
55
67
  - !ruby/object:Gem::Version
56
- version: 2.1.0
68
+ version: 3.0.10
57
69
  type: :runtime
58
70
  prerelease: false
59
- version_requirements: !ruby/object:Gem::Requirement
71
+ version_requirements: *2157336880
72
+ - !ruby/object:Gem::Dependency
73
+ name: i18n
74
+ requirement: &2157336420 !ruby/object:Gem::Requirement
60
75
  none: false
61
76
  requirements:
62
77
  - - ! '>='
63
78
  - !ruby/object:Gem::Version
64
- version: 2.1.0
79
+ version: 0.5.0
80
+ type: :runtime
81
+ prerelease: false
82
+ version_requirements: *2157336420
65
83
  - !ruby/object:Gem::Dependency
66
- name: i18n
67
- requirement: !ruby/object:Gem::Requirement
84
+ name: json
85
+ requirement: &2157336020 !ruby/object:Gem::Requirement
68
86
  none: false
69
87
  requirements:
70
88
  - - ! '>='
@@ -72,15 +90,21 @@ dependencies:
72
90
  version: '0'
73
91
  type: :runtime
74
92
  prerelease: false
75
- version_requirements: !ruby/object:Gem::Requirement
93
+ version_requirements: *2157336020
94
+ - !ruby/object:Gem::Dependency
95
+ name: thor
96
+ requirement: &2157335540 !ruby/object:Gem::Requirement
76
97
  none: false
77
98
  requirements:
78
99
  - - ! '>='
79
100
  - !ruby/object:Gem::Version
80
101
  version: '0'
102
+ type: :runtime
103
+ prerelease: false
104
+ version_requirements: *2157335540
81
105
  - !ruby/object:Gem::Dependency
82
- name: json
83
- requirement: !ruby/object:Gem::Requirement
106
+ name: rake
107
+ requirement: &2157335120 !ruby/object:Gem::Requirement
84
108
  none: false
85
109
  requirements:
86
110
  - - ! '>='
@@ -88,15 +112,21 @@ dependencies:
88
112
  version: '0'
89
113
  type: :runtime
90
114
  prerelease: false
91
- version_requirements: !ruby/object:Gem::Requirement
115
+ version_requirements: *2157335120
116
+ - !ruby/object:Gem::Dependency
117
+ name: pry
118
+ requirement: &2157334680 !ruby/object:Gem::Requirement
92
119
  none: false
93
120
  requirements:
94
121
  - - ! '>='
95
122
  - !ruby/object:Gem::Version
96
123
  version: '0'
124
+ type: :runtime
125
+ prerelease: false
126
+ version_requirements: *2157334680
97
127
  - !ruby/object:Gem::Dependency
98
- name: thor
99
- requirement: !ruby/object:Gem::Requirement
128
+ name: uuid
129
+ requirement: &2157334240 !ruby/object:Gem::Requirement
100
130
  none: false
101
131
  requirements:
102
132
  - - ! '>='
@@ -104,69 +134,76 @@ dependencies:
104
134
  version: '0'
105
135
  type: :runtime
106
136
  prerelease: false
107
- version_requirements: !ruby/object:Gem::Requirement
137
+ version_requirements: *2157334240
138
+ - !ruby/object:Gem::Dependency
139
+ name: future-resource
140
+ requirement: &2157333700 !ruby/object:Gem::Requirement
108
141
  none: false
109
142
  requirements:
110
143
  - - ! '>='
111
144
  - !ruby/object:Gem::Version
112
- version: '0'
145
+ version: 0.0.2
146
+ type: :runtime
147
+ prerelease: false
148
+ version_requirements: *2157333700
113
149
  - !ruby/object:Gem::Dependency
114
- name: rake
115
- requirement: !ruby/object:Gem::Requirement
150
+ name: ruby_speech
151
+ requirement: &2157333160 !ruby/object:Gem::Requirement
116
152
  none: false
117
153
  requirements:
118
154
  - - ! '>='
119
155
  - !ruby/object:Gem::Version
120
- version: '0'
156
+ version: 0.4.0
121
157
  type: :runtime
122
158
  prerelease: false
123
- version_requirements: !ruby/object:Gem::Requirement
159
+ version_requirements: *2157333160
160
+ - !ruby/object:Gem::Dependency
161
+ name: countdownlatch
162
+ requirement: &2157332780 !ruby/object:Gem::Requirement
124
163
  none: false
125
164
  requirements:
126
165
  - - ! '>='
127
166
  - !ruby/object:Gem::Version
128
167
  version: '0'
168
+ type: :runtime
169
+ prerelease: false
170
+ version_requirements: *2157332780
129
171
  - !ruby/object:Gem::Dependency
130
- name: pry
131
- requirement: !ruby/object:Gem::Requirement
172
+ name: has-guarded-handlers
173
+ requirement: &2157332180 !ruby/object:Gem::Requirement
132
174
  none: false
133
175
  requirements:
134
176
  - - ! '>='
135
177
  - !ruby/object:Gem::Version
136
- version: '0'
178
+ version: 0.1.1
137
179
  type: :runtime
138
180
  prerelease: false
139
- version_requirements: !ruby/object:Gem::Requirement
181
+ version_requirements: *2157332180
182
+ - !ruby/object:Gem::Dependency
183
+ name: girl_friday
184
+ requirement: &2157331740 !ruby/object:Gem::Requirement
140
185
  none: false
141
186
  requirements:
142
187
  - - ! '>='
143
188
  - !ruby/object:Gem::Version
144
189
  version: '0'
190
+ type: :runtime
191
+ prerelease: false
192
+ version_requirements: *2157331740
145
193
  - !ruby/object:Gem::Dependency
146
194
  name: rspec
147
- requirement: !ruby/object:Gem::Requirement
195
+ requirement: &2157348260 !ruby/object:Gem::Requirement
148
196
  none: false
149
197
  requirements:
150
- - - ! '>='
198
+ - - ~>
151
199
  - !ruby/object:Gem::Version
152
- version: 2.4.0
153
- - - <
154
- - !ruby/object:Gem::Version
155
- version: 2.8.0
200
+ version: 2.7.0
156
201
  type: :development
157
202
  prerelease: false
158
- version_requirements: !ruby/object:Gem::Requirement
159
- none: false
160
- requirements:
161
- - - ! '>='
162
- - !ruby/object:Gem::Version
163
- version: 2.4.0
164
- - - <
165
- - !ruby/object:Gem::Version
166
- version: 2.8.0
203
+ version_requirements: *2157348260
167
204
  - !ruby/object:Gem::Dependency
168
205
  name: flexmock
169
- requirement: !ruby/object:Gem::Requirement
206
+ requirement: &2157347840 !ruby/object:Gem::Requirement
170
207
  none: false
171
208
  requirements:
172
209
  - - ! '>='
@@ -174,31 +211,32 @@ dependencies:
174
211
  version: '0'
175
212
  type: :development
176
213
  prerelease: false
177
- version_requirements: !ruby/object:Gem::Requirement
178
- none: false
179
- requirements:
180
- - - ! '>='
181
- - !ruby/object:Gem::Version
182
- version: '0'
214
+ version_requirements: *2157347840
183
215
  - !ruby/object:Gem::Dependency
184
216
  name: activerecord
185
- requirement: !ruby/object:Gem::Requirement
217
+ requirement: &2157347260 !ruby/object:Gem::Requirement
186
218
  none: false
187
219
  requirements:
188
220
  - - ! '>='
189
221
  - !ruby/object:Gem::Version
190
- version: 2.1.0
222
+ version: 3.0.10
191
223
  type: :development
192
224
  prerelease: false
193
- version_requirements: !ruby/object:Gem::Requirement
225
+ version_requirements: *2157347260
226
+ - !ruby/object:Gem::Dependency
227
+ name: simplecov
228
+ requirement: &2157346840 !ruby/object:Gem::Requirement
194
229
  none: false
195
230
  requirements:
196
231
  - - ! '>='
197
232
  - !ruby/object:Gem::Version
198
- version: 2.1.0
233
+ version: '0'
234
+ type: :development
235
+ prerelease: false
236
+ version_requirements: *2157346840
199
237
  - !ruby/object:Gem::Dependency
200
- name: rake
201
- requirement: !ruby/object:Gem::Requirement
238
+ name: simplecov-rcov
239
+ requirement: &2157346360 !ruby/object:Gem::Requirement
202
240
  none: false
203
241
  requirements:
204
242
  - - ! '>='
@@ -206,15 +244,21 @@ dependencies:
206
244
  version: '0'
207
245
  type: :development
208
246
  prerelease: false
209
- version_requirements: !ruby/object:Gem::Requirement
247
+ version_requirements: *2157346360
248
+ - !ruby/object:Gem::Dependency
249
+ name: ci_reporter
250
+ requirement: &2157345940 !ruby/object:Gem::Requirement
210
251
  none: false
211
252
  requirements:
212
253
  - - ! '>='
213
254
  - !ruby/object:Gem::Version
214
255
  version: '0'
256
+ type: :development
257
+ prerelease: false
258
+ version_requirements: *2157345940
215
259
  - !ruby/object:Gem::Dependency
216
- name: simplecov
217
- requirement: !ruby/object:Gem::Requirement
260
+ name: yard
261
+ requirement: &2157345500 !ruby/object:Gem::Requirement
218
262
  none: false
219
263
  requirements:
220
264
  - - ! '>='
@@ -222,15 +266,21 @@ dependencies:
222
266
  version: '0'
223
267
  type: :development
224
268
  prerelease: false
225
- version_requirements: !ruby/object:Gem::Requirement
269
+ version_requirements: *2157345500
270
+ - !ruby/object:Gem::Dependency
271
+ name: guard-rspec
272
+ requirement: &2157345080 !ruby/object:Gem::Requirement
226
273
  none: false
227
274
  requirements:
228
275
  - - ! '>='
229
276
  - !ruby/object:Gem::Version
230
277
  version: '0'
278
+ type: :development
279
+ prerelease: false
280
+ version_requirements: *2157345080
231
281
  - !ruby/object:Gem::Dependency
232
- name: simplecov-rcov
233
- requirement: !ruby/object:Gem::Requirement
282
+ name: guard-cucumber
283
+ requirement: &2157344660 !ruby/object:Gem::Requirement
234
284
  none: false
235
285
  requirements:
236
286
  - - ! '>='
@@ -238,15 +288,21 @@ dependencies:
238
288
  version: '0'
239
289
  type: :development
240
290
  prerelease: false
241
- version_requirements: !ruby/object:Gem::Requirement
291
+ version_requirements: *2157344660
292
+ - !ruby/object:Gem::Dependency
293
+ name: ruby_gntp
294
+ requirement: &2157344220 !ruby/object:Gem::Requirement
242
295
  none: false
243
296
  requirements:
244
297
  - - ! '>='
245
298
  - !ruby/object:Gem::Version
246
299
  version: '0'
300
+ type: :development
301
+ prerelease: false
302
+ version_requirements: *2157344220
247
303
  - !ruby/object:Gem::Dependency
248
- name: ci_reporter
249
- requirement: !ruby/object:Gem::Requirement
304
+ name: cucumber
305
+ requirement: &2157343800 !ruby/object:Gem::Requirement
250
306
  none: false
251
307
  requirements:
252
308
  - - ! '>='
@@ -254,186 +310,139 @@ dependencies:
254
310
  version: '0'
255
311
  type: :development
256
312
  prerelease: false
257
- version_requirements: !ruby/object:Gem::Requirement
313
+ version_requirements: *2157343800
314
+ - !ruby/object:Gem::Dependency
315
+ name: aruba
316
+ requirement: &2157343380 !ruby/object:Gem::Requirement
258
317
  none: false
259
318
  requirements:
260
319
  - - ! '>='
261
320
  - !ruby/object:Gem::Version
262
321
  version: '0'
322
+ type: :development
323
+ prerelease: false
324
+ version_requirements: *2157343380
263
325
  description: Adhearsion is an open-source telephony development framework
264
326
  email: dev&Adhearsion.com
265
327
  executables:
266
328
  - ahn
267
- - ahnctl
268
- - jahn
269
329
  extensions: []
270
330
  extra_rdoc_files: []
271
331
  files:
272
332
  - .gitignore
273
333
  - .rspec
274
- - CHANGELOG
334
+ - CHANGELOG.md
275
335
  - EVENTS
276
336
  - Gemfile
337
+ - Guardfile
277
338
  - LICENSE
278
339
  - README.markdown
279
340
  - Rakefile
280
341
  - adhearsion.gemspec
281
342
  - bin/ahn
282
- - bin/ahnctl
283
- - bin/jahn
284
- - examples/asterisk_manager_interface/standalone.rb
343
+ - cucumber.yml
344
+ - features/app_generator.feature
345
+ - features/cli.feature
346
+ - features/step_definitions/app_generator_steps.rb
347
+ - features/step_definitions/cli_steps.rb
348
+ - features/support/aruba_helper.rb
349
+ - features/support/env.rb
350
+ - features/support/utils.rb
285
351
  - lib/adhearsion.rb
352
+ - lib/adhearsion/call.rb
353
+ - lib/adhearsion/call_controller.rb
354
+ - lib/adhearsion/call_controller/dial.rb
355
+ - lib/adhearsion/call_controller/input.rb
356
+ - lib/adhearsion/call_controller/menu.rb
357
+ - lib/adhearsion/call_controller/output.rb
358
+ - lib/adhearsion/call_controller/record.rb
359
+ - lib/adhearsion/call_controller/utility.rb
360
+ - lib/adhearsion/calls.rb
286
361
  - lib/adhearsion/cli.rb
287
- - lib/adhearsion/commands.rb
288
- - lib/adhearsion/component_manager.rb
289
- - lib/adhearsion/component_manager/component_tester.rb
290
- - lib/adhearsion/component_manager/spec_framework.rb
362
+ - lib/adhearsion/cli_commands.rb
363
+ - lib/adhearsion/configuration.rb
291
364
  - lib/adhearsion/console.rb
292
- - lib/adhearsion/events_support.rb
365
+ - lib/adhearsion/dialplan_controller.rb
366
+ - lib/adhearsion/events.rb
293
367
  - lib/adhearsion/foundation/all.rb
294
- - lib/adhearsion/foundation/blank_slate.rb
295
368
  - lib/adhearsion/foundation/custom_daemonizer.rb
296
- - lib/adhearsion/foundation/event_socket.rb
297
- - lib/adhearsion/foundation/future_resource.rb
298
- - lib/adhearsion/foundation/metaprogramming.rb
299
- - lib/adhearsion/foundation/numeric.rb
369
+ - lib/adhearsion/foundation/exception_handler.rb
300
370
  - lib/adhearsion/foundation/object.rb
301
- - lib/adhearsion/foundation/pseudo_guid.rb
302
- - lib/adhearsion/foundation/relationship_properties.rb
303
- - lib/adhearsion/foundation/string.rb
304
371
  - lib/adhearsion/foundation/synchronized_hash.rb
305
372
  - lib/adhearsion/foundation/thread_safety.rb
306
373
  - lib/adhearsion/generators.rb
307
374
  - lib/adhearsion/generators/app/USAGE
308
375
  - lib/adhearsion/generators/app/app_generator.rb
309
- - lib/adhearsion/generators/app/templates/.ahnrc
310
376
  - lib/adhearsion/generators/app/templates/Gemfile
311
- - lib/adhearsion/generators/app/templates/README
377
+ - lib/adhearsion/generators/app/templates/Procfile
378
+ - lib/adhearsion/generators/app/templates/README.md
312
379
  - lib/adhearsion/generators/app/templates/Rakefile
313
- - lib/adhearsion/generators/app/templates/components/ami_remote/ami_remote.rb
314
- - lib/adhearsion/generators/app/templates/components/disabled/HOW_TO_ENABLE
315
- - lib/adhearsion/generators/app/templates/components/disabled/stomp_gateway/README.markdown
316
- - lib/adhearsion/generators/app/templates/components/disabled/stomp_gateway/stomp_gateway.rb
317
- - lib/adhearsion/generators/app/templates/components/disabled/stomp_gateway/stomp_gateway.yml
318
- - lib/adhearsion/generators/app/templates/components/disabled/xmpp_gateway/README.markdown
319
- - lib/adhearsion/generators/app/templates/components/disabled/xmpp_gateway/xmpp_gateway.rb
320
- - lib/adhearsion/generators/app/templates/components/disabled/xmpp_gateway/xmpp_gateway.yml
321
- - lib/adhearsion/generators/app/templates/components/simon_game/simon_game.rb
380
+ - lib/adhearsion/generators/app/templates/config/adhearsion.rb
322
381
  - lib/adhearsion/generators/app/templates/config/environment.rb
323
- - lib/adhearsion/generators/app/templates/config/startup.rb
324
- - lib/adhearsion/generators/app/templates/dialplan.rb
325
- - lib/adhearsion/generators/app/templates/events.rb
382
+ - lib/adhearsion/generators/app/templates/lib/simon_game.rb
326
383
  - lib/adhearsion/generators/app/templates/script/ahn
327
- - lib/adhearsion/host_definitions.rb
328
384
  - lib/adhearsion/initializer.rb
329
- - lib/adhearsion/initializer/asterisk.rb
330
- - lib/adhearsion/initializer/configuration.rb
331
- - lib/adhearsion/initializer/database.rb
332
- - lib/adhearsion/initializer/drb.rb
333
- - lib/adhearsion/initializer/freeswitch.rb
334
- - lib/adhearsion/initializer/ldap.rb
335
- - lib/adhearsion/initializer/rails.rb
336
- - lib/adhearsion/initializer/xmpp.rb
385
+ - lib/adhearsion/initializer/logging.rb
337
386
  - lib/adhearsion/logging.rb
387
+ - lib/adhearsion/menu_dsl.rb
388
+ - lib/adhearsion/menu_dsl/calculated_match.rb
389
+ - lib/adhearsion/menu_dsl/calculated_match_collection.rb
390
+ - lib/adhearsion/menu_dsl/fixnum_match_calculator.rb
391
+ - lib/adhearsion/menu_dsl/match_calculator.rb
392
+ - lib/adhearsion/menu_dsl/menu.rb
393
+ - lib/adhearsion/menu_dsl/menu_builder.rb
394
+ - lib/adhearsion/menu_dsl/range_match_calculator.rb
395
+ - lib/adhearsion/menu_dsl/string_match_calculator.rb
396
+ - lib/adhearsion/outbound_call.rb
397
+ - lib/adhearsion/plugin.rb
398
+ - lib/adhearsion/plugin/collection.rb
399
+ - lib/adhearsion/plugin/initializer.rb
400
+ - lib/adhearsion/plugin/methods_container.rb
401
+ - lib/adhearsion/process.rb
402
+ - lib/adhearsion/punchblock_plugin.rb
403
+ - lib/adhearsion/punchblock_plugin/initializer.rb
404
+ - lib/adhearsion/router.rb
405
+ - lib/adhearsion/router/route.rb
338
406
  - lib/adhearsion/script_ahn_loader.rb
339
407
  - lib/adhearsion/tasks.rb
340
- - lib/adhearsion/tasks/components.rb
341
- - lib/adhearsion/tasks/database.rb
342
- - lib/adhearsion/tasks/deprecations.rb
343
- - lib/adhearsion/tasks/generating.rb
344
- - lib/adhearsion/tasks/lint.rb
408
+ - lib/adhearsion/tasks/configuration.rb
409
+ - lib/adhearsion/tasks/plugins.rb
345
410
  - lib/adhearsion/tasks/testing.rb
346
411
  - lib/adhearsion/version.rb
347
- - lib/adhearsion/voip/asterisk.rb
348
- - lib/adhearsion/voip/asterisk/agi_server.rb
349
- - lib/adhearsion/voip/asterisk/commands.rb
350
- - lib/adhearsion/voip/asterisk/config_generators/agents.conf.rb
351
- - lib/adhearsion/voip/asterisk/config_generators/config_generator.rb
352
- - lib/adhearsion/voip/asterisk/config_generators/queues.conf.rb
353
- - lib/adhearsion/voip/asterisk/config_generators/voicemail.conf.rb
354
- - lib/adhearsion/voip/asterisk/config_manager.rb
355
- - lib/adhearsion/voip/asterisk/manager_interface.rb
356
- - lib/adhearsion/voip/asterisk/manager_interface/ami_lexer.rb
357
- - lib/adhearsion/voip/asterisk/manager_interface/ami_lexer.rl.rb
358
- - lib/adhearsion/voip/asterisk/manager_interface/ami_messages.rb
359
- - lib/adhearsion/voip/asterisk/manager_interface/ami_protocol_lexer_machine.rl
360
- - lib/adhearsion/voip/asterisk/special_dial_plan_managers.rb
361
- - lib/adhearsion/voip/call.rb
362
- - lib/adhearsion/voip/call_routing.rb
363
- - lib/adhearsion/voip/commands.rb
364
- - lib/adhearsion/voip/constants.rb
365
- - lib/adhearsion/voip/conveniences.rb
366
- - lib/adhearsion/voip/dial_plan.rb
367
- - lib/adhearsion/voip/dsl/dialing_dsl.rb
368
- - lib/adhearsion/voip/dsl/dialing_dsl/dialing_dsl_monkey_patches.rb
369
- - lib/adhearsion/voip/dsl/dialplan/control_passing_exception.rb
370
- - lib/adhearsion/voip/dsl/dialplan/dispatcher.rb
371
- - lib/adhearsion/voip/dsl/dialplan/parser.rb
372
- - lib/adhearsion/voip/dsl/dialplan/thread_mixin.rb
373
- - lib/adhearsion/voip/dsl/numerical_string.rb
374
- - lib/adhearsion/voip/freeswitch/basic_connection_manager.rb
375
- - lib/adhearsion/voip/freeswitch/event_handler.rb
376
- - lib/adhearsion/voip/freeswitch/freeswitch_dialplan_command_factory.rb
377
- - lib/adhearsion/voip/freeswitch/inbound_connection_manager.rb
378
- - lib/adhearsion/voip/freeswitch/oes_server.rb
379
- - lib/adhearsion/voip/menu_state_machine/calculated_match.rb
380
- - lib/adhearsion/voip/menu_state_machine/matchers.rb
381
- - lib/adhearsion/voip/menu_state_machine/menu_builder.rb
382
- - lib/adhearsion/voip/menu_state_machine/menu_class.rb
383
- - lib/adhearsion/xmpp/connection.rb
384
- - lib/theatre.rb
385
- - lib/theatre/README.markdown
386
- - lib/theatre/callback_definition_loader.rb
387
- - lib/theatre/guid.rb
388
- - lib/theatre/invocation.rb
389
- - lib/theatre/namespace_manager.rb
390
- - lib/theatre/version.rb
391
- - spec/adhearsion/cli_spec.rb
392
- - spec/adhearsion/component_manager_spec.rb
393
- - spec/adhearsion/constants_spec.rb
394
- - spec/adhearsion/drb_spec.rb
395
- - spec/adhearsion/fixtures/dialplan.rb
396
- - spec/adhearsion/foundation/event_socket_spec.rb
397
- - spec/adhearsion/host_definitions_spec.rb
398
- - spec/adhearsion/initializer/configuration_spec.rb
399
- - spec/adhearsion/initializer/loading_spec.rb
400
- - spec/adhearsion/initializer/paths_spec.rb
412
+ - spec/adhearsion/call_controller/dial_spec.rb
413
+ - spec/adhearsion/call_controller/input_spec.rb
414
+ - spec/adhearsion/call_controller/menu_spec.rb
415
+ - spec/adhearsion/call_controller/output_spec.rb
416
+ - spec/adhearsion/call_controller/record_spec.rb
417
+ - spec/adhearsion/call_controller_spec.rb
418
+ - spec/adhearsion/call_spec.rb
419
+ - spec/adhearsion/calls_spec.rb
420
+ - spec/adhearsion/configuration_spec.rb
421
+ - spec/adhearsion/dialplan_controller_spec.rb
422
+ - spec/adhearsion/events_spec.rb
423
+ - spec/adhearsion/initializer/logging_spec.rb
401
424
  - spec/adhearsion/initializer_spec.rb
402
425
  - spec/adhearsion/logging_spec.rb
403
- - spec/adhearsion/relationship_properties_spec.rb
404
- - spec/adhearsion/voip/asterisk/agi_server_spec.rb
405
- - spec/adhearsion/voip/asterisk/ami/ami_spec.rb
406
- - spec/adhearsion/voip/asterisk/ami/lexer/ami_fixtures.yml
407
- - spec/adhearsion/voip/asterisk/ami/lexer/lexer_story
408
- - spec/adhearsion/voip/asterisk/ami/lexer/lexer_story.rb
409
- - spec/adhearsion/voip/asterisk/ami/lexer/story_helper.rb
410
- - spec/adhearsion/voip/asterisk/commands_spec.rb
411
- - spec/adhearsion/voip/asterisk/config_file_generators/agents_spec.rb
412
- - spec/adhearsion/voip/asterisk/config_file_generators/queues_spec.rb
413
- - spec/adhearsion/voip/asterisk/config_file_generators/voicemail_spec.rb
414
- - spec/adhearsion/voip/asterisk/config_manager_spec.rb
415
- - spec/adhearsion/voip/asterisk/menu_command/calculated_match_spec.rb
416
- - spec/adhearsion/voip/asterisk/menu_command/matchers_spec.rb
417
- - spec/adhearsion/voip/call_routing_spec.rb
418
- - spec/adhearsion/voip/dialplan_manager_spec.rb
419
- - spec/adhearsion/voip/dsl/dialing_dsl_spec.rb
420
- - spec/adhearsion/voip/dsl/dispatcher_spec.rb
421
- - spec/adhearsion/voip/dsl/dispatcher_spec_helper.rb
422
- - spec/adhearsion/voip/dsl/parser_spec.rb
423
- - spec/adhearsion/voip/freeswitch/basic_connection_manager_spec.rb
424
- - spec/adhearsion/voip/freeswitch/inbound_connection_manager_spec.rb
425
- - spec/adhearsion/voip/freeswitch/oes_server_spec.rb
426
- - spec/adhearsion/voip/numerical_string_spec.rb
427
- - spec/adhearsion/voip/phone_number_spec.rb
426
+ - spec/adhearsion/menu_dsl/calculated_match_collection_spec.rb
427
+ - spec/adhearsion/menu_dsl/calculated_match_spec.rb
428
+ - spec/adhearsion/menu_dsl/fixnum_match_calculator_spec.rb
429
+ - spec/adhearsion/menu_dsl/match_calculator_spec.rb
430
+ - spec/adhearsion/menu_dsl/menu_builder_spec.rb
431
+ - spec/adhearsion/menu_dsl/menu_spec.rb
432
+ - spec/adhearsion/menu_dsl/range_match_calculator_spec.rb
433
+ - spec/adhearsion/menu_dsl/string_match_calculator_spec.rb
434
+ - spec/adhearsion/menu_dsl_spec.rb
435
+ - spec/adhearsion/outbound_call_spec.rb
436
+ - spec/adhearsion/plugin_spec.rb
437
+ - spec/adhearsion/process_spec.rb
438
+ - spec/adhearsion/punchblock_plugin/initializer_spec.rb
439
+ - spec/adhearsion/router/route_spec.rb
440
+ - spec/adhearsion/router_spec.rb
441
+ - spec/adhearsion_spec.rb
428
442
  - spec/spec_helper.rb
443
+ - spec/support/call_controller_test_helpers.rb
429
444
  - spec/support/initializer_stubs.rb
430
- - spec/support/the_following_code.rb
431
- - spec/theatre/dsl_examples/simple_before_call.rb
432
- - spec/theatre/dsl_spec.rb
433
- - spec/theatre/invocation_spec.rb
434
- - spec/theatre/namespace_spec.rb
435
- - spec/theatre/spec_helper_spec.rb
436
- - spec/theatre/theatre_class_spec.rb
445
+ - spec/support/punchblock_mocks.rb
437
446
  homepage: http://adhearsion.com
438
447
  licenses: []
439
448
  post_install_message:
@@ -448,66 +457,59 @@ required_ruby_version: !ruby/object:Gem::Requirement
448
457
  version: '0'
449
458
  segments:
450
459
  - 0
451
- hash: -1033038213187391653
460
+ hash: -364475193702133580
452
461
  required_rubygems_version: !ruby/object:Gem::Requirement
453
462
  none: false
454
463
  requirements:
455
- - - ! '>='
464
+ - - ! '>'
456
465
  - !ruby/object:Gem::Version
457
- version: '0'
458
- segments:
459
- - 0
460
- hash: -1033038213187391653
466
+ version: 1.3.1
461
467
  requirements: []
462
468
  rubyforge_project:
463
- rubygems_version: 1.8.24
469
+ rubygems_version: 1.8.10
464
470
  signing_key:
465
471
  specification_version: 3
466
472
  summary: Adhearsion, open-source telephony development framework
467
473
  test_files:
468
- - spec/adhearsion/cli_spec.rb
469
- - spec/adhearsion/component_manager_spec.rb
470
- - spec/adhearsion/constants_spec.rb
471
- - spec/adhearsion/drb_spec.rb
472
- - spec/adhearsion/fixtures/dialplan.rb
473
- - spec/adhearsion/foundation/event_socket_spec.rb
474
- - spec/adhearsion/host_definitions_spec.rb
475
- - spec/adhearsion/initializer/configuration_spec.rb
476
- - spec/adhearsion/initializer/loading_spec.rb
477
- - spec/adhearsion/initializer/paths_spec.rb
474
+ - features/app_generator.feature
475
+ - features/cli.feature
476
+ - features/step_definitions/app_generator_steps.rb
477
+ - features/step_definitions/cli_steps.rb
478
+ - features/support/aruba_helper.rb
479
+ - features/support/env.rb
480
+ - features/support/utils.rb
481
+ - spec/adhearsion/call_controller/dial_spec.rb
482
+ - spec/adhearsion/call_controller/input_spec.rb
483
+ - spec/adhearsion/call_controller/menu_spec.rb
484
+ - spec/adhearsion/call_controller/output_spec.rb
485
+ - spec/adhearsion/call_controller/record_spec.rb
486
+ - spec/adhearsion/call_controller_spec.rb
487
+ - spec/adhearsion/call_spec.rb
488
+ - spec/adhearsion/calls_spec.rb
489
+ - spec/adhearsion/configuration_spec.rb
490
+ - spec/adhearsion/dialplan_controller_spec.rb
491
+ - spec/adhearsion/events_spec.rb
492
+ - spec/adhearsion/initializer/logging_spec.rb
478
493
  - spec/adhearsion/initializer_spec.rb
479
494
  - spec/adhearsion/logging_spec.rb
480
- - spec/adhearsion/relationship_properties_spec.rb
481
- - spec/adhearsion/voip/asterisk/agi_server_spec.rb
482
- - spec/adhearsion/voip/asterisk/ami/ami_spec.rb
483
- - spec/adhearsion/voip/asterisk/ami/lexer/ami_fixtures.yml
484
- - spec/adhearsion/voip/asterisk/ami/lexer/lexer_story
485
- - spec/adhearsion/voip/asterisk/ami/lexer/lexer_story.rb
486
- - spec/adhearsion/voip/asterisk/ami/lexer/story_helper.rb
487
- - spec/adhearsion/voip/asterisk/commands_spec.rb
488
- - spec/adhearsion/voip/asterisk/config_file_generators/agents_spec.rb
489
- - spec/adhearsion/voip/asterisk/config_file_generators/queues_spec.rb
490
- - spec/adhearsion/voip/asterisk/config_file_generators/voicemail_spec.rb
491
- - spec/adhearsion/voip/asterisk/config_manager_spec.rb
492
- - spec/adhearsion/voip/asterisk/menu_command/calculated_match_spec.rb
493
- - spec/adhearsion/voip/asterisk/menu_command/matchers_spec.rb
494
- - spec/adhearsion/voip/call_routing_spec.rb
495
- - spec/adhearsion/voip/dialplan_manager_spec.rb
496
- - spec/adhearsion/voip/dsl/dialing_dsl_spec.rb
497
- - spec/adhearsion/voip/dsl/dispatcher_spec.rb
498
- - spec/adhearsion/voip/dsl/dispatcher_spec_helper.rb
499
- - spec/adhearsion/voip/dsl/parser_spec.rb
500
- - spec/adhearsion/voip/freeswitch/basic_connection_manager_spec.rb
501
- - spec/adhearsion/voip/freeswitch/inbound_connection_manager_spec.rb
502
- - spec/adhearsion/voip/freeswitch/oes_server_spec.rb
503
- - spec/adhearsion/voip/numerical_string_spec.rb
504
- - spec/adhearsion/voip/phone_number_spec.rb
495
+ - spec/adhearsion/menu_dsl/calculated_match_collection_spec.rb
496
+ - spec/adhearsion/menu_dsl/calculated_match_spec.rb
497
+ - spec/adhearsion/menu_dsl/fixnum_match_calculator_spec.rb
498
+ - spec/adhearsion/menu_dsl/match_calculator_spec.rb
499
+ - spec/adhearsion/menu_dsl/menu_builder_spec.rb
500
+ - spec/adhearsion/menu_dsl/menu_spec.rb
501
+ - spec/adhearsion/menu_dsl/range_match_calculator_spec.rb
502
+ - spec/adhearsion/menu_dsl/string_match_calculator_spec.rb
503
+ - spec/adhearsion/menu_dsl_spec.rb
504
+ - spec/adhearsion/outbound_call_spec.rb
505
+ - spec/adhearsion/plugin_spec.rb
506
+ - spec/adhearsion/process_spec.rb
507
+ - spec/adhearsion/punchblock_plugin/initializer_spec.rb
508
+ - spec/adhearsion/router/route_spec.rb
509
+ - spec/adhearsion/router_spec.rb
510
+ - spec/adhearsion_spec.rb
505
511
  - spec/spec_helper.rb
512
+ - spec/support/call_controller_test_helpers.rb
506
513
  - spec/support/initializer_stubs.rb
507
- - spec/support/the_following_code.rb
508
- - spec/theatre/dsl_examples/simple_before_call.rb
509
- - spec/theatre/dsl_spec.rb
510
- - spec/theatre/invocation_spec.rb
511
- - spec/theatre/namespace_spec.rb
512
- - spec/theatre/spec_helper_spec.rb
513
- - spec/theatre/theatre_class_spec.rb
514
+ - spec/support/punchblock_mocks.rb
515
+ has_rdoc: