adhearsion 2.3.5 → 2.4.0.beta1
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.
- checksums.yaml +4 -4
- data/.travis.yml +0 -1
- data/CHANGELOG.md +14 -0
- data/Gemfile +2 -0
- data/README.markdown +21 -2
- data/adhearsion.gemspec +5 -4
- data/features/cli_plugin.feature +41 -0
- data/features/cli_start.feature +12 -4
- data/features/step_definitions/cli_steps.rb +12 -0
- data/features/support/env.rb +1 -1
- data/features/support/utils.rb +0 -1
- data/lib/adhearsion.rb +4 -1
- data/lib/adhearsion/call.rb +92 -22
- data/lib/adhearsion/call_controller.rb +19 -15
- data/lib/adhearsion/call_controller/dial.rb +157 -25
- data/lib/adhearsion/call_controller/menu_dsl/menu_builder.rb +8 -0
- data/lib/adhearsion/call_controller/output/async_player.rb +1 -1
- data/lib/adhearsion/call_controller/output/formatter.rb +1 -1
- data/lib/adhearsion/call_controller/output/player.rb +1 -1
- data/lib/adhearsion/calls.rb +2 -0
- data/lib/adhearsion/cli_commands.rb +3 -163
- data/lib/adhearsion/cli_commands/ahn_command.rb +141 -0
- data/lib/adhearsion/cli_commands/plugin_command.rb +74 -0
- data/lib/adhearsion/cli_commands/thor_errors.rb +36 -0
- data/lib/adhearsion/console.rb +14 -6
- data/lib/adhearsion/generators/app/templates/spec/call_controllers/simon_game_spec.rb +36 -36
- data/lib/adhearsion/generators/controller/templates/spec/controller_spec.rb +1 -1
- data/lib/adhearsion/generators/plugin/templates/plugin-template.gemspec.tt +0 -1
- data/lib/adhearsion/generators/plugin/templates/spec/plugin-template/controller_methods_spec.rb.tt +1 -1
- data/lib/adhearsion/generators/plugin/templates/spec/spec_helper.rb.tt +0 -1
- data/lib/adhearsion/logging.rb +5 -1
- data/lib/adhearsion/outbound_call.rb +16 -0
- data/lib/adhearsion/punchblock_plugin.rb +0 -2
- data/lib/adhearsion/punchblock_plugin/initializer.rb +7 -12
- data/lib/adhearsion/version.rb +1 -1
- data/spec/adhearsion/call_controller/dial_spec.rb +785 -32
- data/spec/adhearsion/call_controller/menu_dsl/menu_builder_spec.rb +10 -0
- data/spec/adhearsion/call_controller/output/async_player_spec.rb +1 -1
- data/spec/adhearsion/call_controller/output/player_spec.rb +1 -1
- data/spec/adhearsion/call_controller/output_spec.rb +3 -3
- data/spec/adhearsion/call_controller/record_spec.rb +1 -1
- data/spec/adhearsion/call_controller_spec.rb +13 -9
- data/spec/adhearsion/call_spec.rb +216 -51
- data/spec/adhearsion/calls_spec.rb +1 -1
- data/spec/adhearsion/console_spec.rb +20 -9
- data/spec/adhearsion/outbound_call_spec.rb +40 -6
- data/spec/adhearsion/punchblock_plugin/initializer_spec.rb +9 -21
- data/spec/adhearsion/punchblock_plugin_spec.rb +1 -1
- data/spec/adhearsion/router_spec.rb +1 -1
- data/spec/spec_helper.rb +11 -15
- data/spec/support/call_controller_test_helpers.rb +2 -2
- data/spec/support/punchblock_mocks.rb +2 -2
- metadata +41 -16
@@ -125,7 +125,7 @@ module Adhearsion
|
|
125
125
|
|
126
126
|
it "is sends a hangup command for the call" do
|
127
127
|
call_id = call.id
|
128
|
-
PunchblockPlugin.stub :client =>
|
128
|
+
PunchblockPlugin.stub :client => double('Client')
|
129
129
|
PunchblockPlugin.client.should_receive(:execute_command).once.with(Punchblock::Command::Hangup.new, :async => true, :call_id => call_id)
|
130
130
|
|
131
131
|
subject << call
|
@@ -15,15 +15,17 @@ module Adhearsion
|
|
15
15
|
end
|
16
16
|
end
|
17
17
|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
18
|
+
unless defined? JRUBY_VERSION # These tests are not valid on JRuby
|
19
|
+
describe 'testing for readline' do
|
20
|
+
it 'should return false when detecting readline' do
|
21
|
+
Readline.should_receive(:emacs_editing_mode).once.and_return true
|
22
|
+
Console.cruby_with_readline?.should be true
|
23
|
+
end
|
23
24
|
|
24
|
-
|
25
|
-
|
26
|
-
|
25
|
+
it 'should return true when detecting libedit' do
|
26
|
+
Readline.should_receive(:emacs_editing_mode).once.and_raise NotImplementedError
|
27
|
+
Console.cruby_with_readline?.should be false
|
28
|
+
end
|
27
29
|
end
|
28
30
|
end
|
29
31
|
|
@@ -64,12 +66,21 @@ module Adhearsion
|
|
64
66
|
end
|
65
67
|
end
|
66
68
|
|
69
|
+
describe "#originate" do
|
70
|
+
it "should be an alias for Adhearsion::OutboundCall.originate" do
|
71
|
+
foo = nil
|
72
|
+
Adhearsion::OutboundCall.should_receive(:originate).once.with(:foo, :bar).and_yield
|
73
|
+
Console.originate(:foo, :bar) { foo = :bar}
|
74
|
+
foo.should == :bar
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
67
78
|
describe "#take" do
|
68
79
|
let(:call) { Call.new }
|
69
80
|
let(:call_id) { rand.to_s }
|
70
81
|
|
71
82
|
before do
|
72
|
-
Adhearsion.active_calls.clear
|
83
|
+
Adhearsion.active_calls.clear
|
73
84
|
call.stub(:id => call_id)
|
74
85
|
end
|
75
86
|
|
@@ -9,13 +9,14 @@ module Adhearsion
|
|
9
9
|
its(:id) { should be_nil }
|
10
10
|
its(:variables) { should be == {} }
|
11
11
|
|
12
|
-
let(:mock_client) {
|
12
|
+
let(:mock_client) { double 'Punchblock Client' }
|
13
13
|
|
14
14
|
before do
|
15
15
|
PunchblockPlugin::Initializer.client = mock_client
|
16
16
|
end
|
17
17
|
|
18
18
|
its(:client) { should be mock_client }
|
19
|
+
its(:start_time) { should be nil }
|
19
20
|
|
20
21
|
describe ".originate" do
|
21
22
|
let(:to) { 'sip:foo@bar.com' }
|
@@ -86,7 +87,7 @@ module Adhearsion
|
|
86
87
|
end
|
87
88
|
|
88
89
|
describe "event handlers" do
|
89
|
-
let(:response) {
|
90
|
+
let(:response) { double 'Response' }
|
90
91
|
|
91
92
|
describe "for answered events" do
|
92
93
|
let(:event) { Punchblock::Event::Answered.new }
|
@@ -96,20 +97,43 @@ module Adhearsion
|
|
96
97
|
subject.on_answer { |event| response.call event }
|
97
98
|
subject << event
|
98
99
|
end
|
100
|
+
|
101
|
+
it "should record the call start time" do
|
102
|
+
originate_time = Time.local(2008, 9, 1, 12, 0, 0)
|
103
|
+
Timecop.freeze originate_time
|
104
|
+
subject.duration.should == 0.0
|
105
|
+
|
106
|
+
mid_point_time = Time.local(2008, 9, 1, 12, 0, 20)
|
107
|
+
Timecop.freeze mid_point_time
|
108
|
+
subject.duration.should == 0.0
|
109
|
+
|
110
|
+
answer_time = Time.local(2008, 9, 1, 12, 0, 40)
|
111
|
+
Timecop.freeze answer_time
|
112
|
+
subject << event
|
113
|
+
subject.start_time.should == answer_time
|
114
|
+
|
115
|
+
later_time = Time.local(2008, 9, 1, 12, 0, 50)
|
116
|
+
Timecop.freeze later_time
|
117
|
+
subject.duration.should == 10.0
|
118
|
+
end
|
99
119
|
end
|
100
120
|
end
|
101
121
|
|
102
122
|
describe "#dial" do
|
103
123
|
def expect_message_waiting_for_response(message)
|
104
124
|
subject.wrapped_object.should_receive(:write_and_await_response).once.with(message, 60).and_return do
|
125
|
+
message.transport = transport
|
105
126
|
message.target_call_id = call_id
|
127
|
+
message.domain = domain
|
106
128
|
message
|
107
129
|
end
|
108
130
|
end
|
109
131
|
|
110
|
-
let(:
|
111
|
-
let(:
|
112
|
-
let(:
|
132
|
+
let(:transport) { 'footransport' }
|
133
|
+
let(:call_id) { 'abc123' }
|
134
|
+
let(:domain) { 'rayo.net' }
|
135
|
+
let(:to) { '+1800 555-0199' }
|
136
|
+
let(:from) { '+1800 555-0122' }
|
113
137
|
|
114
138
|
let(:expected_dial_command) { Punchblock::Command::Dial.new(:to => to, :from => from) }
|
115
139
|
|
@@ -126,11 +150,21 @@ module Adhearsion
|
|
126
150
|
subject.dial_command.should be == expected_dial_command
|
127
151
|
end
|
128
152
|
|
129
|
-
it "should set the
|
153
|
+
it "should set the URI from the reference" do
|
154
|
+
subject.dial to, :from => from
|
155
|
+
subject.uri.should be == "footransport:abc123@rayo.net"
|
156
|
+
end
|
157
|
+
|
158
|
+
it "should set the call ID from the reference" do
|
130
159
|
subject.dial to, :from => from
|
131
160
|
subject.id.should be == call_id
|
132
161
|
end
|
133
162
|
|
163
|
+
it "should set the call domain from the reference" do
|
164
|
+
subject.dial to, :from => from
|
165
|
+
subject.domain.should be == domain
|
166
|
+
end
|
167
|
+
|
134
168
|
it "should set the to from the dial command" do
|
135
169
|
subject.dial to, :from => from
|
136
170
|
subject.to.should be == to
|
@@ -15,8 +15,6 @@ module Adhearsion
|
|
15
15
|
config.port = nil
|
16
16
|
config.certs_directory = nil
|
17
17
|
config.root_domain = nil
|
18
|
-
config.calls_domain = nil
|
19
|
-
config.mixers_domain = nil
|
20
18
|
config.connection_timeout = 60
|
21
19
|
config.reconnect_attempts = 1.0/0.0
|
22
20
|
config.reconnect_timer = 5
|
@@ -36,8 +34,6 @@ module Adhearsion
|
|
36
34
|
config.port = options[:port] if options.has_key?(:port)
|
37
35
|
config.certs_directory = options[:certs_directory] if options.has_key?(:certs_directory)
|
38
36
|
config.root_domain = options[:root_domain] if options.has_key?(:root_domain)
|
39
|
-
config.calls_domain = options[:calls_domain] if options.has_key?(:calls_domain)
|
40
|
-
config.mixers_domain = options[:mixers_domain] if options.has_key?(:mixers_domain)
|
41
37
|
config.connection_timeout = options[:connection_timeout] if options.has_key?(:connection_timeout)
|
42
38
|
config.reconnect_attempts = options[:reconnect_attempts] if options.has_key?(:reconnect_attempts)
|
43
39
|
config.reconnect_timer = options[:reconnect_timer] if options.has_key?(:reconnect_timer)
|
@@ -52,7 +48,7 @@ module Adhearsion
|
|
52
48
|
let(:call_id) { rand }
|
53
49
|
let(:offer) { Punchblock::Event::Offer.new :target_call_id => call_id }
|
54
50
|
let(:mock_call) { Call.new }
|
55
|
-
let(:mock_client) {
|
51
|
+
let(:mock_client) { double 'Client' }
|
56
52
|
|
57
53
|
before do
|
58
54
|
mock_call.stub :id => call_id
|
@@ -90,14 +86,6 @@ module Adhearsion
|
|
90
86
|
subject.root_domain.should be_nil
|
91
87
|
end
|
92
88
|
|
93
|
-
it "should set properly the calls_domain value" do
|
94
|
-
subject.calls_domain.should be_nil
|
95
|
-
end
|
96
|
-
|
97
|
-
it "should set properly the mixers_domain value" do
|
98
|
-
subject.mixers_domain.should be_nil
|
99
|
-
end
|
100
|
-
|
101
89
|
it "should properly set the reconnect_attempts value" do
|
102
90
|
subject.reconnect_attempts.should be == 1.0/0.0
|
103
91
|
end
|
@@ -123,14 +111,14 @@ module Adhearsion
|
|
123
111
|
end
|
124
112
|
|
125
113
|
it "starts the client with any overridden settings" do
|
126
|
-
Punchblock::Connection::XMPP.should_receive(:new).once.with(username: 'userb@127.0.0.1/foo', password: '123', host: 'foo.bar.com', port: 200, certs: '/foo/bar', connection_timeout: 20, root_domain: 'foo.com',
|
127
|
-
initialize_punchblock username: 'userb@127.0.0.1/foo', password: '123', host: 'foo.bar.com', port: 200, certs_directory: '/foo/bar', connection_timeout: 20, root_domain: 'foo.com',
|
114
|
+
Punchblock::Connection::XMPP.should_receive(:new).once.with(username: 'userb@127.0.0.1/foo', password: '123', host: 'foo.bar.com', port: 200, certs: '/foo/bar', connection_timeout: 20, root_domain: 'foo.com', media_engine: :swift, default_voice: :hal).and_return mock_client
|
115
|
+
initialize_punchblock username: 'userb@127.0.0.1/foo', password: '123', host: 'foo.bar.com', port: 200, certs_directory: '/foo/bar', connection_timeout: 20, root_domain: 'foo.com', media_engine: :swift, default_voice: :hal
|
128
116
|
end
|
129
117
|
|
130
118
|
describe "#connect" do
|
131
119
|
it 'should block until the connection is established' do
|
132
120
|
reset_default_config
|
133
|
-
mock_connection =
|
121
|
+
mock_connection = double :mock_connection
|
134
122
|
mock_connection.should_receive(:register_event_handler).once
|
135
123
|
Punchblock::Client.should_receive(:new).once.and_return mock_connection
|
136
124
|
mock_connection.should_receive(:run).once
|
@@ -184,7 +172,7 @@ module Adhearsion
|
|
184
172
|
end
|
185
173
|
|
186
174
|
describe 'using Asterisk' do
|
187
|
-
let(:overrides) { {:username => 'test', :password => '123', :host => 'foo.bar.com', :port => 200, :certs => nil, :connection_timeout => 20, :root_domain => 'foo.com', :
|
175
|
+
let(:overrides) { {:username => 'test', :password => '123', :host => 'foo.bar.com', :port => 200, :certs => nil, :connection_timeout => 20, :root_domain => 'foo.com', :media_engine => :swift, :default_voice => :hal} }
|
188
176
|
|
189
177
|
it 'should start an Asterisk PB connection' do
|
190
178
|
Punchblock::Connection::Asterisk.should_receive(:new).once.with(overrides).and_return mock_client
|
@@ -193,7 +181,7 @@ module Adhearsion
|
|
193
181
|
end
|
194
182
|
|
195
183
|
describe 'using FreeSWITCH' do
|
196
|
-
let(:overrides) { {:username => 'test', :password => '123', :host => 'foo.bar.com', :port => 200, :certs => nil, :connection_timeout => 20, :root_domain => 'foo.com', :
|
184
|
+
let(:overrides) { {:username => 'test', :password => '123', :host => 'foo.bar.com', :port => 200, :certs => nil, :connection_timeout => 20, :root_domain => 'foo.com', :media_engine => :swift, :default_voice => :hal} }
|
197
185
|
|
198
186
|
it 'should start a FreeSWITCH PB connection' do
|
199
187
|
Punchblock::Connection::Freeswitch.should_receive(:new).once.with(overrides).and_return mock_client
|
@@ -255,8 +243,8 @@ module Adhearsion
|
|
255
243
|
end
|
256
244
|
|
257
245
|
describe "dispatching a component event" do
|
258
|
-
let(:component) {
|
259
|
-
let(:mock_event) {
|
246
|
+
let(:component) { double 'ComponentNode' }
|
247
|
+
let(:mock_event) { double 'Event' }
|
260
248
|
|
261
249
|
before { mock_event.stub target_call_id: call_id, source: component }
|
262
250
|
|
@@ -271,7 +259,7 @@ module Adhearsion
|
|
271
259
|
end
|
272
260
|
|
273
261
|
describe "dispatching a call event" do
|
274
|
-
let(:mock_event) {
|
262
|
+
let(:mock_event) { double 'Event' }
|
275
263
|
|
276
264
|
before { mock_event.stub target_call_id: call_id }
|
277
265
|
|
@@ -13,7 +13,7 @@ module Adhearsion
|
|
13
13
|
describe '#execute_component' do
|
14
14
|
let(:message) { Punchblock::Command::Accept.new }
|
15
15
|
let(:response) { :foo }
|
16
|
-
let(:mock_client) {
|
16
|
+
let(:mock_client) { double 'Client' }
|
17
17
|
|
18
18
|
let(:execute_expectation) { PunchblockPlugin.client.should_receive(:execute_command).once }
|
19
19
|
|
data/spec/spec_helper.rb
CHANGED
@@ -2,27 +2,15 @@
|
|
2
2
|
|
3
3
|
$testing = true
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
require 'simplecov-rcov'
|
8
|
-
class SimpleCov::Formatter::MergedFormatter
|
9
|
-
def format(result)
|
10
|
-
SimpleCov::Formatter::HTMLFormatter.new.format(result)
|
11
|
-
SimpleCov::Formatter::RcovFormatter.new.format(result)
|
12
|
-
end
|
13
|
-
end
|
14
|
-
SimpleCov.formatter = SimpleCov::Formatter::MergedFormatter
|
15
|
-
SimpleCov.start do
|
16
|
-
add_filter "/vendor/"
|
17
|
-
add_filter "/spec/"
|
18
|
-
end
|
19
|
-
end
|
5
|
+
require 'coveralls'
|
6
|
+
Coveralls.wear!
|
20
7
|
|
21
8
|
%w{
|
22
9
|
bundler/setup
|
23
10
|
active_support
|
24
11
|
stringio
|
25
12
|
countdownlatch
|
13
|
+
timecop
|
26
14
|
adhearsion
|
27
15
|
}.each { |f| require f }
|
28
16
|
|
@@ -39,6 +27,10 @@ RSpec.configure do |config|
|
|
39
27
|
config.run_all_when_everything_filtered = true
|
40
28
|
config.color_enabled = true
|
41
29
|
|
30
|
+
config.mock_with :rspec do |mocks|
|
31
|
+
mocks.add_stub_and_should_receive_to Celluloid::AbstractProxy, ThreadSafeArray
|
32
|
+
end
|
33
|
+
|
42
34
|
config.before :suite do
|
43
35
|
Adhearsion::Logging.start Adhearsion::Logging.default_appenders, :trace, Adhearsion.config.platform.logging.formatter
|
44
36
|
end
|
@@ -46,6 +38,10 @@ RSpec.configure do |config|
|
|
46
38
|
config.before :each do
|
47
39
|
Adhearsion.router = nil
|
48
40
|
end
|
41
|
+
|
42
|
+
config.after :each do
|
43
|
+
Timecop.return
|
44
|
+
end
|
49
45
|
end
|
50
46
|
|
51
47
|
Adhearsion::Events.exeption do |e|
|
@@ -11,7 +11,7 @@ module CallControllerTestHelpers
|
|
11
11
|
test_case.subject { controller }
|
12
12
|
|
13
13
|
test_case.before do
|
14
|
-
call.stub :write_command => true, :id => call_id
|
14
|
+
call.wrapped_object.stub :write_command => true, :id => call_id
|
15
15
|
end
|
16
16
|
end
|
17
17
|
|
@@ -50,7 +50,7 @@ module CallControllerTestHelpers
|
|
50
50
|
|
51
51
|
def expect_input_component_complete_event(utterance)
|
52
52
|
complete_event = Punchblock::Event::Complete.new
|
53
|
-
complete_event.stub reason:
|
53
|
+
complete_event.stub reason: double(utterance: utterance, name: :input)
|
54
54
|
Punchblock::Component::Input.any_instance.stub(complete?: true, complete_event: complete_event)
|
55
55
|
end
|
56
56
|
end
|
@@ -2,8 +2,8 @@
|
|
2
2
|
|
3
3
|
def mock_offer(id = nil, headers = {})
|
4
4
|
id ||= rand
|
5
|
-
|
6
|
-
offer.stub :call_id => id, :
|
5
|
+
double("Offer: #{id}").tap do |offer|
|
6
|
+
offer.stub :call_id => id, :headers => headers
|
7
7
|
offer.as_null_object
|
8
8
|
end
|
9
9
|
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.
|
4
|
+
version: 2.4.0.beta1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jay Phillips
|
@@ -11,22 +11,28 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2013-
|
14
|
+
date: 2013-08-21 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: activesupport
|
18
18
|
requirement: !ruby/object:Gem::Requirement
|
19
19
|
requirements:
|
20
|
-
- -
|
20
|
+
- - '>='
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version:
|
22
|
+
version: 3.0.0
|
23
|
+
- - <
|
24
|
+
- !ruby/object:Gem::Version
|
25
|
+
version: 5.0.0
|
23
26
|
type: :runtime
|
24
27
|
prerelease: false
|
25
28
|
version_requirements: !ruby/object:Gem::Requirement
|
26
29
|
requirements:
|
27
|
-
- -
|
30
|
+
- - '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 3.0.0
|
33
|
+
- - <
|
28
34
|
- !ruby/object:Gem::Version
|
29
|
-
version:
|
35
|
+
version: 5.0.0
|
30
36
|
- !ruby/object:Gem::Dependency
|
31
37
|
name: adhearsion-loquacious
|
32
38
|
requirement: !ruby/object:Gem::Requirement
|
@@ -173,14 +179,14 @@ dependencies:
|
|
173
179
|
requirements:
|
174
180
|
- - ~>
|
175
181
|
- !ruby/object:Gem::Version
|
176
|
-
version:
|
182
|
+
version: 2.0.0.beta1
|
177
183
|
type: :runtime
|
178
184
|
prerelease: false
|
179
185
|
version_requirements: !ruby/object:Gem::Requirement
|
180
186
|
requirements:
|
181
187
|
- - ~>
|
182
188
|
- !ruby/object:Gem::Version
|
183
|
-
version:
|
189
|
+
version: 2.0.0.beta1
|
184
190
|
- !ruby/object:Gem::Dependency
|
185
191
|
name: rake
|
186
192
|
requirement: !ruby/object:Gem::Requirement
|
@@ -201,14 +207,14 @@ dependencies:
|
|
201
207
|
requirements:
|
202
208
|
- - ~>
|
203
209
|
- !ruby/object:Gem::Version
|
204
|
-
version: '
|
210
|
+
version: '2.0'
|
205
211
|
type: :runtime
|
206
212
|
prerelease: false
|
207
213
|
version_requirements: !ruby/object:Gem::Requirement
|
208
214
|
requirements:
|
209
215
|
- - ~>
|
210
216
|
- !ruby/object:Gem::Version
|
211
|
-
version: '
|
217
|
+
version: '2.0'
|
212
218
|
- !ruby/object:Gem::Dependency
|
213
219
|
name: thor
|
214
220
|
requirement: !ruby/object:Gem::Requirement
|
@@ -308,7 +314,7 @@ dependencies:
|
|
308
314
|
- !ruby/object:Gem::Version
|
309
315
|
version: '2.11'
|
310
316
|
- !ruby/object:Gem::Dependency
|
311
|
-
name:
|
317
|
+
name: simplecov
|
312
318
|
requirement: !ruby/object:Gem::Requirement
|
313
319
|
requirements:
|
314
320
|
- - '>='
|
@@ -322,7 +328,7 @@ dependencies:
|
|
322
328
|
- !ruby/object:Gem::Version
|
323
329
|
version: '0'
|
324
330
|
- !ruby/object:Gem::Dependency
|
325
|
-
name: simplecov
|
331
|
+
name: simplecov-rcov
|
326
332
|
requirement: !ruby/object:Gem::Requirement
|
327
333
|
requirements:
|
328
334
|
- - '>='
|
@@ -336,7 +342,7 @@ dependencies:
|
|
336
342
|
- !ruby/object:Gem::Version
|
337
343
|
version: '0'
|
338
344
|
- !ruby/object:Gem::Dependency
|
339
|
-
name:
|
345
|
+
name: yard
|
340
346
|
requirement: !ruby/object:Gem::Requirement
|
341
347
|
requirements:
|
342
348
|
- - '>='
|
@@ -350,7 +356,21 @@ dependencies:
|
|
350
356
|
- !ruby/object:Gem::Version
|
351
357
|
version: '0'
|
352
358
|
- !ruby/object:Gem::Dependency
|
353
|
-
name:
|
359
|
+
name: coveralls
|
360
|
+
requirement: !ruby/object:Gem::Requirement
|
361
|
+
requirements:
|
362
|
+
- - '>='
|
363
|
+
- !ruby/object:Gem::Version
|
364
|
+
version: '0'
|
365
|
+
type: :development
|
366
|
+
prerelease: false
|
367
|
+
version_requirements: !ruby/object:Gem::Requirement
|
368
|
+
requirements:
|
369
|
+
- - '>='
|
370
|
+
- !ruby/object:Gem::Version
|
371
|
+
version: '0'
|
372
|
+
- !ruby/object:Gem::Dependency
|
373
|
+
name: timecop
|
354
374
|
requirement: !ruby/object:Gem::Requirement
|
355
375
|
requirements:
|
356
376
|
- - '>='
|
@@ -389,6 +409,7 @@ files:
|
|
389
409
|
- features/cli_create.feature
|
390
410
|
- features/cli_daemon.feature
|
391
411
|
- features/cli_generate.feature
|
412
|
+
- features/cli_plugin.feature
|
392
413
|
- features/cli_restart.feature
|
393
414
|
- features/cli_start.feature
|
394
415
|
- features/cli_stop.feature
|
@@ -423,6 +444,9 @@ files:
|
|
423
444
|
- lib/adhearsion/calls.rb
|
424
445
|
- lib/adhearsion/cli.rb
|
425
446
|
- lib/adhearsion/cli_commands.rb
|
447
|
+
- lib/adhearsion/cli_commands/ahn_command.rb
|
448
|
+
- lib/adhearsion/cli_commands/plugin_command.rb
|
449
|
+
- lib/adhearsion/cli_commands/thor_errors.rb
|
426
450
|
- lib/adhearsion/configuration.rb
|
427
451
|
- lib/adhearsion/console.rb
|
428
452
|
- lib/adhearsion/events.rb
|
@@ -547,9 +571,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
547
571
|
version: '0'
|
548
572
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
549
573
|
requirements:
|
550
|
-
- - '
|
574
|
+
- - '>'
|
551
575
|
- !ruby/object:Gem::Version
|
552
|
-
version:
|
576
|
+
version: 1.3.1
|
553
577
|
requirements: []
|
554
578
|
rubyforge_project:
|
555
579
|
rubygems_version: 2.0.3
|
@@ -562,6 +586,7 @@ test_files:
|
|
562
586
|
- features/cli_create.feature
|
563
587
|
- features/cli_daemon.feature
|
564
588
|
- features/cli_generate.feature
|
589
|
+
- features/cli_plugin.feature
|
565
590
|
- features/cli_restart.feature
|
566
591
|
- features/cli_start.feature
|
567
592
|
- features/cli_stop.feature
|