adhearsion 1.0.1 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +10 -0
- data/CHANGELOG +8 -0
- data/README.markdown +33 -0
- data/Rakefile +28 -68
- data/adhearsion.gemspec +19 -133
- data/app_generators/ahn/templates/Gemfile +0 -4
- data/app_generators/ahn/templates/components/disabled/restful_rpc/spec/restful_rpc_spec.rb +4 -16
- data/lib/adhearsion/cli.rb +17 -0
- data/lib/adhearsion/component_manager/component_tester.rb +1 -3
- data/lib/adhearsion/component_manager/spec_framework.rb +4 -10
- data/lib/adhearsion/foundation/object.rb +10 -0
- data/lib/adhearsion/version.rb +1 -1
- data/spec/ahn_command_spec.rb +284 -0
- data/spec/component_manager_spec.rb +292 -0
- data/spec/constants_spec.rb +8 -0
- data/spec/drb_spec.rb +65 -0
- data/spec/fixtures/dialplan.rb +3 -0
- data/spec/foundation/event_socket_spec.rb +168 -0
- data/spec/host_definitions_spec.rb +79 -0
- data/spec/initialization_spec.rb +163 -0
- data/spec/initializer/configuration_spec.rb +270 -0
- data/spec/initializer/loading_spec.rb +149 -0
- data/spec/initializer/paths_spec.rb +74 -0
- data/spec/logging_spec.rb +86 -0
- data/spec/relationship_properties_spec.rb +54 -0
- data/spec/silence.rb +10 -0
- data/spec/spec_helper.rb +101 -0
- data/spec/voip/asterisk/agi_server_spec.rb +473 -0
- data/spec/voip/asterisk/ami/ami_spec.rb +549 -0
- data/spec/voip/asterisk/ami/lexer/ami_fixtures.yml +30 -0
- data/spec/voip/asterisk/ami/lexer/lexer_story +291 -0
- data/spec/voip/asterisk/ami/lexer/lexer_story.rb +241 -0
- data/spec/voip/asterisk/ami/lexer/story_helper.rb +124 -0
- data/spec/voip/asterisk/ami/old_tests.rb +204 -0
- data/spec/voip/asterisk/ami/super_manager/super_manager_story +25 -0
- data/spec/voip/asterisk/ami/super_manager/super_manager_story.rb +15 -0
- data/spec/voip/asterisk/ami/super_manager/super_manager_story_helper.rb +5 -0
- data/spec/voip/asterisk/commands_spec.rb +2179 -0
- data/spec/voip/asterisk/config_file_generators/agents_spec.rb +251 -0
- data/spec/voip/asterisk/config_file_generators/queues_spec.rb +323 -0
- data/spec/voip/asterisk/config_file_generators/voicemail_spec.rb +306 -0
- data/spec/voip/asterisk/config_manager_spec.rb +127 -0
- data/spec/voip/asterisk/menu_command/calculated_match_spec.rb +109 -0
- data/spec/voip/asterisk/menu_command/matchers_spec.rb +97 -0
- data/spec/voip/call_routing_spec.rb +125 -0
- data/spec/voip/dialplan_manager_spec.rb +468 -0
- data/spec/voip/dsl/dialing_dsl_spec.rb +270 -0
- data/spec/voip/dsl/dispatcher_spec.rb +82 -0
- data/spec/voip/dsl/dispatcher_spec_helper.rb +45 -0
- data/spec/voip/dsl/parser_spec.rb +69 -0
- data/spec/voip/freeswitch/basic_connection_manager_spec.rb +39 -0
- data/spec/voip/freeswitch/inbound_connection_manager_spec.rb +39 -0
- data/spec/voip/freeswitch/oes_server_spec.rb +9 -0
- data/spec/voip/numerical_string_spec.rb +61 -0
- data/spec/voip/phone_number_spec.rb +45 -0
- data/theatre-spec/dsl_examples/dynamic_stomp.rb +7 -0
- data/theatre-spec/dsl_examples/simple_before_call.rb +7 -0
- data/theatre-spec/dsl_spec.rb +43 -0
- data/theatre-spec/invocation_spec.rb +167 -0
- data/theatre-spec/namespace_spec.rb +125 -0
- data/theatre-spec/spec_helper.rb +37 -0
- data/theatre-spec/spec_helper_spec.rb +28 -0
- data/theatre-spec/theatre_class_spec.rb +150 -0
- 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
|
-
|
4
|
+
hash: 19
|
5
|
+
prerelease:
|
5
6
|
segments:
|
6
7
|
- 1
|
7
8
|
- 0
|
8
|
-
-
|
9
|
-
version: 1.0.
|
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-
|
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:
|
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: *
|
131
|
+
version_requirements: *id007
|
110
132
|
- !ruby/object:Gem::Dependency
|
111
133
|
name: rspec
|
112
134
|
prerelease: false
|
113
|
-
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: *
|
147
|
+
version_requirements: *id008
|
125
148
|
- !ruby/object:Gem::Dependency
|
126
149
|
name: flexmock
|
127
150
|
prerelease: false
|
128
|
-
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: *
|
161
|
+
version_requirements: *id009
|
138
162
|
- !ruby/object:Gem::Dependency
|
139
163
|
name: activerecord
|
140
164
|
prerelease: false
|
141
|
-
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: *
|
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
|
-
-
|
277
|
-
-
|
278
|
-
-
|
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.
|
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
|