jets 5.0.6 → 5.0.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 +4 -4
- data/CHANGELOG.md +5 -0
- data/lib/jets/generators/job/templates/event_types/s3.rb.tt +2 -2
- data/lib/jets/job/helpers/kinesis_event_helper.rb +4 -0
- data/lib/jets/job/helpers/log_event_helper.rb +4 -0
- data/lib/jets/job/helpers/s3_event_helper.rb +36 -4
- data/lib/jets/job/helpers/sns_event_helper.rb +20 -4
- data/lib/jets/job/helpers/sqs_event_helper.rb +22 -6
- data/lib/jets/stack/output/lookup.rb +5 -1
- data/lib/jets/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e04f05b1acc2261aa805569fce675ac41b87de70487156b625ddc1beedad957a
|
4
|
+
data.tar.gz: 4f89a28661441ff74bf7cb98b90eef08583fe18e20ba72472240e41f942b8ff2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 189e8b589c09a258329a7f0d29ac52759a854e75ddafa312716e93359689ee87946c7cecb8cbb720e0046042e0358fd7086ef2b011ecb2929014f0c371352548
|
7
|
+
data.tar.gz: 5f2adbfc890b6a0346a998463fa3d297138aebe570576d1f2d3f782456da5c4384151043f9b241a966c6fcfcf3b2fb2ffda49c129ea43a3581513422f85e42fa
|
data/CHANGELOG.md
CHANGED
@@ -3,6 +3,11 @@
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
4
4
|
This project *loosely tries* to adhere to [Semantic Versioning](http://semver.org/).
|
5
5
|
|
6
|
+
## [5.0.7] - 2023-12-24
|
7
|
+
- [#699](https://github.com/rubyonjets/jets/pull/699) cache Stack.lookup output in class memory
|
8
|
+
- [#700](https://github.com/rubyonjets/jets/pull/700) update s3 sns and sqs event helpers to return all events
|
9
|
+
- [#701](https://github.com/rubyonjets/jets/pull/701) fix s3_event and change method to s3_event_payloads
|
10
|
+
|
6
11
|
## [5.0.6] - 2023-12-21
|
7
12
|
- [#698](https://github.com/rubyonjets/jets/pull/698) make iam_policy additive to default_iam_policy for event
|
8
13
|
- jets new environments/production.rb dont include assets.compile for api mode
|
@@ -4,8 +4,8 @@ class <%= class_name %>Job < ApplicationJob
|
|
4
4
|
s3_event "my-bucket" # new or existing bucket
|
5
5
|
def <%= options[:name] %>
|
6
6
|
puts "event #{JSON.dump(event)}"
|
7
|
-
puts "
|
8
|
-
puts "
|
7
|
+
puts "s3_events #{JSON.dump(s3_events)}"
|
8
|
+
puts "s3_objects #{JSON.dump(s3_objects)}"
|
9
9
|
end
|
10
10
|
end
|
11
11
|
<% end -%>
|
@@ -1,13 +1,45 @@
|
|
1
1
|
module Jets::Job::Helpers
|
2
2
|
module S3EventHelper
|
3
|
+
def s3_event_payloads
|
4
|
+
messages = event["Records"].map do |record|
|
5
|
+
record["Sns"]["Message"]
|
6
|
+
end
|
7
|
+
messages.map do |message|
|
8
|
+
h = JSON.load(message)
|
9
|
+
ActiveSupport::HashWithIndifferentAccess.new(h)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
def s3_event_payloads?
|
14
|
+
event["Records"]&.any? { |r| r.dig("Sns", "Message") }
|
15
|
+
end
|
16
|
+
|
17
|
+
def s3_objects
|
18
|
+
s3_event_payloads.map do |payload|
|
19
|
+
records = payload["Records"]
|
20
|
+
records.map do |record|
|
21
|
+
record["s3"]["object"]
|
22
|
+
end
|
23
|
+
end.flatten
|
24
|
+
end
|
25
|
+
|
26
|
+
def s3_objects?
|
27
|
+
s3_event_payloads["Records"]&.any? { |r| r.dig("s3", "object") }
|
28
|
+
end
|
29
|
+
|
30
|
+
# Deprecated methods below
|
3
31
|
def s3_event
|
4
|
-
|
5
|
-
|
6
|
-
|
32
|
+
puts "WARN: s3_event is deprecated".color(:yellow)
|
33
|
+
puts "It can possibly drop events when come in extremely fast."
|
34
|
+
puts "Use s3_event_payloads instead"
|
35
|
+
s3_event_payloads.first
|
7
36
|
end
|
8
37
|
|
9
38
|
def s3_object
|
10
|
-
|
39
|
+
puts "WARN: s3_object is deprecated".color(:yellow)
|
40
|
+
puts "It can possibly drop events when come in extremely fast."
|
41
|
+
puts "Use s3_objects instead"
|
42
|
+
s3_objects.first
|
11
43
|
end
|
12
44
|
end
|
13
45
|
end
|
@@ -1,8 +1,24 @@
|
|
1
1
|
module Jets::Job::Helpers
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
2
|
+
module SnsEventHelper
|
3
|
+
def sns_event_payloads
|
4
|
+
records = event["Records"]
|
5
|
+
return [] unless records
|
6
|
+
records.map do |record|
|
7
|
+
message = record["Sns"]["Message"]
|
8
|
+
ActiveSupport::HashWithIndifferentAccess.new(JSON.load(message))
|
6
9
|
end
|
7
10
|
end
|
11
|
+
|
12
|
+
def sns_event_payloads?
|
13
|
+
event["Records"]&.any? { |r| r.dig("Sns", "Message") }
|
14
|
+
end
|
15
|
+
|
16
|
+
# Deprecated methods below
|
17
|
+
def sns_event_payload
|
18
|
+
puts "WARN: sns_event_payload is deprecated".color(:yellow)
|
19
|
+
puts "It can possibly drop events when come in extremely fast."
|
20
|
+
puts "Use sns_event_payloads instead"
|
21
|
+
sns_event_payloads.first
|
22
|
+
end
|
23
|
+
end
|
8
24
|
end
|
@@ -1,8 +1,24 @@
|
|
1
1
|
module Jets::Job::Helpers
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
2
|
+
module SqsEventHelper
|
3
|
+
def sqs_event_payloads
|
4
|
+
records = event["Records"]
|
5
|
+
return [] unless records
|
6
|
+
records.map do |record|
|
7
|
+
message = record["body"]
|
8
|
+
ActiveSupport::HashWithIndifferentAccess.new(JSON.load(message))
|
9
|
+
end
|
7
10
|
end
|
8
|
-
|
11
|
+
|
12
|
+
def sqs_event_payloads?
|
13
|
+
event["Records"]&.any? { |r| r.dig("body") }
|
14
|
+
end
|
15
|
+
|
16
|
+
# Deprecated methods below
|
17
|
+
def sqs_event_payload
|
18
|
+
puts "WARN: sqs_event_payload is deprecated".color(:yellow)
|
19
|
+
puts "It can possibly drop events when come in extremely fast."
|
20
|
+
puts "Use sqs_event_payloads instead"
|
21
|
+
sqs_event_payloads.first
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -6,7 +6,11 @@ class Jets::Stack::Output
|
|
6
6
|
@stack_subclass = stack_subclass
|
7
7
|
end
|
8
8
|
|
9
|
+
@@cache = {}
|
9
10
|
def output(logical_id)
|
11
|
+
cache_key = "#{@stack_subclass}-#{logical_id}"
|
12
|
+
return @@cache[cache_key] if @@cache[cache_key]
|
13
|
+
|
10
14
|
child_stack_id = @stack_subclass.to_s.camelize
|
11
15
|
|
12
16
|
stack_arn = shared_stack_arn(child_stack_id)
|
@@ -14,7 +18,7 @@ class Jets::Stack::Output
|
|
14
18
|
child = resp.stacks.first
|
15
19
|
return unless child
|
16
20
|
|
17
|
-
output_value(child, logical_id)
|
21
|
+
@@cache[cache_key] = output_value(child, logical_id)
|
18
22
|
end
|
19
23
|
|
20
24
|
# Shared child stack arn
|
data/lib/jets/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jets
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.0.
|
4
|
+
version: 5.0.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tung Nguyen
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-12-
|
11
|
+
date: 2023-12-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: actionmailer
|