hakuban 0.6.3 → 0.6.4

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 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