asir 1.2.10 → 1.2.11
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +15 -0
- data/ChangeLog +13 -7
- data/Guardfile +7 -0
- data/asir.gemspec +4 -1
- data/example/asir_control.sh +5 -1
- data/lib/asir/main.rb +15 -8
- data/lib/asir/transport.rb +35 -20
- data/lib/asir/version.rb +1 -1
- data/spec/client_spec.rb +1 -1
- data/spec/demux_spec.rb +1 -1
- data/spec/example_spec.rb +1 -1
- data/spec/lib/asir/main_spec.rb +57 -0
- data/spec/message_spec.rb +1 -3
- data/spec/performance_spec.rb +7 -6
- data/spec/spec_helper.rb +7 -0
- data/spec/transport_spec.rb +1 -1
- data/spec/yaml_spec.rb +1 -1
- metadata +52 -27
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
ZjlhNjgyMDRmYjU4ZDkwYTFmMzUzYjUzNGQwODkzMDBjYzgzOTIzOQ==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
M2JiODU1OGU1NzUyZDY0NDE4ZDkyNTYwMTYzZjFiMTI5Zjc0Njg0Yg==
|
7
|
+
!binary "U0hBNTEy":
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
ODZmMmIyMGNmOGY1MmU4MTVkMGY0NDYwNDE5YTYyNzE2NTQ5NDI0ZDBmYTg0
|
10
|
+
ODliMDQ0ZjEwY2ZkNGZjNzA0MGQzODljNWNkMzI3NDA3ZTZmNDEwMjBhN2Rk
|
11
|
+
NzZmM2QzZDJjMzkyOGQxZWM4NTVlOGJhM2YxMDdhZmIwYmRhM2M=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
N2Q5MmY0ZTI4NmE3NGY3OGMxMjI1NTAzNmE3MjU2MTg4YWE5YzYzOTljYjM5
|
14
|
+
ZDZkOTEzOGM2MGY3MmI2YTRhNWYzNDQxMGViOWM2MThiNTI0MjMzODIzMWYy
|
15
|
+
ZDM3M2Q5MDA0OGVjMGE2ODI2NTMzNzRmNzgxYTAwYjIxZjkzMGE=
|
data/ChangeLog
CHANGED
@@ -1,32 +1,38 @@
|
|
1
|
-
|
1
|
+
2013-09-26 Kurt A. Stephens <ks.github@kurtstephens.com>
|
2
|
+
|
3
|
+
* v1.2.11: New Version: Bug Fixes.
|
4
|
+
* bin/asir: Wrap Transport#run_server! with signal handlers.
|
5
|
+
* bin/asir: Fix handling of pid files.
|
6
|
+
|
7
|
+
2013-06-20 Kurt A. Stephens <ks.github@kurtstephens.com>
|
2
8
|
|
3
9
|
* v1.2.10: New Version: New Functionality.
|
4
10
|
* Transport#around_serve_message callback.
|
5
11
|
|
6
|
-
|
12
|
+
2013-06-19 Kurt A. Stephens <ks.github@kurtstephens.com>
|
7
13
|
|
8
14
|
* v1.2.9: New Version: Fixes, New Functionality.
|
9
15
|
* ASIR::Error::Unforwardable.unforwardable is deprecated; use .modules.
|
10
16
|
* ASIR::AdaptiveValue: refactor ASIR::RetryBehavior sleep values.
|
11
17
|
* BUG: Transport#after_receive_message.call takes a Message::State.
|
12
18
|
|
13
|
-
|
19
|
+
2013-03-14 Kurt A. Stephens <ks.github@kurtstephens.com>
|
14
20
|
|
15
21
|
* v1.2.8: New Version: Additional functionality.
|
16
22
|
* Support #conduit_host.
|
17
23
|
|
18
|
-
|
24
|
+
2013-03-14 Kurt A. Stephens <ks.github@kurtstephens.com>
|
19
25
|
|
20
26
|
* v1.2.7: New Version: Fixed for 1.9.2-p320.
|
21
27
|
* YAML/Syck protocol changes.
|
22
28
|
* New API: Transport#conduit_status.
|
23
29
|
|
24
|
-
|
30
|
+
2013-03-13 Kurt A. Stephens <ks.github@kurtstephens.com>
|
25
31
|
|
26
32
|
* v1.2.6: New Version: additional functionality.
|
27
33
|
* PayloadIO::UnexpectedResponse has #expected, #received attributes.
|
28
34
|
|
29
|
-
|
35
|
+
2013-03-12 Kurt A. Stephens <ks.github@kurtstephens.com>
|
30
36
|
|
31
37
|
* v1.2.5: New Version: bin/asir.
|
32
38
|
* Do not log error if pid_file does not exist.
|
@@ -35,7 +41,7 @@
|
|
35
41
|
* export ASIR_CONDUIT=1 for asir start KIND conduit.
|
36
42
|
* Remove pid_file if process is not running after asir stop.
|
37
43
|
|
38
|
-
|
44
|
+
2013-02-01 Kurt A. Stephens <ks.github@kurtstephens.com>
|
39
45
|
|
40
46
|
* v1.2.4: New Version: Bug fixes.
|
41
47
|
* Handle STDIO properly in potentially daemonized processes.
|
data/Guardfile
ADDED
data/asir.gemspec
CHANGED
@@ -27,8 +27,11 @@ Gem::Specification.new do |s|
|
|
27
27
|
s.add_dependency "rack", "~> 1.4.1"
|
28
28
|
|
29
29
|
s.add_development_dependency 'rake', '>= 0.9.0'
|
30
|
-
s.add_development_dependency 'rspec', '~> 2.
|
30
|
+
s.add_development_dependency 'rspec', '~> 2.14.1'
|
31
|
+
s.add_development_dependency 'rspec-mocks', '~> 2.14.3'
|
31
32
|
s.add_development_dependency 'simplecov', '>= 0.1'
|
33
|
+
s.add_development_dependency 'guard', '~> 1.8'
|
34
|
+
s.add_development_dependency 'guard-rspec', '~> 3.1'
|
32
35
|
if (RUBY_ENGINE rescue 'UNKNOWN') =~ /jruby/i
|
33
36
|
s.add_development_dependency 'spoon', '>= 0.0.1'
|
34
37
|
end
|
data/example/asir_control.sh
CHANGED
@@ -3,7 +3,8 @@ set -x
|
|
3
3
|
dir="$(cd "$(dirname $0)" && /bin/pwd)"
|
4
4
|
PATH="$dir/../bin:$PATH"
|
5
5
|
export RUBYLIB="$dir/../example:$dir/../lib"
|
6
|
-
asir="asir
|
6
|
+
asir="asir config_rb=$dir/config/asir_config.rb"
|
7
|
+
# asir="$asir verbose=9"
|
7
8
|
args="$*"
|
8
9
|
args="${args:-ALL}"
|
9
10
|
# set -e
|
@@ -28,6 +29,9 @@ $asir stop webrick worker
|
|
28
29
|
sleep 1
|
29
30
|
$asir pid webrick worker
|
30
31
|
|
32
|
+
log_file="$($asir log webrick worker)"
|
33
|
+
echo log_file="$log_file"
|
34
|
+
cat $log_file
|
31
35
|
;;
|
32
36
|
esac
|
33
37
|
|
data/lib/asir/main.rb
CHANGED
@@ -98,7 +98,7 @@ class Main
|
|
98
98
|
$stderr.puts " sel = #{sel.inspect}"
|
99
99
|
end
|
100
100
|
send(sel)
|
101
|
-
rescue ::
|
101
|
+
rescue ::StandardError => exc
|
102
102
|
$stderr.puts "#{log_str} ERROR\n#{exc.inspect}\n #{exc.backtrace * "\n "}"
|
103
103
|
self.exit_code += 1
|
104
104
|
raise
|
@@ -261,6 +261,7 @@ END
|
|
261
261
|
end
|
262
262
|
|
263
263
|
def write_pid_file! pid
|
264
|
+
log "pid_file #{pid_file}"
|
264
265
|
File.open(pid_file, "w+") { | o | o.puts pid }
|
265
266
|
File.chmod(0666, pid_file) rescue nil
|
266
267
|
end
|
@@ -299,7 +300,7 @@ END
|
|
299
300
|
File.unlink(pid_file) rescue nil
|
300
301
|
end
|
301
302
|
self
|
302
|
-
rescue ::
|
303
|
+
rescue ::StandardError => exc
|
303
304
|
msg = "ERROR pid #{$$}\n#{exc.inspect}\n #{exc.backtrace * "\n "}"
|
304
305
|
log msg, :stderr
|
305
306
|
raise
|
@@ -307,8 +308,9 @@ END
|
|
307
308
|
end
|
308
309
|
|
309
310
|
def kill_server!
|
310
|
-
log "#{log_str} kill"
|
311
311
|
pid = server_pid
|
312
|
+
log "#{log_str} pid_file #{pid_file}"
|
313
|
+
log "#{log_str} kill pid #{pid}"
|
312
314
|
case stop_pid! pid
|
313
315
|
when :not_running
|
314
316
|
File.unlink(pid_file) rescue nil
|
@@ -328,8 +330,11 @@ END
|
|
328
330
|
end
|
329
331
|
|
330
332
|
def server_pid
|
331
|
-
File.exist?(pid_file)
|
332
|
-
File.read(pid_file).chomp
|
333
|
+
File.exist?(pid_file) and
|
334
|
+
pid = File.read(pid_file).chomp! and
|
335
|
+
pid = pid.to_i and
|
336
|
+
pid > 1 and
|
337
|
+
pid
|
333
338
|
end
|
334
339
|
|
335
340
|
def _create_transport default_class
|
@@ -379,7 +384,9 @@ END
|
|
379
384
|
$0 = "#{old_arg0} #{transport.message_count} #{message.identifier}"
|
380
385
|
after_receive_message.call(transport, state)
|
381
386
|
end
|
382
|
-
transport.
|
387
|
+
transport.with_server_signals! do
|
388
|
+
transport.run_server!
|
389
|
+
end
|
383
390
|
self
|
384
391
|
end
|
385
392
|
|
@@ -421,12 +428,12 @@ END
|
|
421
428
|
def process_running? pid
|
422
429
|
case pid
|
423
430
|
when false, nil
|
431
|
+
pid
|
424
432
|
when Integer
|
425
|
-
Process.kill(0, pid)
|
433
|
+
pid > 1 && Process.kill(0, pid) && pid
|
426
434
|
else
|
427
435
|
raise TypeError, "expected false, nil, Integer; given #{pid.inspect}"
|
428
436
|
end
|
429
|
-
pid
|
430
437
|
rescue ::Errno::ESRCH
|
431
438
|
false
|
432
439
|
rescue ::Exception => exc
|
data/lib/asir/transport.rb
CHANGED
@@ -211,36 +211,51 @@ module ASIR
|
|
211
211
|
def stop! force = false
|
212
212
|
@running = false
|
213
213
|
stop_server! if respond_to?(:stop_server!)
|
214
|
-
|
214
|
+
if force || @force_stop
|
215
|
+
exc = @signal_exception || Error::Terminate.new("#{self} stop!")
|
216
|
+
@signal_exception = nil
|
217
|
+
raise exc
|
218
|
+
end
|
215
219
|
self
|
216
220
|
end
|
217
221
|
|
218
222
|
def with_force_stop!
|
219
223
|
force_stop_save = @force_stop
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
+
begin
|
225
|
+
@force_stop = true
|
226
|
+
yield
|
227
|
+
ensure
|
228
|
+
@force_stop = force_stop_save
|
229
|
+
end
|
224
230
|
end
|
225
231
|
|
226
232
|
def with_server_signals!
|
227
233
|
old_trap = { }
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
@
|
234
|
+
begin
|
235
|
+
in_with_server_signals = @in_with_server_signals
|
236
|
+
unless in_with_server_signals
|
237
|
+
@in_with_server_signals = true
|
238
|
+
[ "TERM", "HUP" ].each do | sig |
|
239
|
+
trap = proc do | *args |
|
240
|
+
@signal_exception = ::ASIR::Error::Terminate.
|
241
|
+
new("#{self} SIG#{sig} #{args.inspect} in #{__FILE__}:#{__LINE__}")
|
242
|
+
stop!
|
243
|
+
end
|
244
|
+
old_trap[sig] = Signal.trap(sig, trap)
|
245
|
+
end
|
246
|
+
end
|
247
|
+
yield
|
248
|
+
unless in_with_server_signals
|
249
|
+
if exc = @signal_exception
|
250
|
+
@signal_exception = nil
|
251
|
+
raise exc
|
252
|
+
end
|
253
|
+
end
|
254
|
+
ensure
|
255
|
+
# $stderr.puts "old_trap = #{old_trap.inspect}"
|
256
|
+
old_trap.each do | sig, trap |
|
257
|
+
Signal.trap(sig, trap) rescue nil
|
232
258
|
end
|
233
|
-
old_trap[sig] = Signal.trap(sig, trap)
|
234
|
-
end
|
235
|
-
yield
|
236
|
-
if exc = @signal_exception
|
237
|
-
@signal_exception = nil
|
238
|
-
raise exc
|
239
|
-
end
|
240
|
-
ensure
|
241
|
-
# $stderr.puts "old_trap = #{old_trap.inspect}"
|
242
|
-
old_trap.each do | sig, trap |
|
243
|
-
Signal.trap(sig, trap) rescue nil
|
244
259
|
end
|
245
260
|
end
|
246
261
|
|
data/lib/asir/version.rb
CHANGED
data/spec/client_spec.rb
CHANGED
data/spec/demux_spec.rb
CHANGED
data/spec/example_spec.rb
CHANGED
@@ -0,0 +1,57 @@
|
|
1
|
+
require 'asir/main'
|
2
|
+
|
3
|
+
describe ASIR::Main do
|
4
|
+
let(:main) { ASIR::Main.new }
|
5
|
+
|
6
|
+
context "#server_pid" do
|
7
|
+
let(:pid_file) do
|
8
|
+
pid_file = "/tmp/#{$$}.#{rand(10000)}.pid"
|
9
|
+
File.exist?(pid_file).should == false
|
10
|
+
pid_file
|
11
|
+
end
|
12
|
+
before(:each) { allow(main).to receive(:pid_file).and_return(pid_file) }
|
13
|
+
after(:each) { File.unlink(pid_file) rescue nil }
|
14
|
+
|
15
|
+
it "should return non-true if pid_file does not exist" do
|
16
|
+
main.server_pid.should == false
|
17
|
+
end
|
18
|
+
|
19
|
+
it "should return non-true if pid_file is empty" do
|
20
|
+
File.open(pid_file, "w+") { | fh | }
|
21
|
+
main.server_pid.should == nil
|
22
|
+
end
|
23
|
+
|
24
|
+
it "should return non-true if pid_file is empty" do
|
25
|
+
File.open(pid_file, "w+") { | fh | }
|
26
|
+
main.server_pid.should == nil
|
27
|
+
end
|
28
|
+
|
29
|
+
it "should return non-true if pid_file has an empty line" do
|
30
|
+
File.open(pid_file, "w+") { | fh | fh.puts "" }
|
31
|
+
main.server_pid.should == false
|
32
|
+
end
|
33
|
+
|
34
|
+
it "should return non-true if pid_file is broken" do
|
35
|
+
File.open(pid_file, "w+") { | fh | "asdfsd" }
|
36
|
+
main.server_pid.should == nil
|
37
|
+
end
|
38
|
+
|
39
|
+
it "should return pid if pid_file contains a pid" do
|
40
|
+
File.open(pid_file, "w+") { | fh | fh.puts($$.to_s) }
|
41
|
+
main.server_pid.should == $$
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
context "#process_running?" do
|
46
|
+
it "should return false for invalid values." do
|
47
|
+
main.process_running?(nil).should == nil
|
48
|
+
main.process_running?(false).should == false
|
49
|
+
main.process_running?(0).should == false
|
50
|
+
main.process_running?(1).should == false
|
51
|
+
end
|
52
|
+
|
53
|
+
it "should return pid for a live process." do
|
54
|
+
main.process_running?($$).should == $$
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
data/spec/message_spec.rb
CHANGED
data/spec/performance_spec.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
require
|
1
|
+
require 'spec_helper'
|
2
2
|
|
3
3
|
require 'asir'
|
4
4
|
|
@@ -14,18 +14,19 @@ describe "ASIR Performance" do
|
|
14
14
|
object.class.asir.transport = transport
|
15
15
|
end
|
16
16
|
|
17
|
-
it '
|
17
|
+
it 'Message time using Transport::Local, Coder::Identity' do
|
18
|
+
@desc = 'Raw messaging'
|
18
19
|
run! do
|
19
20
|
object.return_argument :this_value
|
20
21
|
end
|
21
|
-
$raw_t = @t
|
22
|
-
end
|
22
|
+
$raw_t = @t
|
23
23
|
|
24
|
-
|
24
|
+
@desc = 'Message using Transport::Local, Coder::Identity'
|
25
25
|
run! do
|
26
26
|
object.asir.return_argument :this_value
|
27
27
|
end
|
28
|
-
|
28
|
+
|
29
|
+
that_t = $raw_t
|
29
30
|
this_t = @t
|
30
31
|
$stderr.puts "\nThis .vs. Raw: #{this_t[:ms_per_n] / that_t[:ms_per_n]} ms/msg / ms/msg"
|
31
32
|
end
|
data/spec/spec_helper.rb
CHANGED
data/spec/transport_spec.rb
CHANGED
data/spec/yaml_spec.rb
CHANGED
metadata
CHANGED
@@ -1,20 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: asir
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
5
|
-
prerelease:
|
4
|
+
version: 1.2.11
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Kurt Stephens
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-
|
11
|
+
date: 2013-09-27 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: uuid
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
17
|
- - ~>
|
20
18
|
- !ruby/object:Gem::Version
|
@@ -22,7 +20,6 @@ dependencies:
|
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
24
|
- - ~>
|
28
25
|
- !ruby/object:Gem::Version
|
@@ -30,7 +27,6 @@ dependencies:
|
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: httpclient
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
31
|
- - ~>
|
36
32
|
- !ruby/object:Gem::Version
|
@@ -38,7 +34,6 @@ dependencies:
|
|
38
34
|
type: :runtime
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
38
|
- - ~>
|
44
39
|
- !ruby/object:Gem::Version
|
@@ -46,7 +41,6 @@ dependencies:
|
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: rack
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
45
|
- - ~>
|
52
46
|
- !ruby/object:Gem::Version
|
@@ -54,7 +48,6 @@ dependencies:
|
|
54
48
|
type: :runtime
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
52
|
- - ~>
|
60
53
|
- !ruby/object:Gem::Version
|
@@ -62,7 +55,6 @@ dependencies:
|
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: rake
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
59
|
- - ! '>='
|
68
60
|
- !ruby/object:Gem::Version
|
@@ -70,7 +62,6 @@ dependencies:
|
|
70
62
|
type: :development
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
66
|
- - ! '>='
|
76
67
|
- !ruby/object:Gem::Version
|
@@ -78,23 +69,34 @@ dependencies:
|
|
78
69
|
- !ruby/object:Gem::Dependency
|
79
70
|
name: rspec
|
80
71
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
72
|
requirements:
|
83
73
|
- - ~>
|
84
74
|
- !ruby/object:Gem::Version
|
85
|
-
version: 2.
|
75
|
+
version: 2.14.1
|
86
76
|
type: :development
|
87
77
|
prerelease: false
|
88
78
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
79
|
requirements:
|
91
80
|
- - ~>
|
92
81
|
- !ruby/object:Gem::Version
|
93
|
-
version: 2.
|
82
|
+
version: 2.14.1
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rspec-mocks
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ~>
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 2.14.3
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ~>
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 2.14.3
|
94
97
|
- !ruby/object:Gem::Dependency
|
95
98
|
name: simplecov
|
96
99
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
100
|
requirements:
|
99
101
|
- - ! '>='
|
100
102
|
- !ruby/object:Gem::Version
|
@@ -102,11 +104,38 @@ dependencies:
|
|
102
104
|
type: :development
|
103
105
|
prerelease: false
|
104
106
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
107
|
requirements:
|
107
108
|
- - ! '>='
|
108
109
|
- !ruby/object:Gem::Version
|
109
110
|
version: '0.1'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: guard
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ~>
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '1.8'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ~>
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '1.8'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: guard-rspec
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ~>
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '3.1'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ~>
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '3.1'
|
110
139
|
description: Abstracting Services in Ruby
|
111
140
|
email: ks.ruby@kurtstephens.com
|
112
141
|
executables:
|
@@ -120,6 +149,7 @@ files:
|
|
120
149
|
- .travis.yml
|
121
150
|
- ChangeLog
|
122
151
|
- Gemfile
|
152
|
+
- Guardfile
|
123
153
|
- README.textile
|
124
154
|
- Rakefile
|
125
155
|
- VERSION
|
@@ -248,6 +278,7 @@ files:
|
|
248
278
|
- spec/debug_helper.rb
|
249
279
|
- spec/demux_spec.rb
|
250
280
|
- spec/example_spec.rb
|
281
|
+
- spec/lib/asir/main_spec.rb
|
251
282
|
- spec/message_spec.rb
|
252
283
|
- spec/performance_spec.rb
|
253
284
|
- spec/retry_behavior_spec.rb
|
@@ -260,34 +291,27 @@ files:
|
|
260
291
|
- stylesheets/slides.css
|
261
292
|
homepage: http://github.com/kstephens/abstracting_services_in_ruby
|
262
293
|
licenses: []
|
294
|
+
metadata: {}
|
263
295
|
post_install_message:
|
264
296
|
rdoc_options:
|
265
297
|
- --charset=UTF-8
|
266
298
|
require_paths:
|
267
299
|
- lib
|
268
300
|
required_ruby_version: !ruby/object:Gem::Requirement
|
269
|
-
none: false
|
270
301
|
requirements:
|
271
302
|
- - ! '>='
|
272
303
|
- !ruby/object:Gem::Version
|
273
304
|
version: '0'
|
274
|
-
segments:
|
275
|
-
- 0
|
276
|
-
hash: 2998837259913580415
|
277
305
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
278
|
-
none: false
|
279
306
|
requirements:
|
280
307
|
- - ! '>='
|
281
308
|
- !ruby/object:Gem::Version
|
282
309
|
version: '0'
|
283
|
-
segments:
|
284
|
-
- 0
|
285
|
-
hash: 2998837259913580415
|
286
310
|
requirements: []
|
287
311
|
rubyforge_project:
|
288
|
-
rubygems_version:
|
312
|
+
rubygems_version: 2.0.5
|
289
313
|
signing_key:
|
290
|
-
specification_version:
|
314
|
+
specification_version: 4
|
291
315
|
summary: Abstracting Services in Ruby
|
292
316
|
test_files:
|
293
317
|
- spec/adaptive_value_spec.rb
|
@@ -295,6 +319,7 @@ test_files:
|
|
295
319
|
- spec/debug_helper.rb
|
296
320
|
- spec/demux_spec.rb
|
297
321
|
- spec/example_spec.rb
|
322
|
+
- spec/lib/asir/main_spec.rb
|
298
323
|
- spec/message_spec.rb
|
299
324
|
- spec/performance_spec.rb
|
300
325
|
- spec/retry_behavior_spec.rb
|