pub_sub_model_sync 0.5.6 → 0.5.7

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: ebc62742739be4d3291fc1551a8f53bf57d815f7b0ce3a9622e4c06a025e4fab
4
- data.tar.gz: ec84b83f7b2e176a2030415674b6c09859e40bbd9069fa40ff51041d24de0d4e
3
+ metadata.gz: 2774f1b6dd011f9404ff739aa71785ed47536cd9642a546761bb5c9b0404d212
4
+ data.tar.gz: 8bfd451dbcd2fba659599c58164f24e0dfe6846301e9912579aaaa6aea7ba9ca
5
5
  SHA512:
6
- metadata.gz: b351a1210c3b747de830e4ed67c527625d7941967e71332189000de5b81cb4286f906d8ab943595c7f7ab4cf7c2238c5458b2ea87620a11705877889552dcfcf
7
- data.tar.gz: 6d282613d88dfa53460bab1425c10553e89837a31790a49bbbd27f451de39f777b56d99424ef81e046eb459ba5d6b97aea92d6b812830579e9a2996e67c5dc6f
6
+ metadata.gz: 322c7d6b7d214bc5d8f98e08816450a627f423dd64eb9a96d33e3d8b84d48ffc7be3be5191d137b874ad7710602670015c19c00344525b40a343bf33f3b000f9
7
+ data.tar.gz: 8e8068de5d4a64db06129a07e3facbb3745ad7f4cca7d331748ff7395c8ea9a50b2938768e49f3ada4c19e4c1ea1e25e16714428d7ba1e2efff4b8ae680d0701
@@ -1,5 +1,12 @@
1
1
  # Change Log
2
2
 
3
+ # 0.5.7 (January 13, 2021)
4
+ - feat: add method to preload sync listeners
5
+
6
+ # 0.5.6 (January 12, 2021)
7
+ - feat: add payload validation
8
+ - feat: add method to rebuild payload
9
+
3
10
  # 0.5.5 (January 11, 2021)
4
11
  - feat: google-pub/sub receive messages in the same order they were delivered
5
12
 
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- pub_sub_model_sync (0.5.6)
4
+ pub_sub_model_sync (0.5.7)
5
5
  rails
6
6
 
7
7
  GEM
data/README.md CHANGED
@@ -59,10 +59,10 @@ And then execute: $ bundle install
59
59
  rake pub_sub_model_sync:start
60
60
  ```
61
61
  Note: Publishers do not need todo this
62
- Note2 (Rails 6+): Due to Zeitwerk, you need to load listeners manually when syncing outside ```rake pub_sub_model_sync:start```
62
+ Note2 (Rails 6+): Due to Zeitwerk, you need to load listeners manually when syncing without mentioned task (like rails console)
63
63
  ```ruby
64
64
  # PubSubModelSync::Config.subscribers ==> []
65
- Rails.application.try(:eager_load!)
65
+ PubSubModelSync::Runner.preload_listeners
66
66
  # PubSubModelSync::Config.subscribers ==> [#<PubSubModelSync::Subscriber:0x000.. @klass="Article", @action=:create..., ....]
67
67
  ```
68
68
 
@@ -4,6 +4,7 @@ require 'active_support/core_ext/module'
4
4
  module PubSubModelSync
5
5
  class Runner
6
6
  class ShutDown < StandardError; end
7
+ delegate :preload_listeners, to: :class
7
8
  attr_accessor :connector
8
9
 
9
10
  def initialize
@@ -12,12 +13,17 @@ module PubSubModelSync
12
13
 
13
14
  def run
14
15
  trap_signals!
15
- preload_framework!
16
+ preload_listeners
16
17
  start_listeners
17
18
  rescue ShutDown
18
19
  connector.stop
19
20
  end
20
21
 
22
+ def self.preload_listeners
23
+ Rails.application.try(:eager_load!) if defined?(Rails)
24
+ Zeitwerk::Loader.eager_load_all if defined?(Zeitwerk::Loader)
25
+ end
26
+
21
27
  private
22
28
 
23
29
  def start_listeners
@@ -31,10 +37,5 @@ module PubSubModelSync
31
37
  end
32
38
  %w[INT QUIT TERM].each { |signal| Signal.trap(signal, handler) }
33
39
  end
34
-
35
- def preload_framework!
36
- Rails.application.try(:eager_load!) if defined?(Rails)
37
- Zeitwerk::Loader.eager_load_all if defined?(Zeitwerk::Loader)
38
- end
39
40
  end
40
41
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PubSubModelSync
4
- VERSION = '0.5.6'
4
+ VERSION = '0.5.7'
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.6
4
+ version: 0.5.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Owen
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-01-12 00:00:00.000000000 Z
11
+ date: 2021-01-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails