adhearsion 1.1.1 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (83) hide show
  1. data/.gitignore +3 -0
  2. data/.rspec +3 -0
  3. data/CHANGELOG +12 -0
  4. data/README.markdown +1 -10
  5. data/Rakefile +6 -28
  6. data/adhearsion.gemspec +21 -38
  7. data/app_generators/ahn/ahn_generator.rb +3 -4
  8. data/app_generators/ahn/templates/config/environment.rb +4 -0
  9. data/app_generators/ahn/templates/config/startup.rb +11 -5
  10. data/app_generators/ahn/templates/script/ahn +8 -0
  11. data/lib/adhearsion/cli.rb +5 -298
  12. data/lib/adhearsion/commands.rb +308 -0
  13. data/lib/adhearsion/events_support.rb +0 -20
  14. data/lib/adhearsion/initializer/asterisk.rb +0 -1
  15. data/lib/adhearsion/initializer/configuration.rb +4 -1
  16. data/lib/adhearsion/logging.rb +18 -3
  17. data/lib/adhearsion/script_ahn_loader.rb +30 -0
  18. data/lib/adhearsion/tasks/testing.rb +39 -8
  19. data/lib/adhearsion/version.rb +2 -2
  20. data/lib/adhearsion/voip/asterisk/agi_server.rb +15 -8
  21. data/lib/adhearsion/voip/asterisk/commands.rb +340 -86
  22. data/lib/adhearsion/voip/asterisk/manager_interface.rb +0 -2
  23. data/lib/adhearsion/voip/call.rb +11 -3
  24. data/lib/adhearsion/voip/commands.rb +5 -1
  25. data/lib/adhearsion/voip/dial_plan.rb +4 -0
  26. data/lib/theatre/invocation.rb +3 -0
  27. data/spec/{ahn_command_spec.rb → adhearsion/cli_spec.rb} +11 -0
  28. data/spec/{component_manager_spec.rb → adhearsion/component_manager_spec.rb} +0 -0
  29. data/spec/{constants_spec.rb → adhearsion/constants_spec.rb} +0 -0
  30. data/spec/{drb_spec.rb → adhearsion/drb_spec.rb} +0 -0
  31. data/spec/{fixtures → adhearsion/fixtures}/dialplan.rb +0 -0
  32. data/spec/{foundation → adhearsion/foundation}/event_socket_spec.rb +0 -0
  33. data/spec/{host_definitions_spec.rb → adhearsion/host_definitions_spec.rb} +0 -0
  34. data/spec/{initializer → adhearsion/initializer}/configuration_spec.rb +21 -0
  35. data/spec/{initializer → adhearsion/initializer}/loading_spec.rb +0 -0
  36. data/spec/{initializer → adhearsion/initializer}/paths_spec.rb +0 -0
  37. data/spec/{initialization_spec.rb → adhearsion/initializer_spec.rb} +0 -0
  38. data/spec/{logging_spec.rb → adhearsion/logging_spec.rb} +6 -0
  39. data/spec/{relationship_properties_spec.rb → adhearsion/relationship_properties_spec.rb} +0 -0
  40. data/spec/{voip → adhearsion/voip}/asterisk/agi_server_spec.rb +0 -0
  41. data/spec/{voip → adhearsion/voip}/asterisk/ami/ami_spec.rb +1 -0
  42. data/spec/{voip → adhearsion/voip}/asterisk/ami/lexer/ami_fixtures.yml +0 -0
  43. data/spec/{voip → adhearsion/voip}/asterisk/ami/lexer/lexer_story +0 -0
  44. data/spec/{voip → adhearsion/voip}/asterisk/ami/lexer/lexer_story.rb +0 -0
  45. data/spec/{voip → adhearsion/voip}/asterisk/ami/lexer/story_helper.rb +0 -0
  46. data/spec/{voip → adhearsion/voip}/asterisk/commands_spec.rb +549 -47
  47. data/spec/{voip → adhearsion/voip}/asterisk/config_file_generators/agents_spec.rb +0 -0
  48. data/spec/{voip → adhearsion/voip}/asterisk/config_file_generators/queues_spec.rb +0 -0
  49. data/spec/{voip → adhearsion/voip}/asterisk/config_file_generators/voicemail_spec.rb +0 -0
  50. data/spec/{voip → adhearsion/voip}/asterisk/config_manager_spec.rb +0 -0
  51. data/spec/{voip → adhearsion/voip}/asterisk/menu_command/calculated_match_spec.rb +0 -0
  52. data/spec/{voip → adhearsion/voip}/asterisk/menu_command/matchers_spec.rb +0 -0
  53. data/spec/{voip → adhearsion/voip}/call_routing_spec.rb +0 -0
  54. data/spec/{voip → adhearsion/voip}/dialplan_manager_spec.rb +0 -0
  55. data/spec/{voip → adhearsion/voip}/dsl/dialing_dsl_spec.rb +1 -1
  56. data/spec/{voip → adhearsion/voip}/dsl/dispatcher_spec.rb +0 -0
  57. data/spec/{voip → adhearsion/voip}/dsl/dispatcher_spec_helper.rb +0 -0
  58. data/spec/{voip → adhearsion/voip}/dsl/parser_spec.rb +0 -0
  59. data/spec/{voip → adhearsion/voip}/freeswitch/basic_connection_manager_spec.rb +0 -0
  60. data/spec/{voip → adhearsion/voip}/freeswitch/inbound_connection_manager_spec.rb +0 -0
  61. data/spec/{voip → adhearsion/voip}/freeswitch/oes_server_spec.rb +0 -0
  62. data/spec/{voip → adhearsion/voip}/numerical_string_spec.rb +0 -0
  63. data/spec/{voip → adhearsion/voip}/phone_number_spec.rb +0 -0
  64. data/spec/spec_helper.rb +36 -89
  65. data/spec/support/initializer_stubs.rb +47 -0
  66. data/spec/support/the_following_code.rb +3 -0
  67. data/{theatre-spec → spec/theatre}/dsl_examples/simple_before_call.rb +0 -0
  68. data/{theatre-spec → spec/theatre}/dsl_spec.rb +26 -0
  69. data/{theatre-spec → spec/theatre}/invocation_spec.rb +6 -10
  70. data/{theatre-spec → spec/theatre}/namespace_spec.rb +0 -0
  71. data/{theatre-spec → spec/theatre}/spec_helper_spec.rb +0 -0
  72. data/{theatre-spec → spec/theatre}/theatre_class_spec.rb +2 -5
  73. metadata +254 -271
  74. data/app_generators/ahn/templates/components/disabled/sandbox/sandbox.rb +0 -104
  75. data/app_generators/ahn/templates/components/disabled/sandbox/sandbox.yml +0 -2
  76. data/lib/adhearsion/voip/asterisk/super_manager.rb +0 -19
  77. data/spec/silence.rb +0 -10
  78. data/spec/voip/asterisk/ami/old_tests.rb +0 -204
  79. data/spec/voip/asterisk/ami/super_manager/super_manager_story +0 -25
  80. data/spec/voip/asterisk/ami/super_manager/super_manager_story.rb +0 -15
  81. data/spec/voip/asterisk/ami/super_manager/super_manager_story_helper.rb +0 -5
  82. data/theatre-spec/dsl_examples/dynamic_stomp.rb +0 -7
  83. data/theatre-spec/spec_helper.rb +0 -37
@@ -100,7 +100,7 @@ describe "The provider DSL's 'provider' macro" do
100
100
  end
101
101
  provider_holder.providers.map { |x| x.name }.should == [:tweedledee, :tweedledum]
102
102
  end
103
- it "should define a singleton method for the provider name given", :focus => true do
103
+ it "should define a singleton method for the provider name given" do
104
104
  dsl_class = Class.new(Adhearsion::VoIP::DSL::DialingDSL)
105
105
  dsl_class.class_eval do
106
106
  class_variable_get(:@@providers).size.should == 0
@@ -1,101 +1,48 @@
1
- Dir.chdir File.join(File.dirname(__FILE__), '..')
2
- $:.push('.')
3
-
4
- require 'rubygems'
5
- require 'rspec/core'
6
- require 'bundler/setup'
7
-
8
- def require_or_report_dependency(require_name, gem_name)
9
- begin
10
- require require_name
11
- rescue LoadError
12
- report_dependency!(gem_name)
1
+ unless ENV['SKIP_RCOV']
2
+ require 'simplecov'
3
+ require 'simplecov-rcov'
4
+ class SimpleCov::Formatter::MergedFormatter
5
+ def format(result)
6
+ SimpleCov::Formatter::HTMLFormatter.new.format(result)
7
+ SimpleCov::Formatter::RcovFormatter.new.format(result)
8
+ end
9
+ end
10
+ SimpleCov.formatter = SimpleCov::Formatter::MergedFormatter
11
+ SimpleCov.start do
12
+ add_filter "/vendor/"
13
+ add_filter "/spec/"
13
14
  end
14
15
  end
15
16
 
16
- def report_dependency!(name)
17
- 2.times { puts }
18
- puts "You need #{name} to run these tests: gem install #{name}"
19
- 2.times { puts }
20
- exit!
21
- end
22
-
23
- class Object
24
- alias :the_following_code :lambda
25
- end
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__)
26
22
 
27
- require_or_report_dependency('flexmock/test_unit', 'flexmock')
28
- require_or_report_dependency('active_support', 'activesupport')
29
- # require_or_report_dependency('ruby-debug', 'ruby-debug')
30
- require_or_report_dependency('rubigen', 'rubigen')
23
+ %w{
24
+ rubygems
25
+ rspec/core
26
+ bundler/setup
27
+ flexmock/rspec
28
+ active_support
29
+ rubigen
30
+ pp
31
+ stringio
32
+ adhearsion
33
+ adhearsion/voip/asterisk
34
+ adhearsion/component_manager
35
+ }.each { |f| require f }
36
+
37
+ Dir[File.dirname(__FILE__) + "/support/**/*.rb"].each { |f| require f }
31
38
 
32
39
  RSpec.configure do |config|
33
40
  config.mock_framework = :flexmock
34
41
  config.filter_run_excluding :ignore => true
35
- #config.filter_run :focus => true
42
+ config.filter_run :focus => true
43
+ config.run_all_when_everything_filtered = true
36
44
  config.color_enabled = true
37
45
  end
38
46
 
39
- require 'pp'
40
- require 'stringio'
41
-
42
- $: << File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib'))
43
- $: << File.expand_path('lib')
44
- $: << File.dirname(__FILE__)
45
-
46
- require 'adhearsion'
47
-
48
- module InitializerStubs
49
-
50
- DEFAULT_AHNRC_DATA_STRUCTURE = YAML.load_file(
51
- File.dirname(__FILE__) + "/../app_generators/ahn/templates/.ahnrc"
52
- ) unless defined? DEFAULT_AHNRC_DATA_STRUCTURE
53
-
54
- UNWANTED_BEHAVIOR = {
55
- Adhearsion::Initializer => [:initialize_log_file, :switch_to_root_directory, :daemonize!, :load],
56
- Adhearsion::Initializer.metaclass => { :get_rules_from => DEFAULT_AHNRC_DATA_STRUCTURE },
57
- } unless defined? UNWANTED_BEHAVIOR
58
-
59
- def stub_behavior_for_initializer_with_no_path_changing_behavior
60
- stub_unwanted_behavior
61
- yield if block_given?
62
- ensure
63
- unstub_directory_changing_behavior
64
- end
65
-
66
- def with_new_initializer_with_no_path_changing_behavior(&block)
67
- stub_behavior_for_initializer_with_no_path_changing_behavior do
68
- block.call Adhearsion::Initializer.start('path does not matter')
69
- end
70
- end
71
-
72
- def stub_unwanted_behavior
73
- UNWANTED_BEHAVIOR.each do |stub_victim_class, undesired_methods|
74
- undesired_methods.each do |undesired_method_name_or_key_value_pair|
75
- undesired_method_name, method_implementation = case undesired_method_name_or_key_value_pair
76
- when Array
77
- [undesired_method_name_or_key_value_pair.first, lambda { |*args| undesired_method_name_or_key_value_pair.last } ]
78
- else
79
- [undesired_method_name_or_key_value_pair, lambda{ |*args| }]
80
- end
81
- stub_victim_class.send(:alias_method, "pre_stubbed_#{undesired_method_name}", undesired_method_name)
82
- stub_victim_class.send(:define_method, undesired_method_name, &method_implementation)
83
- end
84
- end
85
- end
86
-
87
- def unstub_directory_changing_behavior
88
- UNWANTED_BEHAVIOR.each do |stub_victim_class, undesired_methods|
89
- undesired_methods.each do |undesired_method_name|
90
- undesired_method_name = undesired_method_name.first if undesired_method_name.kind_of? Array
91
- stub_victim_class.send(:alias_method, undesired_method_name, "pre_stubbed_#{undesired_method_name}")
92
- end
93
- end
94
- end
95
- end
96
-
97
47
  Adhearsion::Initializer.ahn_root = File.dirname(__FILE__) + '/fixtures'
98
- require 'spec/silence' unless ENV['SHOW_DISABLED']
99
-
100
- require 'adhearsion/voip/asterisk'
101
- require 'adhearsion/component_manager'
48
+ Adhearsion::Logging.silence!
@@ -0,0 +1,47 @@
1
+ module InitializerStubs
2
+ DEFAULT_AHNRC_DATA_STRUCTURE = YAML.load_file(
3
+ File.dirname(__FILE__) + "/../../app_generators/ahn/templates/.ahnrc"
4
+ ) unless defined? DEFAULT_AHNRC_DATA_STRUCTURE
5
+
6
+ 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 },
9
+ } unless defined? UNWANTED_BEHAVIOR
10
+
11
+ 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
16
+ end
17
+
18
+ def with_new_initializer_with_no_path_changing_behavior(&block)
19
+ stub_behavior_for_initializer_with_no_path_changing_behavior do
20
+ block.call Adhearsion::Initializer.start('path does not matter')
21
+ end
22
+ end
23
+
24
+ def stub_unwanted_behavior
25
+ UNWANTED_BEHAVIOR.each do |stub_victim_class, undesired_methods|
26
+ undesired_methods.each do |undesired_method_name_or_key_value_pair|
27
+ undesired_method_name, method_implementation = case undesired_method_name_or_key_value_pair
28
+ when Array
29
+ [undesired_method_name_or_key_value_pair.first, lambda { |*args| undesired_method_name_or_key_value_pair.last } ]
30
+ else
31
+ [undesired_method_name_or_key_value_pair, lambda{ |*args| }]
32
+ end
33
+ stub_victim_class.send(:alias_method, "pre_stubbed_#{undesired_method_name}", undesired_method_name)
34
+ stub_victim_class.send(:define_method, undesired_method_name, &method_implementation)
35
+ end
36
+ end
37
+ end
38
+
39
+ def unstub_directory_changing_behavior
40
+ UNWANTED_BEHAVIOR.each do |stub_victim_class, undesired_methods|
41
+ undesired_methods.each do |undesired_method_name|
42
+ undesired_method_name = undesired_method_name.first if undesired_method_name.kind_of? Array
43
+ stub_victim_class.send(:alias_method, undesired_method_name, "pre_stubbed_#{undesired_method_name}")
44
+ end
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,3 @@
1
+ class Object
2
+ alias :the_following_code :lambda
3
+ end
@@ -1,5 +1,31 @@
1
1
  require 'spec_helper'
2
2
 
3
+ class Example
4
+ attr_reader :name, :yaml, :metadata, :file
5
+
6
+ def initialize(name)
7
+ @name = name.to_sym
8
+ @file = File.expand_path(File.dirname(__FILE__) + "/dsl_examples/#{name}.rb")
9
+ @yaml = file_contents[/=begin YAML\n(.+?)\n=end/m, 1]
10
+ @metadata = @yaml.nil? ? nil : YAML.load(@yaml)
11
+ end
12
+
13
+ def file_contents
14
+ File.read @file
15
+ end
16
+
17
+ def register_namespaces_on(obj)
18
+ obj = obj.namespace_manager if obj.kind_of? Theatre::Theatre
19
+ namespaces = metadata["namespaces"]
20
+ if namespaces && namespaces.kind_of?(Array) && namespaces.any?
21
+ namespaces.each do |namespace|
22
+ obj.register_namespace_name namespace
23
+ end
24
+ end
25
+ obj
26
+ end
27
+ end
28
+
3
29
  describe "CallbackDefinitionContainer" do
4
30
 
5
31
  it "should successfully load the :simple_before_call example" do
@@ -56,11 +56,10 @@ describe "Using Invocations that've been ran through the Theatre" do
56
56
  end
57
57
 
58
58
  it "should have a status of :error if an exception was raised and set the #error property" do
59
- errorful_callback = lambda { raise ArgumentError, "this error is intentional" } # Simulate logic error
60
- invocation = Theatre::Invocation.new("/namespace/whatever", errorful_callback)
59
+ invocation = Theatre::Invocation.new("/namespace/whatever", lambda { raise ArgumentError, "this error is intentional" })
61
60
  invocation.queued
62
61
  invocation.start
63
- invocation.current_state.should equal(:error)
62
+ invocation.current_state.should == :error
64
63
  invocation.should be_error
65
64
  invocation.error.should be_instance_of(ArgumentError)
66
65
  end
@@ -103,8 +102,7 @@ describe "Using Invocations that've been ran through the Theatre" do
103
102
  end
104
103
 
105
104
  it "should set the #finished_time property when a failure was encountered" do
106
- block = lambda { raise LocalJumpError }
107
- invocation = Theatre::Invocation.new('/foo/bar', block)
105
+ invocation = Theatre::Invocation.new('/foo/bar', lambda { raise LocalJumpError })
108
106
  invocation.queued
109
107
 
110
108
  now = Time.now
@@ -134,7 +132,7 @@ describe "Using Invocations that've been ran through the Theatre" do
134
132
  invocation.send(:instance_variable_set, :@started_time, time_ago)
135
133
  invocation.send(:instance_variable_set, :@finished_time, time_now)
136
134
 
137
- invocation.execution_duration.should be_close(time_ago_difference.to_f, 0.01)
135
+ invocation.execution_duration.should be_within(0.01).of(time_ago_difference.to_f)
138
136
  end
139
137
 
140
138
  it "should return the set value of returned_value when one has been set to a non-nil value" do
@@ -156,10 +154,8 @@ describe "Using Invocations that've been ran through the Theatre" do
156
154
  it "waiting on an Invocation should execute properly" do
157
155
  wait_on_invocation = lambda { 123 }
158
156
  invocation = Theatre::Invocation.new("/namespace/whatever", wait_on_invocation)
159
- Thread.new do
160
- invocation.queued
161
- invocation.start
162
- end
157
+ invocation.queued
158
+ invocation.start
163
159
  invocation.wait.should eql(123)
164
160
  invocation.success?.should eql(true)
165
161
  end
@@ -118,11 +118,8 @@ describe "Theatre::Theatre" do
118
118
 
119
119
  it "should run the callback of the Invocation it receives from the master_queue" do
120
120
  has_executed = false
121
- thrower = lambda { has_executed = true }
122
- namespace = "/foo/bar"
123
- payload = [1,2,3]
124
121
 
125
- invocation = Theatre::Invocation.new(namespace, thrower, payload)
122
+ invocation = Theatre::Invocation.new("/foo/bar", lambda { has_executed = true })
126
123
  invocation.queued
127
124
 
128
125
  theatre = Theatre::Theatre.new
@@ -134,7 +131,7 @@ describe "Theatre::Theatre" do
134
131
 
135
132
  theatre.send :thread_loop
136
133
 
137
- has_executed.should equal(true)
134
+ has_executed.should be_true
138
135
  end
139
136
 
140
137
  it "should stop when receiving the shutdown command and return :stopped" do
metadata CHANGED
@@ -1,15 +1,10 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: adhearsion
3
- version: !ruby/object:Gem::Version
4
- hash: 17
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.2.0
5
5
  prerelease:
6
- segments:
7
- - 1
8
- - 1
9
- - 1
10
- version: 1.1.1
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Jay Phillips
14
9
  - Jason Goecke
15
10
  - Ben Klang
@@ -17,202 +12,195 @@ authors:
17
12
  autorequire:
18
13
  bindir: bin
19
14
  cert_chain: []
20
-
21
- date: 2011-06-14 00:00:00 +01:00
22
- default_executable:
23
- dependencies:
24
- - !ruby/object:Gem::Dependency
15
+ date: 2011-08-14 00:00:00.000000000Z
16
+ dependencies:
17
+ - !ruby/object:Gem::Dependency
25
18
  name: bundler
26
- prerelease: false
27
- requirement: &id001 !ruby/object:Gem::Requirement
19
+ requirement: &2156063620 !ruby/object:Gem::Requirement
28
20
  none: false
29
- requirements:
30
- - - ">="
31
- - !ruby/object:Gem::Version
32
- hash: 3
33
- segments:
34
- - 1
35
- - 0
36
- - 10
21
+ requirements:
22
+ - - ! '>='
23
+ - !ruby/object:Gem::Version
37
24
  version: 1.0.10
38
25
  type: :runtime
39
- version_requirements: *id001
40
- - !ruby/object:Gem::Dependency
41
- name: log4r
42
26
  prerelease: false
43
- requirement: &id002 !ruby/object:Gem::Requirement
27
+ version_requirements: *2156063620
28
+ - !ruby/object:Gem::Dependency
29
+ name: log4r
30
+ requirement: &2156061900 !ruby/object:Gem::Requirement
44
31
  none: false
45
- requirements:
46
- - - ">="
47
- - !ruby/object:Gem::Version
48
- hash: 29
49
- segments:
50
- - 1
51
- - 0
52
- - 5
32
+ requirements:
33
+ - - ! '>='
34
+ - !ruby/object:Gem::Version
53
35
  version: 1.0.5
54
36
  type: :runtime
55
- version_requirements: *id002
56
- - !ruby/object:Gem::Dependency
57
- name: activesupport
58
37
  prerelease: false
59
- requirement: &id003 !ruby/object:Gem::Requirement
38
+ version_requirements: *2156061900
39
+ - !ruby/object:Gem::Dependency
40
+ name: activesupport
41
+ requirement: &2156060060 !ruby/object:Gem::Requirement
60
42
  none: false
61
- requirements:
62
- - - ">="
63
- - !ruby/object:Gem::Version
64
- hash: 11
65
- segments:
66
- - 2
67
- - 1
68
- - 0
43
+ requirements:
44
+ - - ! '>='
45
+ - !ruby/object:Gem::Version
69
46
  version: 2.1.0
70
47
  type: :runtime
71
- version_requirements: *id003
72
- - !ruby/object:Gem::Dependency
48
+ prerelease: false
49
+ version_requirements: *2156060060
50
+ - !ruby/object:Gem::Dependency
73
51
  name: i18n
52
+ requirement: &2156059440 !ruby/object:Gem::Requirement
53
+ none: false
54
+ requirements:
55
+ - - ! '>='
56
+ - !ruby/object:Gem::Version
57
+ version: '0'
58
+ type: :runtime
74
59
  prerelease: false
75
- requirement: &id004 !ruby/object:Gem::Requirement
60
+ version_requirements: *2156059440
61
+ - !ruby/object:Gem::Dependency
62
+ name: json
63
+ requirement: &2156058260 !ruby/object:Gem::Requirement
76
64
  none: false
77
- requirements:
78
- - - ">="
79
- - !ruby/object:Gem::Version
80
- hash: 3
81
- segments:
82
- - 0
83
- version: "0"
65
+ requirements:
66
+ - - ! '>='
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
84
69
  type: :runtime
85
- version_requirements: *id004
86
- - !ruby/object:Gem::Dependency
87
- name: rubigen
88
70
  prerelease: false
89
- requirement: &id005 !ruby/object:Gem::Requirement
71
+ version_requirements: *2156058260
72
+ - !ruby/object:Gem::Dependency
73
+ name: rubigen
74
+ requirement: &2156057120 !ruby/object:Gem::Requirement
90
75
  none: false
91
- requirements:
92
- - - ">="
93
- - !ruby/object:Gem::Version
94
- hash: 15
95
- segments:
96
- - 1
97
- - 5
98
- - 6
76
+ requirements:
77
+ - - ! '>='
78
+ - !ruby/object:Gem::Version
99
79
  version: 1.5.6
100
80
  type: :runtime
101
- version_requirements: *id005
102
- - !ruby/object:Gem::Dependency
103
- name: rake
104
81
  prerelease: false
105
- requirement: &id006 !ruby/object:Gem::Requirement
82
+ version_requirements: *2156057120
83
+ - !ruby/object:Gem::Dependency
84
+ name: rake
85
+ requirement: &2156056020 !ruby/object:Gem::Requirement
106
86
  none: false
107
- requirements:
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- hash: 3
111
- segments:
112
- - 0
113
- version: "0"
87
+ requirements:
88
+ - - ! '>='
89
+ - !ruby/object:Gem::Version
90
+ version: '0'
114
91
  type: :runtime
115
- version_requirements: *id006
116
- - !ruby/object:Gem::Dependency
117
- name: pry
118
92
  prerelease: false
119
- requirement: &id007 !ruby/object:Gem::Requirement
93
+ version_requirements: *2156056020
94
+ - !ruby/object:Gem::Dependency
95
+ name: pry
96
+ requirement: &2156054660 !ruby/object:Gem::Requirement
120
97
  none: false
121
- requirements:
122
- - - ">="
123
- - !ruby/object:Gem::Version
124
- hash: 3
125
- segments:
126
- - 0
127
- version: "0"
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
128
102
  type: :runtime
129
- version_requirements: *id007
130
- - !ruby/object:Gem::Dependency
131
- name: rubigen
132
103
  prerelease: false
133
- requirement: &id008 !ruby/object:Gem::Requirement
104
+ version_requirements: *2156054660
105
+ - !ruby/object:Gem::Dependency
106
+ name: rubigen
107
+ requirement: &2156053720 !ruby/object:Gem::Requirement
134
108
  none: false
135
- requirements:
136
- - - ">="
137
- - !ruby/object:Gem::Version
138
- hash: 15
139
- segments:
140
- - 1
141
- - 5
142
- - 6
109
+ requirements:
110
+ - - ! '>='
111
+ - !ruby/object:Gem::Version
143
112
  version: 1.5.6
144
113
  type: :development
145
- version_requirements: *id008
146
- - !ruby/object:Gem::Dependency
147
- name: rspec
148
114
  prerelease: false
149
- requirement: &id009 !ruby/object:Gem::Requirement
115
+ version_requirements: *2156053720
116
+ - !ruby/object:Gem::Dependency
117
+ name: rspec
118
+ requirement: &2156052900 !ruby/object:Gem::Requirement
150
119
  none: false
151
- requirements:
152
- - - ">="
153
- - !ruby/object:Gem::Version
154
- hash: 31
155
- segments:
156
- - 2
157
- - 4
158
- - 0
120
+ requirements:
121
+ - - ! '>='
122
+ - !ruby/object:Gem::Version
159
123
  version: 2.4.0
160
124
  type: :development
161
- version_requirements: *id009
162
- - !ruby/object:Gem::Dependency
163
- name: flexmock
164
125
  prerelease: false
165
- requirement: &id010 !ruby/object:Gem::Requirement
126
+ version_requirements: *2156052900
127
+ - !ruby/object:Gem::Dependency
128
+ name: flexmock
129
+ requirement: &2156052360 !ruby/object:Gem::Requirement
166
130
  none: false
167
- requirements:
168
- - - ">="
169
- - !ruby/object:Gem::Version
170
- hash: 3
171
- segments:
172
- - 0
173
- version: "0"
131
+ requirements:
132
+ - - ! '>='
133
+ - !ruby/object:Gem::Version
134
+ version: '0'
174
135
  type: :development
175
- version_requirements: *id010
176
- - !ruby/object:Gem::Dependency
177
- name: activerecord
178
136
  prerelease: false
179
- requirement: &id011 !ruby/object:Gem::Requirement
137
+ version_requirements: *2156052360
138
+ - !ruby/object:Gem::Dependency
139
+ name: activerecord
140
+ requirement: &2156051460 !ruby/object:Gem::Requirement
180
141
  none: false
181
- requirements:
182
- - - ">="
183
- - !ruby/object:Gem::Version
184
- hash: 3
185
- segments:
186
- - 0
187
- version: "0"
142
+ requirements:
143
+ - - ! '>='
144
+ - !ruby/object:Gem::Version
145
+ version: 2.1.0
188
146
  type: :development
189
- version_requirements: *id011
190
- - !ruby/object:Gem::Dependency
147
+ prerelease: false
148
+ version_requirements: *2156051460
149
+ - !ruby/object:Gem::Dependency
191
150
  name: rake
151
+ requirement: &2156050780 !ruby/object:Gem::Requirement
152
+ none: false
153
+ requirements:
154
+ - - ! '>='
155
+ - !ruby/object:Gem::Version
156
+ version: '0'
157
+ type: :development
158
+ prerelease: false
159
+ version_requirements: *2156050780
160
+ - !ruby/object:Gem::Dependency
161
+ name: simplecov
162
+ requirement: &2156050020 !ruby/object:Gem::Requirement
163
+ none: false
164
+ requirements:
165
+ - - ! '>='
166
+ - !ruby/object:Gem::Version
167
+ version: '0'
168
+ type: :development
192
169
  prerelease: false
193
- requirement: &id012 !ruby/object:Gem::Requirement
170
+ version_requirements: *2156050020
171
+ - !ruby/object:Gem::Dependency
172
+ name: simplecov-rcov
173
+ requirement: &2156049100 !ruby/object:Gem::Requirement
194
174
  none: false
195
- requirements:
196
- - - ">="
197
- - !ruby/object:Gem::Version
198
- hash: 3
199
- segments:
200
- - 0
201
- version: "0"
175
+ requirements:
176
+ - - ! '>='
177
+ - !ruby/object:Gem::Version
178
+ version: '0'
202
179
  type: :development
203
- version_requirements: *id012
180
+ prerelease: false
181
+ version_requirements: *2156049100
182
+ - !ruby/object:Gem::Dependency
183
+ name: ci_reporter
184
+ requirement: &2156048440 !ruby/object:Gem::Requirement
185
+ none: false
186
+ requirements:
187
+ - - ! '>='
188
+ - !ruby/object:Gem::Version
189
+ version: '0'
190
+ type: :development
191
+ prerelease: false
192
+ version_requirements: *2156048440
204
193
  description: Adhearsion is an open-source telephony development framework
205
194
  email: dev&Adhearsion.com
206
- executables:
195
+ executables:
207
196
  - ahn
208
197
  - ahnctl
209
198
  - jahn
210
199
  extensions: []
211
-
212
200
  extra_rdoc_files: []
213
-
214
- files:
201
+ files:
215
202
  - .gitignore
203
+ - .rspec
216
204
  - CHANGELOG
217
205
  - EVENTS
218
206
  - Gemfile
@@ -233,8 +221,6 @@ files:
233
221
  - app_generators/ahn/templates/components/disabled/restful_rpc/restful_rpc.rb
234
222
  - app_generators/ahn/templates/components/disabled/restful_rpc/restful_rpc.yml
235
223
  - app_generators/ahn/templates/components/disabled/restful_rpc/spec/restful_rpc_spec.rb
236
- - app_generators/ahn/templates/components/disabled/sandbox/sandbox.rb
237
- - app_generators/ahn/templates/components/disabled/sandbox/sandbox.yml
238
224
  - app_generators/ahn/templates/components/disabled/stomp_gateway/README.markdown
239
225
  - app_generators/ahn/templates/components/disabled/stomp_gateway/stomp_gateway.rb
240
226
  - app_generators/ahn/templates/components/disabled/stomp_gateway/stomp_gateway.yml
@@ -242,15 +228,18 @@ files:
242
228
  - app_generators/ahn/templates/components/disabled/xmpp_gateway/xmpp_gateway.rb
243
229
  - app_generators/ahn/templates/components/disabled/xmpp_gateway/xmpp_gateway.yml
244
230
  - app_generators/ahn/templates/components/simon_game/simon_game.rb
231
+ - app_generators/ahn/templates/config/environment.rb
245
232
  - app_generators/ahn/templates/config/startup.rb
246
233
  - app_generators/ahn/templates/dialplan.rb
247
234
  - app_generators/ahn/templates/events.rb
235
+ - app_generators/ahn/templates/script/ahn
248
236
  - bin/ahn
249
237
  - bin/ahnctl
250
238
  - bin/jahn
251
239
  - examples/asterisk_manager_interface/standalone.rb
252
240
  - lib/adhearsion.rb
253
241
  - lib/adhearsion/cli.rb
242
+ - lib/adhearsion/commands.rb
254
243
  - lib/adhearsion/component_manager.rb
255
244
  - lib/adhearsion/component_manager/component_tester.rb
256
245
  - lib/adhearsion/component_manager/spec_framework.rb
@@ -280,6 +269,7 @@ files:
280
269
  - lib/adhearsion/initializer/rails.rb
281
270
  - lib/adhearsion/initializer/xmpp.rb
282
271
  - lib/adhearsion/logging.rb
272
+ - lib/adhearsion/script_ahn_loader.rb
283
273
  - lib/adhearsion/tasks.rb
284
274
  - lib/adhearsion/tasks/components.rb
285
275
  - lib/adhearsion/tasks/database.rb
@@ -302,7 +292,6 @@ files:
302
292
  - lib/adhearsion/voip/asterisk/manager_interface/ami_messages.rb
303
293
  - lib/adhearsion/voip/asterisk/manager_interface/ami_protocol_lexer_machine.rl
304
294
  - lib/adhearsion/voip/asterisk/special_dial_plan_managers.rb
305
- - lib/adhearsion/voip/asterisk/super_manager.rb
306
295
  - lib/adhearsion/voip/call.rb
307
296
  - lib/adhearsion/voip/call_routing.rb
308
297
  - lib/adhearsion/voip/commands.rb
@@ -333,132 +322,126 @@ files:
333
322
  - lib/theatre/invocation.rb
334
323
  - lib/theatre/namespace_manager.rb
335
324
  - lib/theatre/version.rb
336
- - spec/ahn_command_spec.rb
337
- - spec/component_manager_spec.rb
338
- - spec/constants_spec.rb
339
- - spec/drb_spec.rb
340
- - spec/fixtures/dialplan.rb
341
- - spec/foundation/event_socket_spec.rb
342
- - spec/host_definitions_spec.rb
343
- - spec/initialization_spec.rb
344
- - spec/initializer/configuration_spec.rb
345
- - spec/initializer/loading_spec.rb
346
- - spec/initializer/paths_spec.rb
347
- - spec/logging_spec.rb
348
- - spec/relationship_properties_spec.rb
349
- - spec/silence.rb
325
+ - spec/adhearsion/cli_spec.rb
326
+ - spec/adhearsion/component_manager_spec.rb
327
+ - spec/adhearsion/constants_spec.rb
328
+ - spec/adhearsion/drb_spec.rb
329
+ - spec/adhearsion/fixtures/dialplan.rb
330
+ - spec/adhearsion/foundation/event_socket_spec.rb
331
+ - spec/adhearsion/host_definitions_spec.rb
332
+ - spec/adhearsion/initializer/configuration_spec.rb
333
+ - spec/adhearsion/initializer/loading_spec.rb
334
+ - spec/adhearsion/initializer/paths_spec.rb
335
+ - spec/adhearsion/initializer_spec.rb
336
+ - spec/adhearsion/logging_spec.rb
337
+ - spec/adhearsion/relationship_properties_spec.rb
338
+ - spec/adhearsion/voip/asterisk/agi_server_spec.rb
339
+ - spec/adhearsion/voip/asterisk/ami/ami_spec.rb
340
+ - spec/adhearsion/voip/asterisk/ami/lexer/ami_fixtures.yml
341
+ - spec/adhearsion/voip/asterisk/ami/lexer/lexer_story
342
+ - spec/adhearsion/voip/asterisk/ami/lexer/lexer_story.rb
343
+ - spec/adhearsion/voip/asterisk/ami/lexer/story_helper.rb
344
+ - spec/adhearsion/voip/asterisk/commands_spec.rb
345
+ - spec/adhearsion/voip/asterisk/config_file_generators/agents_spec.rb
346
+ - spec/adhearsion/voip/asterisk/config_file_generators/queues_spec.rb
347
+ - spec/adhearsion/voip/asterisk/config_file_generators/voicemail_spec.rb
348
+ - spec/adhearsion/voip/asterisk/config_manager_spec.rb
349
+ - spec/adhearsion/voip/asterisk/menu_command/calculated_match_spec.rb
350
+ - spec/adhearsion/voip/asterisk/menu_command/matchers_spec.rb
351
+ - spec/adhearsion/voip/call_routing_spec.rb
352
+ - spec/adhearsion/voip/dialplan_manager_spec.rb
353
+ - spec/adhearsion/voip/dsl/dialing_dsl_spec.rb
354
+ - spec/adhearsion/voip/dsl/dispatcher_spec.rb
355
+ - spec/adhearsion/voip/dsl/dispatcher_spec_helper.rb
356
+ - spec/adhearsion/voip/dsl/parser_spec.rb
357
+ - spec/adhearsion/voip/freeswitch/basic_connection_manager_spec.rb
358
+ - spec/adhearsion/voip/freeswitch/inbound_connection_manager_spec.rb
359
+ - spec/adhearsion/voip/freeswitch/oes_server_spec.rb
360
+ - spec/adhearsion/voip/numerical_string_spec.rb
361
+ - spec/adhearsion/voip/phone_number_spec.rb
350
362
  - spec/spec_helper.rb
351
- - spec/voip/asterisk/agi_server_spec.rb
352
- - spec/voip/asterisk/ami/ami_spec.rb
353
- - spec/voip/asterisk/ami/lexer/ami_fixtures.yml
354
- - spec/voip/asterisk/ami/lexer/lexer_story
355
- - spec/voip/asterisk/ami/lexer/lexer_story.rb
356
- - spec/voip/asterisk/ami/lexer/story_helper.rb
357
- - spec/voip/asterisk/ami/old_tests.rb
358
- - spec/voip/asterisk/ami/super_manager/super_manager_story
359
- - spec/voip/asterisk/ami/super_manager/super_manager_story.rb
360
- - spec/voip/asterisk/ami/super_manager/super_manager_story_helper.rb
361
- - spec/voip/asterisk/commands_spec.rb
362
- - spec/voip/asterisk/config_file_generators/agents_spec.rb
363
- - spec/voip/asterisk/config_file_generators/queues_spec.rb
364
- - spec/voip/asterisk/config_file_generators/voicemail_spec.rb
365
- - spec/voip/asterisk/config_manager_spec.rb
366
- - spec/voip/asterisk/menu_command/calculated_match_spec.rb
367
- - spec/voip/asterisk/menu_command/matchers_spec.rb
368
- - spec/voip/call_routing_spec.rb
369
- - spec/voip/dialplan_manager_spec.rb
370
- - spec/voip/dsl/dialing_dsl_spec.rb
371
- - spec/voip/dsl/dispatcher_spec.rb
372
- - spec/voip/dsl/dispatcher_spec_helper.rb
373
- - spec/voip/dsl/parser_spec.rb
374
- - spec/voip/freeswitch/basic_connection_manager_spec.rb
375
- - spec/voip/freeswitch/inbound_connection_manager_spec.rb
376
- - spec/voip/freeswitch/oes_server_spec.rb
377
- - spec/voip/numerical_string_spec.rb
378
- - spec/voip/phone_number_spec.rb
379
- - theatre-spec/dsl_examples/dynamic_stomp.rb
380
- - theatre-spec/dsl_examples/simple_before_call.rb
381
- - theatre-spec/dsl_spec.rb
382
- - theatre-spec/invocation_spec.rb
383
- - theatre-spec/namespace_spec.rb
384
- - theatre-spec/spec_helper.rb
385
- - theatre-spec/spec_helper_spec.rb
386
- - theatre-spec/theatre_class_spec.rb
387
- has_rdoc: true
363
+ - spec/support/initializer_stubs.rb
364
+ - spec/support/the_following_code.rb
365
+ - spec/theatre/dsl_examples/simple_before_call.rb
366
+ - spec/theatre/dsl_spec.rb
367
+ - spec/theatre/invocation_spec.rb
368
+ - spec/theatre/namespace_spec.rb
369
+ - spec/theatre/spec_helper_spec.rb
370
+ - spec/theatre/theatre_class_spec.rb
388
371
  homepage: http://adhearsion.com
389
372
  licenses: []
390
-
391
373
  post_install_message:
392
374
  rdoc_options: []
393
-
394
- require_paths:
375
+ require_paths:
395
376
  - lib
396
- required_ruby_version: !ruby/object:Gem::Requirement
377
+ required_ruby_version: !ruby/object:Gem::Requirement
397
378
  none: false
398
- requirements:
399
- - - ">="
400
- - !ruby/object:Gem::Version
401
- hash: 3
402
- segments:
379
+ requirements:
380
+ - - ! '>='
381
+ - !ruby/object:Gem::Version
382
+ version: '0'
383
+ segments:
403
384
  - 0
404
- version: "0"
405
- required_rubygems_version: !ruby/object:Gem::Requirement
385
+ hash: 4384860604276313482
386
+ required_rubygems_version: !ruby/object:Gem::Requirement
406
387
  none: false
407
- requirements:
408
- - - ">="
409
- - !ruby/object:Gem::Version
410
- hash: 3
411
- segments:
388
+ requirements:
389
+ - - ! '>='
390
+ - !ruby/object:Gem::Version
391
+ version: '0'
392
+ segments:
412
393
  - 0
413
- version: "0"
394
+ hash: 4384860604276313482
414
395
  requirements: []
415
-
416
- rubyforge_project: adhearsion
417
- rubygems_version: 1.4.2
396
+ rubyforge_project:
397
+ rubygems_version: 1.8.6
418
398
  signing_key:
419
- specification_version: 2
399
+ specification_version: 3
420
400
  summary: Adhearsion, open-source telephony development framework
421
- test_files:
422
- - spec/ahn_command_spec.rb
423
- - spec/component_manager_spec.rb
424
- - spec/constants_spec.rb
425
- - spec/drb_spec.rb
426
- - spec/fixtures/dialplan.rb
427
- - spec/foundation/event_socket_spec.rb
428
- - spec/host_definitions_spec.rb
429
- - spec/initialization_spec.rb
430
- - spec/initializer/configuration_spec.rb
431
- - spec/initializer/loading_spec.rb
432
- - spec/initializer/paths_spec.rb
433
- - spec/logging_spec.rb
434
- - spec/relationship_properties_spec.rb
435
- - spec/silence.rb
401
+ test_files:
402
+ - spec/adhearsion/cli_spec.rb
403
+ - spec/adhearsion/component_manager_spec.rb
404
+ - spec/adhearsion/constants_spec.rb
405
+ - spec/adhearsion/drb_spec.rb
406
+ - spec/adhearsion/fixtures/dialplan.rb
407
+ - spec/adhearsion/foundation/event_socket_spec.rb
408
+ - spec/adhearsion/host_definitions_spec.rb
409
+ - spec/adhearsion/initializer/configuration_spec.rb
410
+ - spec/adhearsion/initializer/loading_spec.rb
411
+ - spec/adhearsion/initializer/paths_spec.rb
412
+ - spec/adhearsion/initializer_spec.rb
413
+ - spec/adhearsion/logging_spec.rb
414
+ - spec/adhearsion/relationship_properties_spec.rb
415
+ - spec/adhearsion/voip/asterisk/agi_server_spec.rb
416
+ - spec/adhearsion/voip/asterisk/ami/ami_spec.rb
417
+ - spec/adhearsion/voip/asterisk/ami/lexer/ami_fixtures.yml
418
+ - spec/adhearsion/voip/asterisk/ami/lexer/lexer_story
419
+ - spec/adhearsion/voip/asterisk/ami/lexer/lexer_story.rb
420
+ - spec/adhearsion/voip/asterisk/ami/lexer/story_helper.rb
421
+ - spec/adhearsion/voip/asterisk/commands_spec.rb
422
+ - spec/adhearsion/voip/asterisk/config_file_generators/agents_spec.rb
423
+ - spec/adhearsion/voip/asterisk/config_file_generators/queues_spec.rb
424
+ - spec/adhearsion/voip/asterisk/config_file_generators/voicemail_spec.rb
425
+ - spec/adhearsion/voip/asterisk/config_manager_spec.rb
426
+ - spec/adhearsion/voip/asterisk/menu_command/calculated_match_spec.rb
427
+ - spec/adhearsion/voip/asterisk/menu_command/matchers_spec.rb
428
+ - spec/adhearsion/voip/call_routing_spec.rb
429
+ - spec/adhearsion/voip/dialplan_manager_spec.rb
430
+ - spec/adhearsion/voip/dsl/dialing_dsl_spec.rb
431
+ - spec/adhearsion/voip/dsl/dispatcher_spec.rb
432
+ - spec/adhearsion/voip/dsl/dispatcher_spec_helper.rb
433
+ - spec/adhearsion/voip/dsl/parser_spec.rb
434
+ - spec/adhearsion/voip/freeswitch/basic_connection_manager_spec.rb
435
+ - spec/adhearsion/voip/freeswitch/inbound_connection_manager_spec.rb
436
+ - spec/adhearsion/voip/freeswitch/oes_server_spec.rb
437
+ - spec/adhearsion/voip/numerical_string_spec.rb
438
+ - spec/adhearsion/voip/phone_number_spec.rb
436
439
  - spec/spec_helper.rb
437
- - spec/voip/asterisk/agi_server_spec.rb
438
- - spec/voip/asterisk/ami/ami_spec.rb
439
- - spec/voip/asterisk/ami/lexer/ami_fixtures.yml
440
- - spec/voip/asterisk/ami/lexer/lexer_story
441
- - spec/voip/asterisk/ami/lexer/lexer_story.rb
442
- - spec/voip/asterisk/ami/lexer/story_helper.rb
443
- - spec/voip/asterisk/ami/old_tests.rb
444
- - spec/voip/asterisk/ami/super_manager/super_manager_story
445
- - spec/voip/asterisk/ami/super_manager/super_manager_story.rb
446
- - spec/voip/asterisk/ami/super_manager/super_manager_story_helper.rb
447
- - spec/voip/asterisk/commands_spec.rb
448
- - spec/voip/asterisk/config_file_generators/agents_spec.rb
449
- - spec/voip/asterisk/config_file_generators/queues_spec.rb
450
- - spec/voip/asterisk/config_file_generators/voicemail_spec.rb
451
- - spec/voip/asterisk/config_manager_spec.rb
452
- - spec/voip/asterisk/menu_command/calculated_match_spec.rb
453
- - spec/voip/asterisk/menu_command/matchers_spec.rb
454
- - spec/voip/call_routing_spec.rb
455
- - spec/voip/dialplan_manager_spec.rb
456
- - spec/voip/dsl/dialing_dsl_spec.rb
457
- - spec/voip/dsl/dispatcher_spec.rb
458
- - spec/voip/dsl/dispatcher_spec_helper.rb
459
- - spec/voip/dsl/parser_spec.rb
460
- - spec/voip/freeswitch/basic_connection_manager_spec.rb
461
- - spec/voip/freeswitch/inbound_connection_manager_spec.rb
462
- - spec/voip/freeswitch/oes_server_spec.rb
463
- - spec/voip/numerical_string_spec.rb
464
- - spec/voip/phone_number_spec.rb
440
+ - spec/support/initializer_stubs.rb
441
+ - spec/support/the_following_code.rb
442
+ - spec/theatre/dsl_examples/simple_before_call.rb
443
+ - spec/theatre/dsl_spec.rb
444
+ - spec/theatre/invocation_spec.rb
445
+ - spec/theatre/namespace_spec.rb
446
+ - spec/theatre/spec_helper_spec.rb
447
+ - spec/theatre/theatre_class_spec.rb