adhearsion 2.0.0.alpha1 → 2.0.0.alpha2
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +2 -0
- data/.travis.yml +12 -0
- data/CHANGELOG.md +17 -0
- data/adhearsion.gemspec +4 -3
- data/features/app_generator.feature +3 -1
- data/features/cli.feature +7 -7
- data/features/support/env.rb +46 -0
- data/lib/adhearsion.rb +1 -2
- data/lib/adhearsion/call.rb +59 -19
- data/lib/adhearsion/call_controller.rb +20 -24
- data/lib/adhearsion/call_controller/dial.rb +18 -18
- data/lib/adhearsion/cli_commands.rb +26 -9
- data/lib/adhearsion/configuration.rb +39 -10
- data/lib/adhearsion/console.rb +61 -42
- data/lib/adhearsion/foundation/libc.rb +13 -0
- data/lib/adhearsion/generators/app/app_generator.rb +4 -1
- data/lib/adhearsion/generators/app/templates/{Gemfile → Gemfile.erb} +1 -1
- data/lib/adhearsion/generators/app/templates/Rakefile +3 -22
- data/lib/adhearsion/generators/app/templates/gitignore +7 -0
- data/lib/adhearsion/generators/app/templates/lib/simon_game.rb +1 -0
- data/lib/adhearsion/generators/app/templates/script/ahn +1 -0
- data/lib/adhearsion/initializer.rb +24 -12
- data/lib/adhearsion/linux_proc_name.rb +41 -0
- data/lib/adhearsion/outbound_call.rb +10 -5
- data/lib/adhearsion/plugin.rb +29 -132
- data/lib/adhearsion/process.rb +4 -1
- data/lib/adhearsion/punchblock_plugin.rb +14 -5
- data/lib/adhearsion/punchblock_plugin/initializer.rb +8 -1
- data/lib/adhearsion/router/route.rb +1 -3
- data/lib/adhearsion/tasks.rb +6 -12
- data/lib/adhearsion/tasks/configuration.rb +7 -24
- data/lib/adhearsion/tasks/environment.rb +12 -0
- data/lib/adhearsion/tasks/plugins.rb +9 -14
- data/lib/adhearsion/version.rb +1 -1
- data/spec/adhearsion/call_controller/dial_spec.rb +46 -22
- data/spec/adhearsion/call_controller_spec.rb +48 -13
- data/spec/adhearsion/call_spec.rb +144 -23
- data/spec/adhearsion/calls_spec.rb +8 -4
- data/spec/adhearsion/console_spec.rb +24 -0
- data/spec/adhearsion/initializer/logging_spec.rb +0 -3
- data/spec/adhearsion/initializer_spec.rb +52 -37
- data/spec/adhearsion/logging_spec.rb +0 -3
- data/spec/adhearsion/outbound_call_spec.rb +12 -2
- data/spec/adhearsion/plugin_spec.rb +74 -184
- data/spec/adhearsion/process_spec.rb +59 -26
- data/spec/adhearsion/punchblock_plugin/initializer_spec.rb +3 -4
- data/spec/adhearsion/punchblock_plugin_spec.rb +11 -0
- data/spec/adhearsion/router/route_spec.rb +37 -6
- data/spec/adhearsion_spec.rb +31 -8
- data/spec/spec_helper.rb +14 -0
- data/spec/support/call_controller_test_helpers.rb +2 -2
- data/spec/support/logging_helpers.rb +2 -0
- metadata +85 -68
- data/lib/adhearsion/dialplan_controller.rb +0 -9
- data/lib/adhearsion/foundation/synchronized_hash.rb +0 -93
- data/lib/adhearsion/plugin/methods_container.rb +0 -6
- data/spec/adhearsion/dialplan_controller_spec.rb +0 -26
@@ -1,34 +1,67 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
3
|
+
module Adhearsion
|
4
|
+
describe Adhearsion::Process do
|
5
|
+
before :each do
|
6
|
+
Adhearsion::Process.reset
|
7
|
+
end
|
7
8
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
9
|
+
it 'should trigger :stop_requested events on #shutdown' do
|
10
|
+
flexmock(Events).should_receive(:trigger_immediately).once.with(:stop_requested)
|
11
|
+
Adhearsion::Process.booted
|
12
|
+
Adhearsion::Process.shutdown
|
13
|
+
end
|
13
14
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
15
|
+
it '#stop_when_zero_calls should wait until the list of active calls reaches 0' do
|
16
|
+
pending
|
17
|
+
calls = ThreadSafeArray.new
|
18
|
+
3.times do
|
19
|
+
fake_call = Object.new
|
20
|
+
flexmock(fake_call).should_receive(:hangup).once
|
21
|
+
calls << fake_call
|
22
|
+
end
|
23
|
+
flexmock(Adhearsion).should_receive(:active_calls).and_return calls
|
24
|
+
flexmock(Adhearsion::Process.instance).should_receive(:final_shutdown).once
|
25
|
+
calls = []
|
26
|
+
3.times { calls << Thread.new { sleep 1; calls.pop } }
|
27
|
+
Adhearsion::Process.stop_when_zero_calls
|
28
|
+
calls.each { |thread| thread.join }
|
21
29
|
end
|
22
|
-
flexmock(Adhearsion).should_receive(:active_calls).and_return calls
|
23
|
-
flexmock(Adhearsion::Process.instance).should_receive(:final_shutdown).once
|
24
|
-
calls = []
|
25
|
-
3.times { calls << Thread.new { sleep 1; calls.pop } }
|
26
|
-
Adhearsion::Process.stop_when_zero_calls
|
27
|
-
calls.each { |thread| thread.join }
|
28
|
-
end
|
29
30
|
|
30
|
-
|
31
|
-
|
32
|
-
|
31
|
+
it 'should terminate the process immediately on #force_stop' do
|
32
|
+
flexmock(::Process).should_receive(:exit).with(1).once.and_return true
|
33
|
+
Adhearsion::Process.force_stop
|
34
|
+
end
|
35
|
+
|
36
|
+
describe "#final_shutdown" do
|
37
|
+
it "should hang up active calls" do
|
38
|
+
3.times do
|
39
|
+
fake_call = flexmock Object.new, :id => rand
|
40
|
+
flexmock(fake_call).should_receive(:hangup).once
|
41
|
+
Adhearsion.active_calls << fake_call
|
42
|
+
end
|
43
|
+
|
44
|
+
Adhearsion::Process.final_shutdown
|
45
|
+
|
46
|
+
Adhearsion.active_calls.clear!
|
47
|
+
end
|
48
|
+
|
49
|
+
it "should trigger shutdown handlers synchronously" do
|
50
|
+
shutdown_value = []
|
51
|
+
|
52
|
+
Events.shutdown { shutdown_value << :foo }
|
53
|
+
Events.shutdown { shutdown_value << :bar }
|
54
|
+
Events.shutdown { shutdown_value << :baz }
|
55
|
+
|
56
|
+
Adhearsion::Process.final_shutdown
|
57
|
+
|
58
|
+
shutdown_value.should == [:foo, :bar, :baz]
|
59
|
+
end
|
60
|
+
|
61
|
+
it "should stop the console" do
|
62
|
+
flexmock(Console).should_receive(:stop).once
|
63
|
+
Adhearsion::Process.final_shutdown
|
64
|
+
end
|
65
|
+
end
|
33
66
|
end
|
34
67
|
end
|
@@ -45,10 +45,9 @@ module Adhearsion
|
|
45
45
|
Events.refresh!
|
46
46
|
end
|
47
47
|
|
48
|
-
let(:call_id)
|
49
|
-
let(:offer)
|
50
|
-
let(:mock_call)
|
51
|
-
let(:mock_manager) { flexmock 'a mock dialplan manager' }
|
48
|
+
let(:call_id) { rand }
|
49
|
+
let(:offer) { ::Punchblock::Event::Offer.new.tap { |o| o.call_id = call_id } }
|
50
|
+
let(:mock_call) { flexmock('Call', :id => call_id).tap { |call| call.should_ignore_missing } }
|
52
51
|
|
53
52
|
describe "starts the client with the default values" do
|
54
53
|
subject { initialize_punchblock }
|
@@ -0,0 +1,11 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module Adhearsion
|
4
|
+
describe PunchblockPlugin do
|
5
|
+
it "should make the client accessible from the Initializer" do
|
6
|
+
PunchblockPlugin::Initializer.client = :foo
|
7
|
+
PunchblockPlugin.client.should be :foo
|
8
|
+
PunchblockPlugin::Initializer.client = nil
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
@@ -49,18 +49,49 @@ module Adhearsion
|
|
49
49
|
]
|
50
50
|
end
|
51
51
|
|
52
|
+
let :offer do
|
53
|
+
Punchblock::Event::Offer.new :to => to, :from => from
|
54
|
+
end
|
55
|
+
|
56
|
+
let(:call) { Adhearsion::Call.new offer }
|
57
|
+
|
52
58
|
context "with a call from fred to paul" do
|
53
|
-
let(:
|
59
|
+
let(:from) { 'fred' }
|
60
|
+
let(:to) { 'paul' }
|
54
61
|
it { should_match_the_call }
|
55
62
|
end
|
56
63
|
|
57
64
|
context "with a call from fred to frank" do
|
58
|
-
let(:
|
65
|
+
let(:from) { 'fred' }
|
66
|
+
let(:to) { 'frank' }
|
59
67
|
it { should_not_match_the_call }
|
60
68
|
end
|
61
69
|
|
62
70
|
context "with a call from frank to paul" do
|
63
|
-
let(:
|
71
|
+
let(:from) { 'frank' }
|
72
|
+
let(:to) { 'paul' }
|
73
|
+
it { should_not_match_the_call }
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
describe "matching calls with the variable :foo=:bar" do
|
78
|
+
let :guards do
|
79
|
+
[[:[], :foo] => :bar]
|
80
|
+
end
|
81
|
+
|
82
|
+
let(:call) { Adhearsion::Call.new }
|
83
|
+
|
84
|
+
context "with :foo=:bar" do
|
85
|
+
before { call[:foo] = :bar }
|
86
|
+
it { should_match_the_call }
|
87
|
+
end
|
88
|
+
|
89
|
+
context "with :foo=:baz" do
|
90
|
+
before { call[:foo] = :baz }
|
91
|
+
it { should_not_match_the_call }
|
92
|
+
end
|
93
|
+
|
94
|
+
context "with :foo unset" do
|
64
95
|
it { should_not_match_the_call }
|
65
96
|
end
|
66
97
|
end
|
@@ -86,9 +117,9 @@ module Adhearsion
|
|
86
117
|
end
|
87
118
|
end
|
88
119
|
|
89
|
-
it "should instruct the call to use
|
90
|
-
flexmock(call).should_receive(:execute_controller).once.with(
|
91
|
-
controller.
|
120
|
+
it "should instruct the call to use a CallController with the correct block" do
|
121
|
+
flexmock(call).should_receive(:execute_controller).once.with(CallController).and_return do |controller|
|
122
|
+
controller.block.call.should == :foobar
|
92
123
|
end
|
93
124
|
route.dispatcher.call call
|
94
125
|
end
|
data/spec/adhearsion_spec.rb
CHANGED
@@ -1,7 +1,19 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Adhearsion do
|
4
|
-
describe "
|
4
|
+
describe "#ahn_root=" do
|
5
|
+
it "should update properly the config root variable" do
|
6
|
+
Adhearsion.ahn_root = "./"
|
7
|
+
Adhearsion.config[:platform].root.should == Dir.getwd
|
8
|
+
end
|
9
|
+
|
10
|
+
it "should update properly the config root variable when path is nil" do
|
11
|
+
Adhearsion.ahn_root = nil
|
12
|
+
Adhearsion.config[:platform].root.should be_nil
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
describe "#config" do
|
5
17
|
it "should return a Configuration instance" do
|
6
18
|
subject.config.should be_instance_of Adhearsion::Configuration
|
7
19
|
end
|
@@ -15,6 +27,13 @@ describe Adhearsion do
|
|
15
27
|
end
|
16
28
|
end
|
17
29
|
|
30
|
+
describe "#environments" do
|
31
|
+
it "should be the collection of valid environments" do
|
32
|
+
Adhearsion.config.valid_environments << :foo
|
33
|
+
Adhearsion.environments.should include :foo
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
18
37
|
describe "#router" do
|
19
38
|
its(:router) { should be_a Adhearsion::Router }
|
20
39
|
|
@@ -32,15 +51,19 @@ describe Adhearsion do
|
|
32
51
|
end
|
33
52
|
end
|
34
53
|
|
35
|
-
describe "
|
36
|
-
it "should
|
37
|
-
Adhearsion.
|
38
|
-
Adhearsion.config[:platform].root.should == Dir.getwd
|
54
|
+
describe "#active_calls" do
|
55
|
+
it "should be a calls collection" do
|
56
|
+
Adhearsion.active_calls.should be_a Adhearsion::Calls
|
39
57
|
end
|
40
58
|
|
41
|
-
it "should
|
42
|
-
Adhearsion.
|
43
|
-
|
59
|
+
it "should return the same instance each time" do
|
60
|
+
Adhearsion.active_calls.should be Adhearsion.active_calls
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
describe "#status" do
|
65
|
+
it "should be the process status name" do
|
66
|
+
Adhearsion.status.should == :booting
|
44
67
|
end
|
45
68
|
end
|
46
69
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -45,3 +45,17 @@ Adhearsion::Events.exeption do |e|
|
|
45
45
|
end
|
46
46
|
|
47
47
|
Adhearsion::Logging.silence!
|
48
|
+
|
49
|
+
|
50
|
+
# Test modules for #mixin methods
|
51
|
+
module TestBiscuit
|
52
|
+
def throwadogabone
|
53
|
+
true
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
module MarmaladeIsBetterThanJam
|
58
|
+
def sobittersweet
|
59
|
+
true
|
60
|
+
end
|
61
|
+
end
|
@@ -4,6 +4,7 @@ module CallControllerTestHelpers
|
|
4
4
|
def self.included(test_case)
|
5
5
|
test_case.let(:call_id) { rand }
|
6
6
|
test_case.let(:call) { Adhearsion::Call.new }
|
7
|
+
test_case.let(:block) { nil }
|
7
8
|
|
8
9
|
test_case.subject do
|
9
10
|
case test_case.describes
|
@@ -11,11 +12,10 @@ module CallControllerTestHelpers
|
|
11
12
|
test_case.describes
|
12
13
|
when Module
|
13
14
|
Class.new Adhearsion::CallController
|
14
|
-
end.new call, :doo => :dah
|
15
|
+
end.new call, :doo => :dah, &block
|
15
16
|
end
|
16
17
|
|
17
18
|
test_case.before do
|
18
|
-
flexmock Adhearsion::Plugin, :methods_scope => {:dialplan => Module.new { def foo; end}}
|
19
19
|
flexmock subject
|
20
20
|
flexmock call, :write_command => true, :id => call_id
|
21
21
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: adhearsion
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.0.
|
4
|
+
version: 2.0.0.alpha2
|
5
5
|
prerelease: 6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -12,11 +12,11 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date: 2012-01-
|
15
|
+
date: 2012-01-30 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: bundler
|
19
|
-
requirement: &
|
19
|
+
requirement: &2156512600 !ruby/object:Gem::Requirement
|
20
20
|
none: false
|
21
21
|
requirements:
|
22
22
|
- - ! '>='
|
@@ -24,21 +24,21 @@ dependencies:
|
|
24
24
|
version: 1.0.10
|
25
25
|
type: :runtime
|
26
26
|
prerelease: false
|
27
|
-
version_requirements: *
|
27
|
+
version_requirements: *2156512600
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: punchblock
|
30
|
-
requirement: &
|
30
|
+
requirement: &2156510520 !ruby/object:Gem::Requirement
|
31
31
|
none: false
|
32
32
|
requirements:
|
33
33
|
- - ! '>='
|
34
34
|
- !ruby/object:Gem::Version
|
35
|
-
version: 0.
|
35
|
+
version: 0.9.1
|
36
36
|
type: :runtime
|
37
37
|
prerelease: false
|
38
|
-
version_requirements: *
|
38
|
+
version_requirements: *2156510520
|
39
39
|
- !ruby/object:Gem::Dependency
|
40
40
|
name: logging
|
41
|
-
requirement: &
|
41
|
+
requirement: &2156507840 !ruby/object:Gem::Requirement
|
42
42
|
none: false
|
43
43
|
requirements:
|
44
44
|
- - ! '>='
|
@@ -46,10 +46,10 @@ dependencies:
|
|
46
46
|
version: 1.6.1
|
47
47
|
type: :runtime
|
48
48
|
prerelease: false
|
49
|
-
version_requirements: *
|
49
|
+
version_requirements: *2156507840
|
50
50
|
- !ruby/object:Gem::Dependency
|
51
|
-
name: loquacious
|
52
|
-
requirement: &
|
51
|
+
name: adhearsion-loquacious
|
52
|
+
requirement: &2156520680 !ruby/object:Gem::Requirement
|
53
53
|
none: false
|
54
54
|
requirements:
|
55
55
|
- - ! '>='
|
@@ -57,10 +57,10 @@ dependencies:
|
|
57
57
|
version: 1.9.0
|
58
58
|
type: :runtime
|
59
59
|
prerelease: false
|
60
|
-
version_requirements: *
|
60
|
+
version_requirements: *2156520680
|
61
61
|
- !ruby/object:Gem::Dependency
|
62
62
|
name: activesupport
|
63
|
-
requirement: &
|
63
|
+
requirement: &2156519300 !ruby/object:Gem::Requirement
|
64
64
|
none: false
|
65
65
|
requirements:
|
66
66
|
- - ! '>='
|
@@ -68,10 +68,10 @@ dependencies:
|
|
68
68
|
version: 3.0.10
|
69
69
|
type: :runtime
|
70
70
|
prerelease: false
|
71
|
-
version_requirements: *
|
71
|
+
version_requirements: *2156519300
|
72
72
|
- !ruby/object:Gem::Dependency
|
73
73
|
name: i18n
|
74
|
-
requirement: &
|
74
|
+
requirement: &2156517360 !ruby/object:Gem::Requirement
|
75
75
|
none: false
|
76
76
|
requirements:
|
77
77
|
- - ! '>='
|
@@ -79,10 +79,10 @@ dependencies:
|
|
79
79
|
version: 0.5.0
|
80
80
|
type: :runtime
|
81
81
|
prerelease: false
|
82
|
-
version_requirements: *
|
82
|
+
version_requirements: *2156517360
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: json
|
85
|
-
requirement: &
|
85
|
+
requirement: &2156515880 !ruby/object:Gem::Requirement
|
86
86
|
none: false
|
87
87
|
requirements:
|
88
88
|
- - ! '>='
|
@@ -90,10 +90,10 @@ dependencies:
|
|
90
90
|
version: '0'
|
91
91
|
type: :runtime
|
92
92
|
prerelease: false
|
93
|
-
version_requirements: *
|
93
|
+
version_requirements: *2156515880
|
94
94
|
- !ruby/object:Gem::Dependency
|
95
95
|
name: thor
|
96
|
-
requirement: &
|
96
|
+
requirement: &2156515300 !ruby/object:Gem::Requirement
|
97
97
|
none: false
|
98
98
|
requirements:
|
99
99
|
- - ! '>='
|
@@ -101,10 +101,10 @@ dependencies:
|
|
101
101
|
version: '0'
|
102
102
|
type: :runtime
|
103
103
|
prerelease: false
|
104
|
-
version_requirements: *
|
104
|
+
version_requirements: *2156515300
|
105
105
|
- !ruby/object:Gem::Dependency
|
106
106
|
name: rake
|
107
|
-
requirement: &
|
107
|
+
requirement: &2156513900 !ruby/object:Gem::Requirement
|
108
108
|
none: false
|
109
109
|
requirements:
|
110
110
|
- - ! '>='
|
@@ -112,10 +112,10 @@ dependencies:
|
|
112
112
|
version: '0'
|
113
113
|
type: :runtime
|
114
114
|
prerelease: false
|
115
|
-
version_requirements: *
|
115
|
+
version_requirements: *2156513900
|
116
116
|
- !ruby/object:Gem::Dependency
|
117
117
|
name: pry
|
118
|
-
requirement: &
|
118
|
+
requirement: &2156526580 !ruby/object:Gem::Requirement
|
119
119
|
none: false
|
120
120
|
requirements:
|
121
121
|
- - ! '>='
|
@@ -123,10 +123,10 @@ dependencies:
|
|
123
123
|
version: '0'
|
124
124
|
type: :runtime
|
125
125
|
prerelease: false
|
126
|
-
version_requirements: *
|
126
|
+
version_requirements: *2156526580
|
127
127
|
- !ruby/object:Gem::Dependency
|
128
128
|
name: uuid
|
129
|
-
requirement: &
|
129
|
+
requirement: &2156524260 !ruby/object:Gem::Requirement
|
130
130
|
none: false
|
131
131
|
requirements:
|
132
132
|
- - ! '>='
|
@@ -134,10 +134,10 @@ dependencies:
|
|
134
134
|
version: '0'
|
135
135
|
type: :runtime
|
136
136
|
prerelease: false
|
137
|
-
version_requirements: *
|
137
|
+
version_requirements: *2156524260
|
138
138
|
- !ruby/object:Gem::Dependency
|
139
139
|
name: future-resource
|
140
|
-
requirement: &
|
140
|
+
requirement: &2156522060 !ruby/object:Gem::Requirement
|
141
141
|
none: false
|
142
142
|
requirements:
|
143
143
|
- - ! '>='
|
@@ -145,10 +145,10 @@ dependencies:
|
|
145
145
|
version: 0.0.2
|
146
146
|
type: :runtime
|
147
147
|
prerelease: false
|
148
|
-
version_requirements: *
|
148
|
+
version_requirements: *2156522060
|
149
149
|
- !ruby/object:Gem::Dependency
|
150
150
|
name: ruby_speech
|
151
|
-
requirement: &
|
151
|
+
requirement: &2156535940 !ruby/object:Gem::Requirement
|
152
152
|
none: false
|
153
153
|
requirements:
|
154
154
|
- - ! '>='
|
@@ -156,10 +156,10 @@ dependencies:
|
|
156
156
|
version: 0.4.0
|
157
157
|
type: :runtime
|
158
158
|
prerelease: false
|
159
|
-
version_requirements: *
|
159
|
+
version_requirements: *2156535940
|
160
160
|
- !ruby/object:Gem::Dependency
|
161
161
|
name: countdownlatch
|
162
|
-
requirement: &
|
162
|
+
requirement: &2156531620 !ruby/object:Gem::Requirement
|
163
163
|
none: false
|
164
164
|
requirements:
|
165
165
|
- - ! '>='
|
@@ -167,21 +167,21 @@ dependencies:
|
|
167
167
|
version: '0'
|
168
168
|
type: :runtime
|
169
169
|
prerelease: false
|
170
|
-
version_requirements: *
|
170
|
+
version_requirements: *2156531620
|
171
171
|
- !ruby/object:Gem::Dependency
|
172
172
|
name: has-guarded-handlers
|
173
|
-
requirement: &
|
173
|
+
requirement: &2156548760 !ruby/object:Gem::Requirement
|
174
174
|
none: false
|
175
175
|
requirements:
|
176
176
|
- - ! '>='
|
177
177
|
- !ruby/object:Gem::Version
|
178
|
-
version:
|
178
|
+
version: 1.1.0
|
179
179
|
type: :runtime
|
180
180
|
prerelease: false
|
181
|
-
version_requirements: *
|
181
|
+
version_requirements: *2156548760
|
182
182
|
- !ruby/object:Gem::Dependency
|
183
183
|
name: girl_friday
|
184
|
-
requirement: &
|
184
|
+
requirement: &2156546880 !ruby/object:Gem::Requirement
|
185
185
|
none: false
|
186
186
|
requirements:
|
187
187
|
- - ! '>='
|
@@ -189,10 +189,21 @@ dependencies:
|
|
189
189
|
version: '0'
|
190
190
|
type: :runtime
|
191
191
|
prerelease: false
|
192
|
-
version_requirements: *
|
192
|
+
version_requirements: *2156546880
|
193
|
+
- !ruby/object:Gem::Dependency
|
194
|
+
name: ffi
|
195
|
+
requirement: &2156544980 !ruby/object:Gem::Requirement
|
196
|
+
none: false
|
197
|
+
requirements:
|
198
|
+
- - ! '>='
|
199
|
+
- !ruby/object:Gem::Version
|
200
|
+
version: 1.0.11
|
201
|
+
type: :runtime
|
202
|
+
prerelease: false
|
203
|
+
version_requirements: *2156544980
|
193
204
|
- !ruby/object:Gem::Dependency
|
194
205
|
name: rspec
|
195
|
-
requirement: &
|
206
|
+
requirement: &2156543340 !ruby/object:Gem::Requirement
|
196
207
|
none: false
|
197
208
|
requirements:
|
198
209
|
- - ~>
|
@@ -200,10 +211,10 @@ dependencies:
|
|
200
211
|
version: 2.7.0
|
201
212
|
type: :development
|
202
213
|
prerelease: false
|
203
|
-
version_requirements: *
|
214
|
+
version_requirements: *2156543340
|
204
215
|
- !ruby/object:Gem::Dependency
|
205
216
|
name: flexmock
|
206
|
-
requirement: &
|
217
|
+
requirement: &2156557680 !ruby/object:Gem::Requirement
|
207
218
|
none: false
|
208
219
|
requirements:
|
209
220
|
- - ! '>='
|
@@ -211,10 +222,10 @@ dependencies:
|
|
211
222
|
version: '0'
|
212
223
|
type: :development
|
213
224
|
prerelease: false
|
214
|
-
version_requirements: *
|
225
|
+
version_requirements: *2156557680
|
215
226
|
- !ruby/object:Gem::Dependency
|
216
227
|
name: activerecord
|
217
|
-
requirement: &
|
228
|
+
requirement: &2156555880 !ruby/object:Gem::Requirement
|
218
229
|
none: false
|
219
230
|
requirements:
|
220
231
|
- - ! '>='
|
@@ -222,10 +233,10 @@ dependencies:
|
|
222
233
|
version: 3.0.10
|
223
234
|
type: :development
|
224
235
|
prerelease: false
|
225
|
-
version_requirements: *
|
236
|
+
version_requirements: *2156555880
|
226
237
|
- !ruby/object:Gem::Dependency
|
227
238
|
name: simplecov
|
228
|
-
requirement: &
|
239
|
+
requirement: &2156554720 !ruby/object:Gem::Requirement
|
229
240
|
none: false
|
230
241
|
requirements:
|
231
242
|
- - ! '>='
|
@@ -233,10 +244,10 @@ dependencies:
|
|
233
244
|
version: '0'
|
234
245
|
type: :development
|
235
246
|
prerelease: false
|
236
|
-
version_requirements: *
|
247
|
+
version_requirements: *2156554720
|
237
248
|
- !ruby/object:Gem::Dependency
|
238
249
|
name: simplecov-rcov
|
239
|
-
requirement: &
|
250
|
+
requirement: &2156553700 !ruby/object:Gem::Requirement
|
240
251
|
none: false
|
241
252
|
requirements:
|
242
253
|
- - ! '>='
|
@@ -244,10 +255,10 @@ dependencies:
|
|
244
255
|
version: '0'
|
245
256
|
type: :development
|
246
257
|
prerelease: false
|
247
|
-
version_requirements: *
|
258
|
+
version_requirements: *2156553700
|
248
259
|
- !ruby/object:Gem::Dependency
|
249
260
|
name: ci_reporter
|
250
|
-
requirement: &
|
261
|
+
requirement: &2156551580 !ruby/object:Gem::Requirement
|
251
262
|
none: false
|
252
263
|
requirements:
|
253
264
|
- - ! '>='
|
@@ -255,10 +266,10 @@ dependencies:
|
|
255
266
|
version: '0'
|
256
267
|
type: :development
|
257
268
|
prerelease: false
|
258
|
-
version_requirements: *
|
269
|
+
version_requirements: *2156551580
|
259
270
|
- !ruby/object:Gem::Dependency
|
260
271
|
name: yard
|
261
|
-
requirement: &
|
272
|
+
requirement: &2156550720 !ruby/object:Gem::Requirement
|
262
273
|
none: false
|
263
274
|
requirements:
|
264
275
|
- - ! '>='
|
@@ -266,10 +277,10 @@ dependencies:
|
|
266
277
|
version: '0'
|
267
278
|
type: :development
|
268
279
|
prerelease: false
|
269
|
-
version_requirements: *
|
280
|
+
version_requirements: *2156550720
|
270
281
|
- !ruby/object:Gem::Dependency
|
271
282
|
name: guard-rspec
|
272
|
-
requirement: &
|
283
|
+
requirement: &2156568080 !ruby/object:Gem::Requirement
|
273
284
|
none: false
|
274
285
|
requirements:
|
275
286
|
- - ! '>='
|
@@ -277,10 +288,10 @@ dependencies:
|
|
277
288
|
version: '0'
|
278
289
|
type: :development
|
279
290
|
prerelease: false
|
280
|
-
version_requirements: *
|
291
|
+
version_requirements: *2156568080
|
281
292
|
- !ruby/object:Gem::Dependency
|
282
293
|
name: guard-cucumber
|
283
|
-
requirement: &
|
294
|
+
requirement: &2156562800 !ruby/object:Gem::Requirement
|
284
295
|
none: false
|
285
296
|
requirements:
|
286
297
|
- - ! '>='
|
@@ -288,10 +299,10 @@ dependencies:
|
|
288
299
|
version: '0'
|
289
300
|
type: :development
|
290
301
|
prerelease: false
|
291
|
-
version_requirements: *
|
302
|
+
version_requirements: *2156562800
|
292
303
|
- !ruby/object:Gem::Dependency
|
293
304
|
name: ruby_gntp
|
294
|
-
requirement: &
|
305
|
+
requirement: &2156587720 !ruby/object:Gem::Requirement
|
295
306
|
none: false
|
296
307
|
requirements:
|
297
308
|
- - ! '>='
|
@@ -299,10 +310,10 @@ dependencies:
|
|
299
310
|
version: '0'
|
300
311
|
type: :development
|
301
312
|
prerelease: false
|
302
|
-
version_requirements: *
|
313
|
+
version_requirements: *2156587720
|
303
314
|
- !ruby/object:Gem::Dependency
|
304
315
|
name: cucumber
|
305
|
-
requirement: &
|
316
|
+
requirement: &2156585660 !ruby/object:Gem::Requirement
|
306
317
|
none: false
|
307
318
|
requirements:
|
308
319
|
- - ! '>='
|
@@ -310,10 +321,10 @@ dependencies:
|
|
310
321
|
version: '0'
|
311
322
|
type: :development
|
312
323
|
prerelease: false
|
313
|
-
version_requirements: *
|
324
|
+
version_requirements: *2156585660
|
314
325
|
- !ruby/object:Gem::Dependency
|
315
326
|
name: aruba
|
316
|
-
requirement: &
|
327
|
+
requirement: &2156584040 !ruby/object:Gem::Requirement
|
317
328
|
none: false
|
318
329
|
requirements:
|
319
330
|
- - ! '>='
|
@@ -321,7 +332,7 @@ dependencies:
|
|
321
332
|
version: '0'
|
322
333
|
type: :development
|
323
334
|
prerelease: false
|
324
|
-
version_requirements: *
|
335
|
+
version_requirements: *2156584040
|
325
336
|
description: Adhearsion is an open-source telephony development framework
|
326
337
|
email: dev&Adhearsion.com
|
327
338
|
executables:
|
@@ -331,6 +342,7 @@ extra_rdoc_files: []
|
|
331
342
|
files:
|
332
343
|
- .gitignore
|
333
344
|
- .rspec
|
345
|
+
- .travis.yml
|
334
346
|
- CHANGELOG.md
|
335
347
|
- EVENTS
|
336
348
|
- Gemfile
|
@@ -362,27 +374,28 @@ files:
|
|
362
374
|
- lib/adhearsion/cli_commands.rb
|
363
375
|
- lib/adhearsion/configuration.rb
|
364
376
|
- lib/adhearsion/console.rb
|
365
|
-
- lib/adhearsion/dialplan_controller.rb
|
366
377
|
- lib/adhearsion/events.rb
|
367
378
|
- lib/adhearsion/foundation/all.rb
|
368
379
|
- lib/adhearsion/foundation/custom_daemonizer.rb
|
369
380
|
- lib/adhearsion/foundation/exception_handler.rb
|
381
|
+
- lib/adhearsion/foundation/libc.rb
|
370
382
|
- lib/adhearsion/foundation/object.rb
|
371
|
-
- lib/adhearsion/foundation/synchronized_hash.rb
|
372
383
|
- lib/adhearsion/foundation/thread_safety.rb
|
373
384
|
- lib/adhearsion/generators.rb
|
374
385
|
- lib/adhearsion/generators/app/USAGE
|
375
386
|
- lib/adhearsion/generators/app/app_generator.rb
|
376
|
-
- lib/adhearsion/generators/app/templates/Gemfile
|
387
|
+
- lib/adhearsion/generators/app/templates/Gemfile.erb
|
377
388
|
- lib/adhearsion/generators/app/templates/Procfile
|
378
389
|
- lib/adhearsion/generators/app/templates/README.md
|
379
390
|
- lib/adhearsion/generators/app/templates/Rakefile
|
380
391
|
- lib/adhearsion/generators/app/templates/config/adhearsion.rb
|
381
392
|
- lib/adhearsion/generators/app/templates/config/environment.rb
|
393
|
+
- lib/adhearsion/generators/app/templates/gitignore
|
382
394
|
- lib/adhearsion/generators/app/templates/lib/simon_game.rb
|
383
395
|
- lib/adhearsion/generators/app/templates/script/ahn
|
384
396
|
- lib/adhearsion/initializer.rb
|
385
397
|
- lib/adhearsion/initializer/logging.rb
|
398
|
+
- lib/adhearsion/linux_proc_name.rb
|
386
399
|
- lib/adhearsion/logging.rb
|
387
400
|
- lib/adhearsion/menu_dsl.rb
|
388
401
|
- lib/adhearsion/menu_dsl/calculated_match.rb
|
@@ -397,7 +410,6 @@ files:
|
|
397
410
|
- lib/adhearsion/plugin.rb
|
398
411
|
- lib/adhearsion/plugin/collection.rb
|
399
412
|
- lib/adhearsion/plugin/initializer.rb
|
400
|
-
- lib/adhearsion/plugin/methods_container.rb
|
401
413
|
- lib/adhearsion/process.rb
|
402
414
|
- lib/adhearsion/punchblock_plugin.rb
|
403
415
|
- lib/adhearsion/punchblock_plugin/initializer.rb
|
@@ -406,6 +418,7 @@ files:
|
|
406
418
|
- lib/adhearsion/script_ahn_loader.rb
|
407
419
|
- lib/adhearsion/tasks.rb
|
408
420
|
- lib/adhearsion/tasks/configuration.rb
|
421
|
+
- lib/adhearsion/tasks/environment.rb
|
409
422
|
- lib/adhearsion/tasks/plugins.rb
|
410
423
|
- lib/adhearsion/tasks/testing.rb
|
411
424
|
- lib/adhearsion/version.rb
|
@@ -418,7 +431,7 @@ files:
|
|
418
431
|
- spec/adhearsion/call_spec.rb
|
419
432
|
- spec/adhearsion/calls_spec.rb
|
420
433
|
- spec/adhearsion/configuration_spec.rb
|
421
|
-
- spec/adhearsion/
|
434
|
+
- spec/adhearsion/console_spec.rb
|
422
435
|
- spec/adhearsion/events_spec.rb
|
423
436
|
- spec/adhearsion/initializer/logging_spec.rb
|
424
437
|
- spec/adhearsion/initializer_spec.rb
|
@@ -436,12 +449,14 @@ files:
|
|
436
449
|
- spec/adhearsion/plugin_spec.rb
|
437
450
|
- spec/adhearsion/process_spec.rb
|
438
451
|
- spec/adhearsion/punchblock_plugin/initializer_spec.rb
|
452
|
+
- spec/adhearsion/punchblock_plugin_spec.rb
|
439
453
|
- spec/adhearsion/router/route_spec.rb
|
440
454
|
- spec/adhearsion/router_spec.rb
|
441
455
|
- spec/adhearsion_spec.rb
|
442
456
|
- spec/spec_helper.rb
|
443
457
|
- spec/support/call_controller_test_helpers.rb
|
444
458
|
- spec/support/initializer_stubs.rb
|
459
|
+
- spec/support/logging_helpers.rb
|
445
460
|
- spec/support/punchblock_mocks.rb
|
446
461
|
homepage: http://adhearsion.com
|
447
462
|
licenses: []
|
@@ -457,7 +472,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
457
472
|
version: '0'
|
458
473
|
segments:
|
459
474
|
- 0
|
460
|
-
hash: -
|
475
|
+
hash: -2359996897687755183
|
461
476
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
462
477
|
none: false
|
463
478
|
requirements:
|
@@ -487,7 +502,7 @@ test_files:
|
|
487
502
|
- spec/adhearsion/call_spec.rb
|
488
503
|
- spec/adhearsion/calls_spec.rb
|
489
504
|
- spec/adhearsion/configuration_spec.rb
|
490
|
-
- spec/adhearsion/
|
505
|
+
- spec/adhearsion/console_spec.rb
|
491
506
|
- spec/adhearsion/events_spec.rb
|
492
507
|
- spec/adhearsion/initializer/logging_spec.rb
|
493
508
|
- spec/adhearsion/initializer_spec.rb
|
@@ -505,11 +520,13 @@ test_files:
|
|
505
520
|
- spec/adhearsion/plugin_spec.rb
|
506
521
|
- spec/adhearsion/process_spec.rb
|
507
522
|
- spec/adhearsion/punchblock_plugin/initializer_spec.rb
|
523
|
+
- spec/adhearsion/punchblock_plugin_spec.rb
|
508
524
|
- spec/adhearsion/router/route_spec.rb
|
509
525
|
- spec/adhearsion/router_spec.rb
|
510
526
|
- spec/adhearsion_spec.rb
|
511
527
|
- spec/spec_helper.rb
|
512
528
|
- spec/support/call_controller_test_helpers.rb
|
513
529
|
- spec/support/initializer_stubs.rb
|
530
|
+
- spec/support/logging_helpers.rb
|
514
531
|
- spec/support/punchblock_mocks.rb
|
515
532
|
has_rdoc:
|