asir 1.2.10 → 1.2.11
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 +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
|