hakuban 0.6.3 → 0.6.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e6822f983334fd24d18385b13f77352026609b85e2f386760b00bae8e60e53cb
4
- data.tar.gz: e90301ced5b302e23fcc4c3da3d59c9ac32bf9e22d472272ff43bdb8ad78eadc
3
+ metadata.gz: 8c827f2e6b27d41fbc349a9928b2039fc04b9cd139ce90641491b3dee250482c
4
+ data.tar.gz: 6081be62f7bc8abf6ea90543ee79543bc6b7f20678fbe5cce38bd72fc09de897
5
5
  SHA512:
6
- metadata.gz: 22eb5c5b3223bd25d7b3dea31f52134f9a71a07a1fcdf06e4d6077dc27df689e57a9e92cb059919f283f8708bfbe26e9ed679cdaeee7631d1203eedc4254aa85
7
- data.tar.gz: e39db8ea279d53883c61333768928aca255891e105dfb27e82e6ddc88f73a1128fe0b9972da59921074479272ed7baf32b0317dc933bebef1664568414469e8c
6
+ metadata.gz: 36ed621045173a200cdcf65832f6c126496aae26584c74fc07ceebc303b22f387e22852b03034b0b97164b0b06e739c5b192d06babc275c49b75a8ca5b872f4a
7
+ data.tar.gz: 35bb3c5a6937b3fbecf3088d90f2da945e7b6643d736df272896eb5a8a2c624bf62629e2c598a2206a4a98bab444f0a6b3736aed803d04c085a2746d54d43653
data/bin/hakuban-observer CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'slop'
4
4
  require 'pp'
5
- require 'hakuban/async'
5
+ require 'hakuban/thread'
6
6
 
7
7
 
8
8
  OPTIONS = Slop.parse { |o|
@@ -27,30 +27,38 @@ else
27
27
  end
28
28
 
29
29
 
30
- def print_event(descriptor, event)
31
- puts "-"*120
32
- puts "Event: " + event
33
- puts "Descriptor: "
34
- descriptor.tags.each { |tag|
35
- puts "\tTags: " + JSON.dump(tag.json)
36
- }
37
- puts "\tJSON: " + JSON.dump(descriptor.json)
30
+ def print_event(descriptor, event, more)
31
+ if $subsequent
32
+ puts ','
33
+ else
34
+ $subsequent = true
35
+ end
36
+ puts '{'
37
+ puts '"event": "%s",'%[event]
38
+ puts '"descriptor_json": %s,'%[JSON.dump(descriptor.json)]
39
+ puts '"descriptor_tags": [%s],'%[descriptor.tags.map { |tag| JSON.dump(tag.json) }.join(",")]
40
+ puts more if more
41
+ puts '}'
38
42
  end
39
43
 
40
- Async {
41
-
42
- observe_contract.async { |object|
43
- print_event(object.descriptor, "create")
44
- while object.next_change
45
- print_event(object.descriptor, "change")
44
+
45
+ puts "["
46
+
47
+ contract = observe_contract.manage.with_thread { |object|
48
+ print_event(object.descriptor, "create", nil)
49
+ while object.next_change
50
+ print_event(object.descriptor, "change",
46
51
  if state = object.state
47
- puts "Version: " + state.version.inspect
48
- puts "Last synchronized: " + state.synchronized.to_s + "ms ago"
49
- puts "Data:\n"
50
- pp state.data
52
+ [
53
+ '"version": %s,'%[JSON.dump(state.version)],
54
+ '"last_sync_ms_ago": %s,'%[JSON.dump(state.synchronized)],
55
+ '"data": %s,'%[JSON.dump(state.data)],
56
+ ].join("\n")
51
57
  end
52
- end
53
- print_event(object.descriptor, "drop")
54
- }
55
-
58
+ )
59
+ end
60
+ print_event(object.descriptor, "drop", nil)
56
61
  }
62
+
63
+ $stdin.read(1)
64
+ puts "]"
@@ -48,6 +48,9 @@ module Hakuban
48
48
 
49
49
  class Event < OpenStruct; end
50
50
  class HandlerException < OpenStruct; end
51
+ if not defined?(:Async)
52
+ module Async; class Stop < Exception; end; end #in case Async is not included, meh
53
+ end
51
54
 
52
55
  def initialize(contract, block, retry_backoff, terminate_on_deactivation, on_exception_policy)
53
56
  @contract = contract
@@ -394,4 +397,4 @@ module Hakuban
394
397
 
395
398
  end
396
399
 
397
- end
400
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Hakuban
4
- VERSION = "0.6.3"
4
+ VERSION = "0.6.4"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hakuban
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.3
4
+ version: 0.6.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - yunta
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-03-12 00:00:00.000000000 Z
11
+ date: 2022-03-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec