pub_sub_model_sync 0.5.1.1 → 0.5.2

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