pub_sub_model_sync 0.5.1.1 → 0.5.2

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: b2f51ef8b439385ed1ff19a342bcfb74571d8d02beb656bc85abb5406e213ee4
4
- data.tar.gz: 47cfbad901cd469f91a137f53d2058d9c58e65ff83ee0e2ee9ccb0b2728e398c
3
+ metadata.gz: 0eca4a27d7aca148acabc3412b1d56fdd3648f87d03dfb61337fee2cadea57c2
4
+ data.tar.gz: aea755f974264fb6e223e8680392bdc729cd917be1e93532965450f07c9a59b4
5
5
  SHA512:
6
- metadata.gz: 9e5d8da552b0ad819d54aa75a781b4c4848a2c2456d68aa4e60d62291c601107b15c06d5e6c77caff884ed2070493c4291056d532f7674a0a239929bec3abf24
7
- data.tar.gz: 6f7f00ac5d1f7bd8be06ae10831446432d7c049ac79339bf704e86af7f1988e775a7a3f158e005f2bdcacaca3a79a82f2f4845aad0e4d5c047d3b465dee89576
6
+ metadata.gz: 64b6f9add9e7d382f0e3e5dae8195fdbf5e642008c7330f3e47fd55cb7f7749e381ea5df2b8d10915b907f3c6932fffc4a63a3dcfcabf88d0737a91d92c03bc7
7
+ data.tar.gz: edeb6931f1bdf09eebba01a036261571d8b51429475af49423f8c4de74e9241e45b59e2742e3d82b514d56f5abe4dbb503849915cfc86beca5b55b8d5a042873
@@ -1,5 +1,9 @@
1
1
  # Change Log
2
2
 
3
+ # 0.5.2 (December 30, 2020)
4
+ - fix: rabbitmq deliver messages to all subscribers
5
+ - fix: rabbitmq persist messages to recover after restarting
6
+
3
7
  # 0.5.1.1 (December 29, 2020)
4
8
  - Hotfix: auto convert class name into string
5
9
 
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- pub_sub_model_sync (0.5.1.1)
4
+ pub_sub_model_sync (0.5.2)
5
5
  rails
6
6
 
7
7
  GEM
@@ -25,8 +25,8 @@ module PubSubModelSync
25
25
  return unless processable?(subscriber)
26
26
 
27
27
  subscriber.process!(payload)
28
- config.on_success_processing.call(payload, subscriber)
29
- log "processed message with: #{payload}"
28
+ res = config.on_success_processing.call(payload, subscriber)
29
+ log "processed message with: #{payload.inspect}" if res != :skip_log
30
30
  rescue => e
31
31
  print_subscriber_error(e)
32
32
  end
@@ -19,8 +19,7 @@ module PubSubModelSync
19
19
  return if model.ps_skip_sync?(action)
20
20
 
21
21
  publisher ||= model.class.ps_publisher(action)
22
- payload_info = publisher.payload(model, action)
23
- payload = PubSubModelSync::Payload.new(payload_info[:data], payload_info[:attrs])
22
+ payload = publisher.payload(model, action)
24
23
  res_before = model.ps_before_sync(action, payload.data)
25
24
  return if res_before == :cancel
26
25
 
@@ -12,7 +12,7 @@ module PubSubModelSync
12
12
  end
13
13
 
14
14
  def payload(model, action)
15
- { data: payload_data(model), attrs: payload_attrs(model, action) }
15
+ PubSubModelSync::Payload.new(payload_data(model), payload_attrs(model, action))
16
16
  end
17
17
 
18
18
  private
@@ -40,6 +40,7 @@ module PubSubModelSync
40
40
 
41
41
  def stop
42
42
  log('Listener stopping...')
43
+ channel&.close
43
44
  service.close
44
45
  end
45
46
 
@@ -48,10 +49,15 @@ module PubSubModelSync
48
49
  def message_settings
49
50
  {
50
51
  routing_key: queue.name,
51
- type: SERVICE_KEY
52
+ type: SERVICE_KEY,
53
+ persistent: true
52
54
  }
53
55
  end
54
56
 
57
+ def queue_settings
58
+ { durable: true, auto_delete: false }
59
+ end
60
+
55
61
  def subscribe_settings
56
62
  { manual_ack: false }
57
63
  end
@@ -65,8 +71,7 @@ module PubSubModelSync
65
71
  def subscribe_to_queue
66
72
  service.start
67
73
  @channel = service.create_channel
68
- queue_settings = { durable: true, auto_delete: false }
69
- @queue = channel.queue(config.queue_name, queue_settings)
74
+ @queue = channel.queue(config.subscription_key, queue_settings)
70
75
  subscribe_to_exchange
71
76
  end
72
77
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PubSubModelSync
4
- VERSION = '0.5.1.1'
4
+ VERSION = '0.5.2'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pub_sub_model_sync
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1.1
4
+ version: 0.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Owen
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-12-29 00:00:00.000000000 Z
11
+ date: 2020-12-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails