adhearsion 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. data/.gitignore +10 -0
  2. data/CHANGELOG +8 -0
  3. data/README.markdown +33 -0
  4. data/Rakefile +28 -68
  5. data/adhearsion.gemspec +19 -133
  6. data/app_generators/ahn/templates/Gemfile +0 -4
  7. data/app_generators/ahn/templates/components/disabled/restful_rpc/spec/restful_rpc_spec.rb +4 -16
  8. data/lib/adhearsion/cli.rb +17 -0
  9. data/lib/adhearsion/component_manager/component_tester.rb +1 -3
  10. data/lib/adhearsion/component_manager/spec_framework.rb +4 -10
  11. data/lib/adhearsion/foundation/object.rb +10 -0
  12. data/lib/adhearsion/version.rb +1 -1
  13. data/spec/ahn_command_spec.rb +284 -0
  14. data/spec/component_manager_spec.rb +292 -0
  15. data/spec/constants_spec.rb +8 -0
  16. data/spec/drb_spec.rb +65 -0
  17. data/spec/fixtures/dialplan.rb +3 -0
  18. data/spec/foundation/event_socket_spec.rb +168 -0
  19. data/spec/host_definitions_spec.rb +79 -0
  20. data/spec/initialization_spec.rb +163 -0
  21. data/spec/initializer/configuration_spec.rb +270 -0
  22. data/spec/initializer/loading_spec.rb +149 -0
  23. data/spec/initializer/paths_spec.rb +74 -0
  24. data/spec/logging_spec.rb +86 -0
  25. data/spec/relationship_properties_spec.rb +54 -0
  26. data/spec/silence.rb +10 -0
  27. data/spec/spec_helper.rb +101 -0
  28. data/spec/voip/asterisk/agi_server_spec.rb +473 -0
  29. data/spec/voip/asterisk/ami/ami_spec.rb +549 -0
  30. data/spec/voip/asterisk/ami/lexer/ami_fixtures.yml +30 -0
  31. data/spec/voip/asterisk/ami/lexer/lexer_story +291 -0
  32. data/spec/voip/asterisk/ami/lexer/lexer_story.rb +241 -0
  33. data/spec/voip/asterisk/ami/lexer/story_helper.rb +124 -0
  34. data/spec/voip/asterisk/ami/old_tests.rb +204 -0
  35. data/spec/voip/asterisk/ami/super_manager/super_manager_story +25 -0
  36. data/spec/voip/asterisk/ami/super_manager/super_manager_story.rb +15 -0
  37. data/spec/voip/asterisk/ami/super_manager/super_manager_story_helper.rb +5 -0
  38. data/spec/voip/asterisk/commands_spec.rb +2179 -0
  39. data/spec/voip/asterisk/config_file_generators/agents_spec.rb +251 -0
  40. data/spec/voip/asterisk/config_file_generators/queues_spec.rb +323 -0
  41. data/spec/voip/asterisk/config_file_generators/voicemail_spec.rb +306 -0
  42. data/spec/voip/asterisk/config_manager_spec.rb +127 -0
  43. data/spec/voip/asterisk/menu_command/calculated_match_spec.rb +109 -0
  44. data/spec/voip/asterisk/menu_command/matchers_spec.rb +97 -0
  45. data/spec/voip/call_routing_spec.rb +125 -0
  46. data/spec/voip/dialplan_manager_spec.rb +468 -0
  47. data/spec/voip/dsl/dialing_dsl_spec.rb +270 -0
  48. data/spec/voip/dsl/dispatcher_spec.rb +82 -0
  49. data/spec/voip/dsl/dispatcher_spec_helper.rb +45 -0
  50. data/spec/voip/dsl/parser_spec.rb +69 -0
  51. data/spec/voip/freeswitch/basic_connection_manager_spec.rb +39 -0
  52. data/spec/voip/freeswitch/inbound_connection_manager_spec.rb +39 -0
  53. data/spec/voip/freeswitch/oes_server_spec.rb +9 -0
  54. data/spec/voip/numerical_string_spec.rb +61 -0
  55. data/spec/voip/phone_number_spec.rb +45 -0
  56. data/theatre-spec/dsl_examples/dynamic_stomp.rb +7 -0
  57. data/theatre-spec/dsl_examples/simple_before_call.rb +7 -0
  58. data/theatre-spec/dsl_spec.rb +43 -0
  59. data/theatre-spec/invocation_spec.rb +167 -0
  60. data/theatre-spec/namespace_spec.rb +125 -0
  61. data/theatre-spec/spec_helper.rb +37 -0
  62. data/theatre-spec/spec_helper_spec.rb +28 -0
  63. data/theatre-spec/theatre_class_spec.rb +150 -0
  64. metadata +171 -34
@@ -0,0 +1,37 @@
1
+ require 'yaml'
2
+ require 'yaml/types'
3
+ require 'rubygems'
4
+ require 'spec'
5
+ require 'flexmock/rspec'
6
+
7
+ require File.dirname(__FILE__) + "/../lib/theatre.rb"
8
+
9
+ Spec::Runner.configure do |config|
10
+ config.mock_with :flexmock
11
+ end
12
+
13
+ class Example
14
+ attr_reader :name, :yaml, :metadata, :file
15
+ def initialize(name)
16
+ @name = name.to_sym
17
+ @file = File.expand_path(File.dirname(__FILE__) + "/dsl_examples/#{name}.rb")
18
+ @yaml = file_contents[/=begin YAML\n(.+?)\n=end/m, 1]
19
+ @metadata = @yaml.nil? ? nil : YAML.load(@yaml)
20
+ end
21
+
22
+ def file_contents
23
+ File.read @file
24
+ end
25
+
26
+ def register_namespaces_on(obj)
27
+ obj = obj.namespace_manager if obj.kind_of? Theatre::Theatre
28
+ namespaces = metadata["namespaces"]
29
+ if namespaces && namespaces.kind_of?(Array) && namespaces.any?
30
+ namespaces.each do |namespace|
31
+ obj.register_namespace_name namespace
32
+ end
33
+ end
34
+ obj
35
+ end
36
+
37
+ end
@@ -0,0 +1,28 @@
1
+ require 'spec_helper'
2
+
3
+ describe "Example" do
4
+
5
+ it "should properly load the YAML in a file" do
6
+ example_name = :kewlz0rz
7
+ data_structure = {:foo => :bar, :qaz => [1,2,3,4,5]}
8
+ yaml = data_structure.to_yaml
9
+ file_contents = <<-FILE
10
+ # Some comment here
11
+ =begin YAML
12
+ #{yaml}
13
+ =end
14
+ events.blah.each { |event| }
15
+ events.blah2.each { |event| }
16
+
17
+ # More comments
18
+ =begin
19
+ another block
20
+ =end
21
+ FILE
22
+
23
+ flexmock(File).should_receive(:read).once.with(/kewlz0rz\.rb$/).and_return file_contents
24
+ example = Example.new(example_name)
25
+ example.metadata.should == data_structure
26
+ end
27
+
28
+ end
@@ -0,0 +1,150 @@
1
+ require 'spec_helper'
2
+
3
+ describe "Theatre::Theatre" do
4
+
5
+ it "should start the quantity of threads given to its constructor" do
6
+ number_of_threads = 13
7
+ theatre = Theatre::Theatre.new(number_of_threads)
8
+
9
+ flexmock(Thread).should_receive(:new).times(number_of_threads).and_return
10
+ flexstub(theatre.send(:instance_variable_get, :@thread_group)).should_receive(:add).and_return
11
+
12
+ theatre.start!
13
+ end
14
+
15
+ it "should not spawn new threads when calling start twice" do
16
+ number_of_threads = 5
17
+
18
+ theatre = Theatre::Theatre.new(number_of_threads)
19
+
20
+ threads = Array.new(number_of_threads) { Thread.new(&theatre.method(:thread_loop)) }
21
+ flexmock(Thread).should_receive(:new).times(number_of_threads).and_return *threads
22
+
23
+ theatre.start!
24
+ theatre.start!
25
+ theatre.start!
26
+ theatre.start!
27
+ theatre.graceful_stop!
28
+ end
29
+
30
+ describe '#trigger' do
31
+
32
+ it "should properly execute the block given" do
33
+
34
+ has_ran = false
35
+
36
+ theatre = Theatre::Theatre.new
37
+ theatre.register_namespace_name "cheezburger"
38
+ theatre.register_callback_at_namespace "cheezburger", lambda { |payload| has_ran = payload }
39
+
40
+ theatre.start!
41
+
42
+ theatre.trigger "cheezburger", :yes
43
+ theatre.graceful_stop!
44
+ theatre.join
45
+
46
+ has_ran.should equal(:yes)
47
+ end
48
+
49
+ it "should return an Array of Invocation objects" do
50
+ theatre = Theatre::Theatre.new
51
+ theatre.register_namespace_name "qaz"
52
+ theatre.register_callback_at_namespace "qaz", lambda {}
53
+ return_value = theatre.trigger("qaz")
54
+ return_value.should be_instance_of(Array)
55
+ return_value.should have(1).item
56
+ return_value.first.should be_instance_of(Theatre::Invocation)
57
+ end
58
+
59
+ end
60
+
61
+ describe '#trigger_immediately' do
62
+ it "should continue executing callbacks when a link in the chain raises an Exception" do
63
+ callbacks = [lambda { 1 }, lambda { raise LocalJumpError }, lambda { 3 }]
64
+
65
+ theatre = Theatre::Theatre.new
66
+ theatre.register_namespace_name "breakage"
67
+
68
+ callbacks.each do |callback|
69
+ theatre.register_callback_at_namespace "breakage", callback
70
+ end
71
+
72
+ return_value = theatre.trigger_immediately("breakage")
73
+ return_value.first.should equal(1)
74
+ return_value[1].should be_instance_of(LocalJumpError)
75
+ return_value.last.should equal(3)
76
+ end
77
+ end
78
+
79
+ describe '#callbacks_for_namespaces' do
80
+ it "should properly return Procs which have been registered against a namespace" do
81
+ callback = lambda { :callback }
82
+ theatre = Theatre::Theatre.new
83
+ theatre.register_namespace_name "pumpkin"
84
+ theatre.register_callback_at_namespace "pumpkin", callback
85
+ theatre.namespace_manager.callbacks_for_namespaces("pumpkin").should eql([callback])
86
+ end
87
+ end
88
+
89
+ describe '#join' do
90
+ it "should execute join() on every ThreadGroup thread" do
91
+ thread_mocks = Array(3) do
92
+ bogus_thread = flexmock "bogus thread"
93
+ bogus_thread.should_receive(:join).once.and_return
94
+ bogus_thread
95
+ end
96
+ bogus_thread_group = flexmock "A ThreadGroup which returns an Array of mock Threads", :list => thread_mocks
97
+ theatre = Theatre::Theatre.new
98
+ theatre.send(:instance_variable_set, :@thread_group, bogus_thread_group)
99
+ theatre.join
100
+ end
101
+ end
102
+
103
+ describe '#thread_loop' do
104
+
105
+ it "should continue looping even after an exception been raised" do
106
+ mock_invocation = flexmock "mock Invocation which raises when started"
107
+ mock_invocation.should_receive(:start).once.and_raise ArgumentError # Simulate logic error
108
+
109
+ theatre = Theatre::Theatre.new
110
+ master_queue = theatre.send(:instance_variable_get, :@master_queue)
111
+ flexmock(theatre).should_receive(:loop).once.and_yield
112
+ flexmock(master_queue).should_receive(:pop).once.and_return mock_invocation
113
+
114
+ lambda do
115
+ theatre.send(:thread_loop).should equal(:stopped)
116
+ end.should_not raise_error(ArgumentError)
117
+ end
118
+
119
+ it "should run the callback of the Invocation it receives from the master_queue" do
120
+ has_executed = false
121
+ thrower = lambda { has_executed = true }
122
+ namespace = "/foo/bar"
123
+ payload = [1,2,3]
124
+
125
+ invocation = Theatre::Invocation.new(namespace, thrower, payload)
126
+ invocation.queued
127
+
128
+ theatre = Theatre::Theatre.new
129
+
130
+ master_queue = theatre.send(:instance_variable_get, :@master_queue)
131
+
132
+ flexmock(theatre).should_receive(:loop).and_yield
133
+ flexmock(master_queue).should_receive(:pop).once.and_return invocation
134
+
135
+ theatre.send :thread_loop
136
+
137
+ has_executed.should equal(true)
138
+ end
139
+
140
+ it "should stop when receiving the shutdown command and return :stopped" do
141
+ theatre = Theatre::Theatre.new
142
+ master_queue = theatre.send(:instance_variable_get, :@master_queue)
143
+ flexmock(theatre).should_receive(:loop).once.and_yield
144
+ flexmock(master_queue).should_receive(:pop).once.and_return :THEATRE_SHUTDOWN!
145
+ theatre.send(:thread_loop).should equal(:stopped)
146
+ end
147
+
148
+ end
149
+
150
+ end
metadata CHANGED
@@ -1,22 +1,24 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: adhearsion
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: false
4
+ hash: 19
5
+ prerelease:
5
6
  segments:
6
7
  - 1
7
8
  - 0
8
- - 1
9
- version: 1.0.1
9
+ - 2
10
+ version: 1.0.2
10
11
  platform: ruby
11
12
  authors:
12
13
  - Jay Phillips
13
14
  - Jason Goecke
14
15
  - Ben Klang
16
+ - Ben Langfeld
15
17
  autorequire:
16
18
  bindir: bin
17
19
  cert_chain: []
18
20
 
19
- date: 2011-02-22 00:00:00 -05:00
21
+ date: 2011-04-09 00:00:00 -04:00
20
22
  default_executable:
21
23
  dependencies:
22
24
  - !ruby/object:Gem::Dependency
@@ -27,6 +29,7 @@ dependencies:
27
29
  requirements:
28
30
  - - ">="
29
31
  - !ruby/object:Gem::Version
32
+ hash: 3
30
33
  segments:
31
34
  - 1
32
35
  - 0
@@ -42,6 +45,7 @@ dependencies:
42
45
  requirements:
43
46
  - - ">="
44
47
  - !ruby/object:Gem::Version
48
+ hash: 29
45
49
  segments:
46
50
  - 1
47
51
  - 0
@@ -57,6 +61,7 @@ dependencies:
57
61
  requirements:
58
62
  - - ">="
59
63
  - !ruby/object:Gem::Version
64
+ hash: 11
60
65
  segments:
61
66
  - 2
62
67
  - 1
@@ -72,6 +77,7 @@ dependencies:
72
77
  requirements:
73
78
  - - ">="
74
79
  - !ruby/object:Gem::Version
80
+ hash: 3
75
81
  segments:
76
82
  - 0
77
83
  version: "0"
@@ -85,6 +91,7 @@ dependencies:
85
91
  requirements:
86
92
  - - ">="
87
93
  - !ruby/object:Gem::Version
94
+ hash: 15
88
95
  segments:
89
96
  - 1
90
97
  - 5
@@ -93,61 +100,93 @@ dependencies:
93
100
  type: :runtime
94
101
  version_requirements: *id005
95
102
  - !ruby/object:Gem::Dependency
96
- name: rubigen
103
+ name: rake
97
104
  prerelease: false
98
105
  requirement: &id006 !ruby/object:Gem::Requirement
99
106
  none: false
100
107
  requirements:
101
108
  - - ">="
102
109
  - !ruby/object:Gem::Version
110
+ hash: 3
111
+ segments:
112
+ - 0
113
+ version: "0"
114
+ type: :runtime
115
+ version_requirements: *id006
116
+ - !ruby/object:Gem::Dependency
117
+ name: rubigen
118
+ prerelease: false
119
+ requirement: &id007 !ruby/object:Gem::Requirement
120
+ none: false
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ hash: 15
103
125
  segments:
104
126
  - 1
105
127
  - 5
106
128
  - 6
107
129
  version: 1.5.6
108
130
  type: :development
109
- version_requirements: *id006
131
+ version_requirements: *id007
110
132
  - !ruby/object:Gem::Dependency
111
133
  name: rspec
112
134
  prerelease: false
113
- requirement: &id007 !ruby/object:Gem::Requirement
135
+ requirement: &id008 !ruby/object:Gem::Requirement
114
136
  none: false
115
137
  requirements:
116
138
  - - ">="
117
139
  - !ruby/object:Gem::Version
140
+ hash: 31
118
141
  segments:
119
142
  - 2
120
143
  - 4
121
144
  - 0
122
145
  version: 2.4.0
123
146
  type: :development
124
- version_requirements: *id007
147
+ version_requirements: *id008
125
148
  - !ruby/object:Gem::Dependency
126
149
  name: flexmock
127
150
  prerelease: false
128
- requirement: &id008 !ruby/object:Gem::Requirement
151
+ requirement: &id009 !ruby/object:Gem::Requirement
129
152
  none: false
130
153
  requirements:
131
154
  - - ">="
132
155
  - !ruby/object:Gem::Version
156
+ hash: 3
133
157
  segments:
134
158
  - 0
135
159
  version: "0"
136
160
  type: :development
137
- version_requirements: *id008
161
+ version_requirements: *id009
138
162
  - !ruby/object:Gem::Dependency
139
163
  name: activerecord
140
164
  prerelease: false
141
- requirement: &id009 !ruby/object:Gem::Requirement
165
+ requirement: &id010 !ruby/object:Gem::Requirement
142
166
  none: false
143
167
  requirements:
144
168
  - - ">="
145
169
  - !ruby/object:Gem::Version
170
+ hash: 3
146
171
  segments:
147
172
  - 0
148
173
  version: "0"
149
174
  type: :development
150
- version_requirements: *id009
175
+ version_requirements: *id010
176
+ - !ruby/object:Gem::Dependency
177
+ name: rake
178
+ prerelease: false
179
+ requirement: &id011 !ruby/object:Gem::Requirement
180
+ none: false
181
+ requirements:
182
+ - - ">="
183
+ - !ruby/object:Gem::Version
184
+ hash: 3
185
+ segments:
186
+ - 0
187
+ version: "0"
188
+ type: :development
189
+ version_requirements: *id011
151
190
  description: Adhearsion is an open-source telephony development framework
152
191
  email: dev&Adhearsion.com
153
192
  executables:
@@ -159,37 +198,42 @@ extensions: []
159
198
  extra_rdoc_files: []
160
199
 
161
200
  files:
201
+ - .gitignore
202
+ - CHANGELOG
203
+ - EVENTS
204
+ - Gemfile
205
+ - LICENSE
206
+ - README.markdown
207
+ - Rakefile
162
208
  - adhearsion.gemspec
209
+ - app_generators/ahn/USAGE
163
210
  - app_generators/ahn/ahn_generator.rb
164
211
  - app_generators/ahn/templates/.ahnrc
212
+ - app_generators/ahn/templates/Gemfile
213
+ - app_generators/ahn/templates/README
214
+ - app_generators/ahn/templates/Rakefile
165
215
  - app_generators/ahn/templates/components/ami_remote/ami_remote.rb
166
216
  - app_generators/ahn/templates/components/disabled/HOW_TO_ENABLE
167
- - app_generators/ahn/templates/components/disabled/stomp_gateway/stomp_gateway.yml
168
- - app_generators/ahn/templates/components/disabled/stomp_gateway/README.markdown
169
- - app_generators/ahn/templates/components/disabled/stomp_gateway/stomp_gateway.rb
170
- - app_generators/ahn/templates/components/disabled/sandbox/sandbox.rb
171
- - app_generators/ahn/templates/components/disabled/sandbox/sandbox.yml
172
- - app_generators/ahn/templates/components/disabled/restful_rpc/restful_rpc.yml
173
- - app_generators/ahn/templates/components/disabled/restful_rpc/example-client.rb
174
217
  - app_generators/ahn/templates/components/disabled/restful_rpc/README.markdown
218
+ - app_generators/ahn/templates/components/disabled/restful_rpc/example-client.rb
175
219
  - app_generators/ahn/templates/components/disabled/restful_rpc/restful_rpc.rb
220
+ - app_generators/ahn/templates/components/disabled/restful_rpc/restful_rpc.yml
176
221
  - app_generators/ahn/templates/components/disabled/restful_rpc/spec/restful_rpc_spec.rb
222
+ - app_generators/ahn/templates/components/disabled/sandbox/sandbox.rb
223
+ - app_generators/ahn/templates/components/disabled/sandbox/sandbox.yml
224
+ - app_generators/ahn/templates/components/disabled/stomp_gateway/README.markdown
225
+ - app_generators/ahn/templates/components/disabled/stomp_gateway/stomp_gateway.rb
226
+ - app_generators/ahn/templates/components/disabled/stomp_gateway/stomp_gateway.yml
227
+ - app_generators/ahn/templates/components/disabled/xmpp_gateway/README.markdown
177
228
  - app_generators/ahn/templates/components/disabled/xmpp_gateway/xmpp_gateway.rb
178
229
  - app_generators/ahn/templates/components/disabled/xmpp_gateway/xmpp_gateway.yml
179
- - app_generators/ahn/templates/components/disabled/xmpp_gateway/README.markdown
180
230
  - app_generators/ahn/templates/components/simon_game/simon_game.rb
181
231
  - app_generators/ahn/templates/config/startup.rb
182
232
  - app_generators/ahn/templates/dialplan.rb
183
233
  - app_generators/ahn/templates/events.rb
184
- - app_generators/ahn/templates/Rakefile
185
- - app_generators/ahn/templates/Gemfile
186
- - app_generators/ahn/templates/README
187
- - app_generators/ahn/USAGE
188
234
  - bin/ahn
189
235
  - bin/ahnctl
190
236
  - bin/jahn
191
- - CHANGELOG
192
- - EVENTS
193
237
  - examples/asterisk_manager_interface/standalone.rb
194
238
  - lib/adhearsion.rb
195
239
  - lib/adhearsion/cli.rb
@@ -204,6 +248,7 @@ files:
204
248
  - lib/adhearsion/foundation/future_resource.rb
205
249
  - lib/adhearsion/foundation/metaprogramming.rb
206
250
  - lib/adhearsion/foundation/numeric.rb
251
+ - lib/adhearsion/foundation/object.rb
207
252
  - lib/adhearsion/foundation/pseudo_guid.rb
208
253
  - lib/adhearsion/foundation/relationship_properties.rb
209
254
  - lib/adhearsion/foundation/string.rb
@@ -214,9 +259,9 @@ files:
214
259
  - lib/adhearsion/initializer/asterisk.rb
215
260
  - lib/adhearsion/initializer/configuration.rb
216
261
  - lib/adhearsion/initializer/database.rb
217
- - lib/adhearsion/initializer/ldap.rb
218
262
  - lib/adhearsion/initializer/drb.rb
219
263
  - lib/adhearsion/initializer/freeswitch.rb
264
+ - lib/adhearsion/initializer/ldap.rb
220
265
  - lib/adhearsion/initializer/rails.rb
221
266
  - lib/adhearsion/initializer/xmpp.rb
222
267
  - lib/adhearsion/logging.rb
@@ -267,15 +312,63 @@ files:
267
312
  - lib/adhearsion/voip/menu_state_machine/menu_class.rb
268
313
  - lib/adhearsion/xmpp/connection.rb
269
314
  - lib/theatre.rb
315
+ - lib/theatre/README.markdown
270
316
  - lib/theatre/callback_definition_loader.rb
271
317
  - lib/theatre/guid.rb
272
318
  - lib/theatre/invocation.rb
273
319
  - lib/theatre/namespace_manager.rb
274
- - lib/theatre/README.markdown
275
320
  - lib/theatre/version.rb
276
- - LICENSE
277
- - Rakefile
278
- - Gemfile
321
+ - spec/ahn_command_spec.rb
322
+ - spec/component_manager_spec.rb
323
+ - spec/constants_spec.rb
324
+ - spec/drb_spec.rb
325
+ - spec/fixtures/dialplan.rb
326
+ - spec/foundation/event_socket_spec.rb
327
+ - spec/host_definitions_spec.rb
328
+ - spec/initialization_spec.rb
329
+ - spec/initializer/configuration_spec.rb
330
+ - spec/initializer/loading_spec.rb
331
+ - spec/initializer/paths_spec.rb
332
+ - spec/logging_spec.rb
333
+ - spec/relationship_properties_spec.rb
334
+ - spec/silence.rb
335
+ - spec/spec_helper.rb
336
+ - spec/voip/asterisk/agi_server_spec.rb
337
+ - spec/voip/asterisk/ami/ami_spec.rb
338
+ - spec/voip/asterisk/ami/lexer/ami_fixtures.yml
339
+ - spec/voip/asterisk/ami/lexer/lexer_story
340
+ - spec/voip/asterisk/ami/lexer/lexer_story.rb
341
+ - spec/voip/asterisk/ami/lexer/story_helper.rb
342
+ - spec/voip/asterisk/ami/old_tests.rb
343
+ - spec/voip/asterisk/ami/super_manager/super_manager_story
344
+ - spec/voip/asterisk/ami/super_manager/super_manager_story.rb
345
+ - spec/voip/asterisk/ami/super_manager/super_manager_story_helper.rb
346
+ - spec/voip/asterisk/commands_spec.rb
347
+ - spec/voip/asterisk/config_file_generators/agents_spec.rb
348
+ - spec/voip/asterisk/config_file_generators/queues_spec.rb
349
+ - spec/voip/asterisk/config_file_generators/voicemail_spec.rb
350
+ - spec/voip/asterisk/config_manager_spec.rb
351
+ - spec/voip/asterisk/menu_command/calculated_match_spec.rb
352
+ - spec/voip/asterisk/menu_command/matchers_spec.rb
353
+ - spec/voip/call_routing_spec.rb
354
+ - spec/voip/dialplan_manager_spec.rb
355
+ - spec/voip/dsl/dialing_dsl_spec.rb
356
+ - spec/voip/dsl/dispatcher_spec.rb
357
+ - spec/voip/dsl/dispatcher_spec_helper.rb
358
+ - spec/voip/dsl/parser_spec.rb
359
+ - spec/voip/freeswitch/basic_connection_manager_spec.rb
360
+ - spec/voip/freeswitch/inbound_connection_manager_spec.rb
361
+ - spec/voip/freeswitch/oes_server_spec.rb
362
+ - spec/voip/numerical_string_spec.rb
363
+ - spec/voip/phone_number_spec.rb
364
+ - theatre-spec/dsl_examples/dynamic_stomp.rb
365
+ - theatre-spec/dsl_examples/simple_before_call.rb
366
+ - theatre-spec/dsl_spec.rb
367
+ - theatre-spec/invocation_spec.rb
368
+ - theatre-spec/namespace_spec.rb
369
+ - theatre-spec/spec_helper.rb
370
+ - theatre-spec/spec_helper_spec.rb
371
+ - theatre-spec/theatre_class_spec.rb
279
372
  has_rdoc: true
280
373
  homepage: http://adhearsion.com
281
374
  licenses: []
@@ -290,6 +383,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
290
383
  requirements:
291
384
  - - ">="
292
385
  - !ruby/object:Gem::Version
386
+ hash: 3
293
387
  segments:
294
388
  - 0
295
389
  version: "0"
@@ -298,15 +392,58 @@ required_rubygems_version: !ruby/object:Gem::Requirement
298
392
  requirements:
299
393
  - - ">="
300
394
  - !ruby/object:Gem::Version
395
+ hash: 3
301
396
  segments:
302
397
  - 0
303
398
  version: "0"
304
399
  requirements: []
305
400
 
306
401
  rubyforge_project: adhearsion
307
- rubygems_version: 1.3.7
402
+ rubygems_version: 1.4.2
308
403
  signing_key:
309
404
  specification_version: 2
310
405
  summary: Adhearsion, open-source telephony development framework
311
- test_files: []
312
-
406
+ test_files:
407
+ - spec/ahn_command_spec.rb
408
+ - spec/component_manager_spec.rb
409
+ - spec/constants_spec.rb
410
+ - spec/drb_spec.rb
411
+ - spec/fixtures/dialplan.rb
412
+ - spec/foundation/event_socket_spec.rb
413
+ - spec/host_definitions_spec.rb
414
+ - spec/initialization_spec.rb
415
+ - spec/initializer/configuration_spec.rb
416
+ - spec/initializer/loading_spec.rb
417
+ - spec/initializer/paths_spec.rb
418
+ - spec/logging_spec.rb
419
+ - spec/relationship_properties_spec.rb
420
+ - spec/silence.rb
421
+ - spec/spec_helper.rb
422
+ - spec/voip/asterisk/agi_server_spec.rb
423
+ - spec/voip/asterisk/ami/ami_spec.rb
424
+ - spec/voip/asterisk/ami/lexer/ami_fixtures.yml
425
+ - spec/voip/asterisk/ami/lexer/lexer_story
426
+ - spec/voip/asterisk/ami/lexer/lexer_story.rb
427
+ - spec/voip/asterisk/ami/lexer/story_helper.rb
428
+ - spec/voip/asterisk/ami/old_tests.rb
429
+ - spec/voip/asterisk/ami/super_manager/super_manager_story
430
+ - spec/voip/asterisk/ami/super_manager/super_manager_story.rb
431
+ - spec/voip/asterisk/ami/super_manager/super_manager_story_helper.rb
432
+ - spec/voip/asterisk/commands_spec.rb
433
+ - spec/voip/asterisk/config_file_generators/agents_spec.rb
434
+ - spec/voip/asterisk/config_file_generators/queues_spec.rb
435
+ - spec/voip/asterisk/config_file_generators/voicemail_spec.rb
436
+ - spec/voip/asterisk/config_manager_spec.rb
437
+ - spec/voip/asterisk/menu_command/calculated_match_spec.rb
438
+ - spec/voip/asterisk/menu_command/matchers_spec.rb
439
+ - spec/voip/call_routing_spec.rb
440
+ - spec/voip/dialplan_manager_spec.rb
441
+ - spec/voip/dsl/dialing_dsl_spec.rb
442
+ - spec/voip/dsl/dispatcher_spec.rb
443
+ - spec/voip/dsl/dispatcher_spec_helper.rb
444
+ - spec/voip/dsl/parser_spec.rb
445
+ - spec/voip/freeswitch/basic_connection_manager_spec.rb
446
+ - spec/voip/freeswitch/inbound_connection_manager_spec.rb
447
+ - spec/voip/freeswitch/oes_server_spec.rb
448
+ - spec/voip/numerical_string_spec.rb
449
+ - spec/voip/phone_number_spec.rb