jets 5.0.11 → 5.0.13

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: e0f81036f4a6561d9a79f029ca1362a8f48ad234b5318d97126b4530aee2ea27
4
- data.tar.gz: 1051b3344523c20ed370a2602b65de25c71d1bce50a5c7cb67ef9dcbcd97e190
3
+ metadata.gz: 9589a505325960693872eb2f2c0dd2303bb5ec299e4ee9a50017e1deb4928180
4
+ data.tar.gz: 1433cdb88f01bf156d4b2615621dffd151e2259a41bb1d9ee79e7888edd70443
5
5
  SHA512:
6
- metadata.gz: f47b839cb9d3138c110d825a3936f0b823b7317e9f6559de1b199f64bad9820bd7716d04576f16ee27242a82e3090877967a6bc540dbe611afdd065e44deb8ff
7
- data.tar.gz: a3bca9d28b17ce9a133b1a35bb01154e35601233ce9630172c5be15fe063e341df8af12d6a534628f8c022ac93093276bb879921e8b69d39b9dcc167cc34195b
6
+ metadata.gz: f7b938b08f72022a066bd9e52c474543c9787309da7927c14e35dbe205f5bbce413bedb40e25a5e15a78c6c8f647f0efb0aafa9d6b69f652a64a915e7c649705
7
+ data.tar.gz: a3376cca3d5ced2a1ab83d96b06e8c6b4b24f7f706498c5b0955cef0a7fb1e8a646078f22d5c60dad7ec7882f388f2541e3344b27d22204a0291b61628fefc57
data/CHANGELOG.md CHANGED
@@ -3,6 +3,13 @@
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.13] - 2024-04-26
7
+ - [#720](https://github.com/rubyonjets/jets/pull/720) Update docs link in status.rb
8
+ - [#723](https://github.com/rubyonjets/jets/pull/723) fix prewarming post deploy
9
+
10
+ ## [5.0.12] - 2024-04-15
11
+ - [#718](https://github.com/rubyonjets/jets/pull/718) fixes for dotenv 3.1
12
+
6
13
  ## [5.0.11] - 2024-03-20
7
14
  - [#711](https://github.com/rubyonjets/jets/pull/711) Fix controller testing in jets 5 - handling of params and query
8
15
  - [#715](https://github.com/rubyonjets/jets/pull/715) remove force_encoding that causes issues for international characters
@@ -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
data/jets.gemspec CHANGED
@@ -1,30 +1,28 @@
1
- # coding: utf-8
2
1
  lib = File.expand_path("../lib", __FILE__)
3
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
3
  require "jets/version"
5
4
  require "jets/rdoc"
6
5
 
7
6
  Gem::Specification.new do |spec|
8
- spec.name = "jets"
9
- spec.version = Jets::VERSION
10
- spec.author = "Tung Nguyen"
11
- spec.email = "tongueroo@gmail.com"
12
- spec.summary = "Ruby Serverless Framework"
13
- spec.description = "Jets is a framework that allows you to create serverless applications with a beautiful language: Ruby. It includes everything required to build and deploy an application. Jets leverages the power of Ruby to make serverless joyful for everyone."
14
- spec.homepage = "https://rubyonjets.com"
15
- spec.license = "MIT"
7
+ spec.name = "jets"
8
+ spec.version = Jets::VERSION
9
+ spec.author = "Tung Nguyen"
10
+ spec.email = "tongueroo@gmail.com"
11
+ spec.summary = "Ruby Serverless Framework"
12
+ spec.description = "Jets is a framework that allows you to create serverless applications with a beautiful language: Ruby. It includes everything required to build and deploy an application. Jets leverages the power of Ruby to make serverless joyful for everyone."
13
+ spec.homepage = "https://rubyonjets.com"
14
+ spec.license = "MIT"
16
15
 
17
- spec.required_ruby_version = ['>= 2.7.0']
16
+ spec.required_ruby_version = [">= 2.7.0"]
18
17
  spec.rdoc_options += Jets::Rdoc.options
19
18
 
20
- vendor_files = Dir.glob("vendor/**/*")
21
- gem_files = `git -C "#{File.dirname(__FILE__)}" ls-files -z`.split("\x0").reject do |f|
19
+ vendor_files = Dir.glob("vendor/**/*")
20
+ gem_files = `git -C "#{File.dirname(__FILE__)}" ls-files -z`.split("\x0").reject do |f|
22
21
  f.match(%r{^(test|spec|features|docs)/})
23
22
  end
24
- spec.files = gem_files + vendor_files
25
- spec.bindir = "exe"
26
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
27
- spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
23
+ spec.files = gem_files + vendor_files
24
+ spec.bindir = "exe"
25
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
28
26
  spec.require_paths = ["lib"]
29
27
 
30
28
  spec.add_dependency "actionmailer", "~> 7.0.8"
@@ -50,7 +48,7 @@ Gem::Specification.new do |spec|
50
48
  spec.add_dependency "cfn_response"
51
49
  spec.add_dependency "cfn-status", ">= 0.5.0"
52
50
  spec.add_dependency "cli-format", ">= 0.4.0"
53
- spec.add_dependency "dotenv"
51
+ spec.add_dependency "dotenv", ">= 3.1"
54
52
  spec.add_dependency "dsl_evaluator", ">= 0.3.0" # for DslEvaluator.print_code
55
53
  spec.add_dependency "gems"
56
54
  spec.add_dependency "hashie"
@@ -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
 
data/lib/jets/dotenv.rb CHANGED
@@ -1,23 +1,29 @@
1
- require 'dotenv'
1
+ require "dotenv"
2
2
 
3
3
  class Jets::Dotenv
4
- def self.load!(remote=false)
4
+ def self.load!(remote = false)
5
5
  new(remote).load!
6
6
  end
7
7
 
8
- def initialize(remote=false)
9
- @remote = ENV['JETS_ENV_REMOTE'] || remote
8
+ def initialize(remote = false)
9
+ @remote = ENV["JETS_ENV_REMOTE"] || remote
10
10
  end
11
11
 
12
+ # @@vars cache to prevent multiple calls to Ssm
13
+ # Tricky note: The cache also prevents the second call to Dotenv.load from
14
+ # returning {} vars. Dotenv 3.0 will not return the vars if it has already been loaded
15
+ # in the ENV. We want this side-effect due to the new way Dotenv 3.0 works.
16
+ @@vars = nil
12
17
  def load!
18
+ return @@vars if @@vars
13
19
  return if on_aws? # this prevents ssm calls if used in dotenv files
14
20
  vars = ::Dotenv.load(*dotenv_files)
15
- Ssm.new(vars).interpolate!
21
+ @@vars = Ssm.new(vars).interpolate!
16
22
  end
17
23
 
18
24
  def on_aws?
19
- return true if ENV['ON_AWS']
20
- !!ENV['_HANDLER'] # https://docs.aws.amazon.com/lambda/latest/dg/lambda-environment-variables.html
25
+ return true if ENV["ON_AWS"]
26
+ !!ENV["_HANDLER"] # https://docs.aws.amazon.com/lambda/latest/dg/lambda-environment-variables.html
21
27
  end
22
28
 
23
29
  # dotenv files with the following precedence:
@@ -30,17 +36,16 @@ class Jets::Dotenv
30
36
  # - .env - The original (lowest)
31
37
  #
32
38
  def dotenv_files
33
- files = [
34
- root.join(".env"),
35
- (root.join(".env.local") unless (Jets.env.test? || @remote)),
36
- root.join(".env.#{Jets.env}"),
37
- (root.join(".env.#{Jets.env}.local") unless @remote),
38
- ]
39
+ files = []
40
+
41
+ files << files << root.join(".env.#{Jets.env}.#{Jets.extra}") if Jets.extra
39
42
  files << root.join(".env.#{Jets.env}.remote") if @remote
40
- if Jets.extra
41
- files << root.join(".env.#{Jets.env}.#{Jets.extra}")
42
- end
43
- files.compact
43
+ files << root.join(".env.#{Jets.env}.local") unless @remote
44
+ files << root.join(".env.#{Jets.env}")
45
+ files << root.join(".env.local") unless Jets.env.test? || @remote
46
+ files << root.join(".env")
47
+
48
+ files.compact.map(&:to_s)
44
49
  end
45
50
 
46
51
  def root
data/lib/jets/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Jets
2
- VERSION = "5.0.11"
2
+ VERSION = "5.0.13"
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.11
4
+ version: 5.0.13
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-03-20 00:00:00.000000000 Z
11
+ date: 2024-04-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: actionmailer
@@ -324,14 +324,14 @@ dependencies:
324
324
  requirements:
325
325
  - - ">="
326
326
  - !ruby/object:Gem::Version
327
- version: '0'
327
+ version: '3.1'
328
328
  type: :runtime
329
329
  prerelease: false
330
330
  version_requirements: !ruby/object:Gem::Requirement
331
331
  requirements:
332
332
  - - ">="
333
333
  - !ruby/object:Gem::Version
334
- version: '0'
334
+ version: '3.1'
335
335
  - !ruby/object:Gem::Dependency
336
336
  name: dsl_evaluator
337
337
  requirement: !ruby/object:Gem::Requirement