cyclone_lariat 1.0.0.rc6 → 1.0.0.rc8

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
  SHA1:
3
- metadata.gz: fab5b60b7bc9091b050be9f19f409dbb108b868c
4
- data.tar.gz: 4c2458fe43a0353b5d2a8e1977858889220a9cb8
3
+ metadata.gz: 0e810d6b4fc64e4938dfe70579f2bf36a4768bdf
4
+ data.tar.gz: 8e8daf9a77166655600b6baccf671276d3c9566f
5
5
  SHA512:
6
- metadata.gz: '090c611cb5e0bd49c4654042fbd285472b369448887789ff2392fd279dc68f12ebbb82f734254da9ae11750f38423749461f8a794c09370d85b06e11b097c73c'
7
- data.tar.gz: 1b66103e5350f18335b70789246be6379f21c92ea6c1e92d181e3439e1039f96558ef2fd9c97eb6d95b77bcb21bff61f8c8880cfbd8a8c342a02a3620032f50c
6
+ metadata.gz: 908053b867c1a268b7659e2ee37c8a7f65781f1d80b8dc5c2f3e2b4106f394f0956da67fdb7bc93f676f7fcb6f0d88dc3e6f89496db47f40991b5ea1226b0da6
7
+ data.tar.gz: 1d46de69c81d15fc14ee015177047a551e99deecde4d17c59a8c357b5773eab18a26a1faf0ce88898c5b644113e4d1819f680c2cb9fa185d6685a6acdea0654a
data/CHANGELOG.md CHANGED
@@ -4,6 +4,14 @@ All notable changes to this project will be documented in this file.
4
4
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
5
5
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
+ ## [1.0.0.rc8]
8
+ Changed
9
+ - Added `before_save` hook to middleware
10
+
11
+ ## [1.0.0.rc7]
12
+ Changed
13
+ - Fixed `CycloneLariat::Messages::Builder`
14
+
7
15
  ## [1.0.0.rc6]
8
16
  Changed
9
17
  - Rename `messages_dataset` to `inbox_dataset`
data/Gemfile.lock CHANGED
@@ -1,11 +1,11 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- cyclone_lariat (1.0.0.rc5)
4
+ cyclone_lariat (1.0.0.rc8)
5
5
  aws-sdk-sns
6
6
  aws-sdk-sqs
7
7
  dry-cli (~> 0.6)
8
- dry-validation (~> 1.5)
8
+ dry-validation (< 1.9.0)
9
9
  luna_park (~> 0.11)
10
10
  terminal-table (~> 3.0)
11
11
 
@@ -28,8 +28,8 @@ GEM
28
28
  arel (9.0.0)
29
29
  ast (2.4.2)
30
30
  aws-eventstream (1.2.0)
31
- aws-partitions (1.738.0)
32
- aws-sdk-core (3.171.0)
31
+ aws-partitions (1.761.0)
32
+ aws-sdk-core (3.172.0)
33
33
  aws-eventstream (~> 1, >= 1.0.2)
34
34
  aws-partitions (~> 1, >= 1.651.0)
35
35
  aws-sigv4 (~> 1.5)
@@ -37,7 +37,7 @@ GEM
37
37
  aws-sdk-sns (1.60.0)
38
38
  aws-sdk-core (~> 3, >= 3.165.0)
39
39
  aws-sigv4 (~> 1.1)
40
- aws-sdk-sqs (1.53.0)
40
+ aws-sdk-sqs (1.55.0)
41
41
  aws-sdk-core (~> 3, >= 3.165.0)
42
42
  aws-sigv4 (~> 1.1)
43
43
  aws-sigv4 (1.5.2)
data/README.md CHANGED
@@ -786,7 +786,8 @@ class Receiver
786
786
  chain.add CycloneLariat::Middleware,
787
787
  dataset: DB[:events],
788
788
  errors_notifier: LunaPark::Notifiers::Sentry.new,
789
- message_notifier: LunaPark::Notifiers::Log.new(min_lvl: :debug, format: :pretty_json)
789
+ message_notifier: LunaPark::Notifiers::Log.new(min_lvl: :debug, format: :pretty_json),
790
+ before_save: -> { |message| message.data[:password] = nil }
790
791
  end
791
792
 
792
793
  class UserIsNotRegistered < LunaPark::Errors::Business
@@ -38,7 +38,7 @@ Gem::Specification.new do |spec|
38
38
  spec.add_dependency 'aws-sdk-sns'
39
39
  spec.add_dependency 'aws-sdk-sqs'
40
40
  spec.add_dependency 'dry-cli', '~> 0.6'
41
- spec.add_dependency 'dry-validation', '~> 1.5'
41
+ spec.add_dependency 'dry-validation', '< 1.9.0' # 1.9.0 use zeitwerk that require ruby > 2.5
42
42
  spec.add_dependency 'luna_park', '~> 0.11'
43
43
  spec.add_dependency 'terminal-table', '~> 3.0'
44
44
 
@@ -64,7 +64,7 @@ module CycloneLariat
64
64
  end
65
65
 
66
66
  def message_without_kind
67
- @raw_message.except(:kind)
67
+ @raw_message.reject { |key, _| key == :kind }
68
68
  end
69
69
 
70
70
  def kind
@@ -10,11 +10,12 @@ module CycloneLariat
10
10
  class Middleware
11
11
  attr_reader :config
12
12
 
13
- def initialize(errors_notifier: nil, message_notifier: nil, repo: Repo::InboxMessages, **options)
13
+ def initialize(errors_notifier: nil, message_notifier: nil, before_save: nil, repo: Repo::InboxMessages, **options)
14
14
  @config = CycloneLariat::Options.wrap(options).merge!(CycloneLariat.config)
15
15
  @events_repo = repo.new(**@config.to_h)
16
16
  @message_notifier = message_notifier
17
17
  @errors_notifier = errors_notifier
18
+ @before_save = before_save
18
19
  end
19
20
 
20
21
  def call(_worker_instance, queue, _sqs_msg, body, &block)
@@ -34,7 +35,7 @@ module CycloneLariat
34
35
 
35
36
  private
36
37
 
37
- attr_reader :errors_notifier, :message_notifier, :events_repo
38
+ attr_reader :errors_notifier, :message_notifier, :events_repo, :before_save
38
39
 
39
40
  def receive_message!(body)
40
41
  body[:Message] ? JSON.parse(body[:Message], symbolize_names: true) : body
@@ -48,10 +49,16 @@ module CycloneLariat
48
49
 
49
50
  existed = events_repo.find(uuid: event.uuid)
50
51
  return true if existed&.processed?
52
+ return yield if existed
53
+
54
+ event.clone.tap do |e|
55
+ before_save.call(e) if before_save
56
+ events_repo.create(e)
57
+ end
51
58
 
52
- events_repo.create(event) unless existed
53
59
  yield
54
- events_repo.processed! uuid: event.uuid, error: event.client_error
60
+
61
+ events_repo.processed!(uuid: event.uuid, error: event.client_error)
55
62
  end
56
63
 
57
64
  def catch_business_error(event)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module CycloneLariat
4
- VERSION = '1.0.0.rc6'
4
+ VERSION = '1.0.0.rc8'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cyclone_lariat
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.rc6
4
+ version: 1.0.0.rc8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Kudrin
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2023-04-19 00:00:00.000000000 Z
14
+ date: 2023-05-31 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: aws-sdk-sns
@@ -59,16 +59,16 @@ dependencies:
59
59
  name: dry-validation
60
60
  requirement: !ruby/object:Gem::Requirement
61
61
  requirements:
62
- - - "~>"
62
+ - - "<"
63
63
  - !ruby/object:Gem::Version
64
- version: '1.5'
64
+ version: 1.9.0
65
65
  type: :runtime
66
66
  prerelease: false
67
67
  version_requirements: !ruby/object:Gem::Requirement
68
68
  requirements:
69
- - - "~>"
69
+ - - "<"
70
70
  - !ruby/object:Gem::Version
71
- version: '1.5'
71
+ version: 1.9.0
72
72
  - !ruby/object:Gem::Dependency
73
73
  name: luna_park
74
74
  requirement: !ruby/object:Gem::Requirement