cyclone_lariat 1.0.0.rc6 → 1.0.0.rc8

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