jets 5.0.12 → 5.0.14

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
  SHA256:
3
- metadata.gz: e7a09da0f4d38d90cbf007185c92a6ac45382d21caa6da587bf5e8109f353ea9
4
- data.tar.gz: 37ee931ef499eb48cb2f0f69884c799294b82ef0e16ecbe4222f9f6d76966acd
3
+ metadata.gz: ae6365fe50afc845cc215ec4ffb3355a418f8e587cbbf8b12d182cdabf901eb4
4
+ data.tar.gz: 8791a73d7f86a0010ccc018a712ba3f3cc5512c8d6f0b37538d262b2ef2fa2f9
5
5
  SHA512:
6
- metadata.gz: 81148dc32dd42d5a1b0bdcbe1fd32350dde3370b53a1f7035d77f5dc08b2c991fc4913009c6792165b6d39199a2474d872dd124cbc71c27be10cbb454587b4f3
7
- data.tar.gz: '09f4fe05d4104875d76148f12c76b85ba02cc65b5fd25f1801c628b62dd55d072362e1636922a9545513fd7c86eebc4afc6a9629c7d72b3ca244ce4ca948907e'
6
+ metadata.gz: 742a38687b5b6d33069dfe8080937e0ed01c3d6cd2ea807d548fd51fa88cb7d4930b34e8d01aa4ae8b9e9d1cb63a45b0ea26468e70153527954fd1b0c1e545e2
7
+ data.tar.gz: 0ccf5968934e66f0bd802808b2d1c8179a088a2160c0086d597d45c4d8f2dff7e4ea5dfd4ed35f9239e34089187ad0e3b13e17161b39338c13c07d100c83eb57
data/CHANGELOG.md CHANGED
@@ -3,6 +3,14 @@
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.14] - 2024-05-20
7
+ - [#719](https://github.com/rubyonjets/jets/pull/719) Support for s3 event sns configuration
8
+ - [#722](https://github.com/rubyonjets/jets/pull/722) Sets config.cache_classes to true in test env
9
+
10
+ ## [5.0.13] - 2024-04-26
11
+ - [#720](https://github.com/rubyonjets/jets/pull/720) Update docs link in status.rb
12
+ - [#723](https://github.com/rubyonjets/jets/pull/723) fix prewarming post deploy
13
+
6
14
  ## [5.0.12] - 2024-04-15
7
15
  - [#718](https://github.com/rubyonjets/jets/pull/718) fixes for dotenv 3.1
8
16
 
@@ -36,11 +36,12 @@ class Jets::PreheatJob < Jets::Job::Base
36
36
  end
37
37
  end
38
38
 
39
- private
39
+ private
40
+
40
41
  # Usually: jets-preheat_job-warm unless JETS_RESET=1, in that case need to lookup the function name
41
42
  def warm_function_name
42
43
  # Return early to avoid lookup call normally
43
- return "jets-preheat_job-warm" unless ENV['JETS_RESET'] == "1"
44
+ return "jets-preheat_job-warm" unless ENV["JETS_RESET"] == "1"
44
45
 
45
46
  parent_stack = cfn.describe_stack_resources(stack_name: Jets::Names.parent_stack_name)
46
47
  preheat_stack = parent_stack.stack_resources.find do |resource|
@@ -58,11 +59,6 @@ private
58
59
  def call_options(quiet)
59
60
  options = {}
60
61
  options.merge!(mute: true, mute_output: true) if quiet
61
- # All the methods in this Job class leads to Jets::Commands::Call.
62
- # This is true for the Jets::Preheat.warm_all also.
63
- # These jobs delegate out to Lambda function calls. We do not need/want
64
- # the invocation type: RequestResponse in this case.
65
- options.merge!(invocation_type: "Event")
66
62
  options
67
63
  end
68
64
  end
@@ -17,7 +17,7 @@ module Jets::Cfn
17
17
  and can be used to resolve the issue.
18
18
  Example of checking the CloudFormation console:
19
19
 
20
- https://rubyonjets.com/docs/debugging/cloudformation/
20
+ https://docs.rubyonjets.com/docs/debug/cloudformation/
21
21
 
22
22
  EOL
23
23
 
@@ -1,5 +1,5 @@
1
1
  Jets.application.configure do
2
- config.cache_classes = false
2
+ config.cache_classes = true
3
3
  config.eager_load = ENV["CI"].present?
4
4
  config.cache_store = :null_store
5
5
 
@@ -1,8 +1,49 @@
1
1
  module Jets::Job::Dsl
2
2
  module S3Event
3
+ # Register an S3 event.
4
+ # Allow custom sns_subscription_properties to be passed in.
5
+ #
6
+ # Examples
7
+ #
8
+ # props = {
9
+ # sns_subscription_properties: {
10
+ # FilterPolicyScope: "MessageBody",
11
+ # FilterPolicy: {
12
+ # Records: {
13
+ # s3: {
14
+ # object: {
15
+ # key: [
16
+ # { prefix: "test-prefix/" }
17
+ # ]
18
+ # }
19
+ # }
20
+ # }
21
+ # }.to_json
22
+ # }
23
+ # }
24
+ #
25
+ # s3_event("s3-bucket", props)
26
+ # def process_s3_event
27
+ # ...
28
+ # end
29
+ #
30
+ # The S3 event is set up with the following resources:
31
+ #
32
+ # - S3 Bucket
33
+ # - S3 Bucket Notification Configuration
34
+ # - SNS Topic
35
+ # - SNS Subscription
36
+ #
37
+ # @param [String] bucket_name
38
+ # @param [Hash] props
3
39
  def s3_event(bucket_name, props={})
4
40
  stack_name = declare_s3_bucket_resources(bucket_name) # only set up once per bucket
5
- declare_sns_subscription(TopicArn: "!Ref #{stack_name}SnsTopic") # set up subscription every time
41
+ sns_subscription_properties = {
42
+ **props[:sns_subscription_properties] || {},
43
+ TopicArn: "!Ref #{stack_name}SnsTopic"
44
+ }
45
+
46
+ declare_sns_subscription(sns_subscription_properties) # set up subscription every time
6
47
  end
7
48
 
8
49
  # Returns stack_name
data/lib/jets/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Jets
2
- VERSION = "5.0.12"
2
+ VERSION = "5.0.14"
3
3
  end
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.12
4
+ version: 5.0.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tung Nguyen
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-04-15 00:00:00.000000000 Z
11
+ date: 2024-05-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: actionmailer