adhearsion 2.0.0.alpha1 → 2.0.0.alpha2
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 +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:
|