jets 3.1.0 → 4.0.0
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/.github/FUNDING.yml +1 -0
- data/CHANGELOG.md +55 -0
- data/README.md +1 -5
- data/backers.md +0 -5
- data/jets.gemspec +4 -4
- data/lib/jets/application/defaults.rb +7 -2
- data/lib/jets/application.rb +6 -7
- data/lib/jets/aws_info.rb +2 -2
- data/lib/jets/aws_services.rb +8 -0
- data/lib/jets/booter.rb +64 -5
- data/lib/jets/builders/code_builder.rb +35 -21
- data/lib/jets/builders/gem_replacer.rb +2 -7
- data/lib/jets/builders/ruby_packager.rb +37 -4
- data/lib/jets/cfn/builders/api_deployment_builder.rb +1 -1
- data/lib/jets/cfn/builders/api_gateway_builder.rb +31 -27
- data/lib/jets/cfn/builders/api_resources_builder.rb +1 -1
- data/lib/jets/cfn/builders/authorizer_builder.rb +1 -1
- data/lib/jets/cfn/builders/base_child_builder.rb +20 -1
- data/lib/jets/cfn/builders/interface.rb +19 -0
- data/lib/jets/cfn/builders/page_builder.rb +80 -0
- data/lib/jets/cfn/builders/parent_builder.rb +22 -3
- data/lib/jets/cfn/builders/shared_builder.rb +1 -1
- data/lib/jets/cfn/built_template.rb +1 -1
- data/lib/jets/cfn/ship.rb +9 -2
- data/lib/jets/cfn/status.rb +1 -1
- data/lib/jets/cfn/upload.rb +2 -2
- data/lib/jets/cli.rb +12 -5
- data/lib/jets/commands/call/base_guesser.rb +1 -1
- data/lib/jets/commands/clean/log.rb +3 -3
- data/lib/jets/commands/configure.rb +1 -1
- data/lib/jets/commands/console.rb +7 -1
- data/lib/jets/commands/delete.rb +1 -1
- data/lib/jets/commands/deploy.rb +2 -2
- data/lib/jets/commands/main.rb +6 -3
- data/lib/jets/commands/stack_info.rb +1 -1
- data/lib/jets/commands/templates/skeleton/Gemfile.tt +1 -1
- data/lib/jets/commands/templates/skeleton/config/application.rb.tt +2 -1
- data/lib/jets/commands/url.rb +1 -1
- data/lib/jets/core.rb +14 -2
- data/lib/jets/core_ext/file.rb +9 -0
- data/lib/jets/dotenv.rb +2 -2
- data/lib/jets/erb.rb +1 -1
- data/lib/jets/inflections.rb +1 -1
- data/lib/jets/internal/app/controllers/jets/bare_controller.rb +1 -1
- data/lib/jets/internal/app/functions/jets/base_path.rb +93 -3
- data/lib/jets/internal/app/functions/jets/base_path_mapping.rb +79 -8
- data/lib/jets/internal/app/jobs/jets/preheat_job.rb +6 -2
- data/lib/jets/job/base.rb +2 -0
- data/lib/jets/job/helpers/sns_event_helper.rb +8 -0
- data/lib/jets/job/helpers/sqs_event_helper.rb +8 -0
- data/lib/jets/lambda/dsl.rb +7 -1
- data/lib/jets/{naming.rb → names.rb} +3 -3
- data/lib/jets/preheat.rb +9 -6
- data/lib/jets/resource/api_gateway/base_path/role.rb +1 -1
- data/lib/jets/resource/api_gateway/deployment.rb +2 -2
- data/lib/jets/resource/api_gateway/rest_api/logical_id/message.rb +13 -3
- data/lib/jets/resource/api_gateway/rest_api/logical_id.rb +1 -1
- data/lib/jets/resource/api_gateway/rest_api/routes/change/base.rb +11 -40
- data/lib/jets/resource/api_gateway/rest_api/routes/change/media_types.rb +1 -1
- data/lib/jets/resource/api_gateway/rest_api/routes/change/page.rb +2 -2
- data/lib/jets/resource/api_gateway/rest_api/routes/change.rb +1 -1
- data/lib/jets/resource/api_gateway/rest_api.rb +12 -2
- data/lib/jets/resource/child_stack/api_deployment.rb +1 -1
- data/lib/jets/resource/child_stack/api_resource/page.rb +1 -1
- data/lib/jets/resource/child_stack/api_resource.rb +1 -1
- data/lib/jets/resource/child_stack/app_class.rb +1 -1
- data/lib/jets/resource/child_stack/shared.rb +1 -1
- data/lib/jets/resource/iam/base_role_definition.rb +0 -5
- data/lib/jets/resource/iam/policy.rb +31 -0
- data/lib/jets/resource/lambda/function/environment.rb +6 -3
- data/lib/jets/resource/lambda/function.rb +3 -3
- data/lib/jets/router/route.rb +18 -2
- data/lib/jets/router/state.rb +47 -0
- data/lib/jets/router.rb +12 -0
- data/lib/jets/stack/main/dsl/lambda.rb +1 -0
- data/lib/jets/tmp_loader.rb +1 -1
- data/lib/jets/turbo/database_yaml.rb +1 -1
- data/lib/jets/util/yamler.rb +16 -0
- data/lib/jets/version.rb +1 -1
- data/lib/jets.rb +2 -0
- metadata +26 -20
- data/.python-version +0 -1
- data/.ruby-version +0 -1
@@ -16,7 +16,8 @@ class Jets::Resource::Lambda::Function
|
|
16
16
|
def jets_env
|
17
17
|
env = {}
|
18
18
|
env[:JETS_ENV] = Jets.env.to_s
|
19
|
-
env[:JETS_ENV_EXTRA] = Jets.
|
19
|
+
env[:JETS_ENV_EXTRA] = Jets.extra if Jets.extra # keep JETS_ENV_EXTRA for backwards compatibility
|
20
|
+
env[:JETS_EXTRA] = Jets.extra if Jets.extra
|
20
21
|
env[:JETS_PROJECT_NAME] = ENV['JETS_PROJECT_NAME'] if ENV['JETS_PROJECT_NAME']
|
21
22
|
env[:JETS_STAGE] = Jets::Resource::ApiGateway::Deployment.stage_name
|
22
23
|
env[:JETS_AWS_ACCOUNT] = Jets.aws.account
|
@@ -36,21 +37,23 @@ class Jets::Resource::Lambda::Function
|
|
36
37
|
exit 1
|
37
38
|
end
|
38
39
|
|
39
|
-
# https://docs.aws.amazon.com/lambda/latest/dg/
|
40
|
+
# https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html
|
40
41
|
def reserved_variables
|
41
42
|
%w[
|
42
43
|
_HANDLER
|
44
|
+
AWS_DEFAULT_REGION
|
43
45
|
AWS_REGION
|
44
46
|
AWS_EXECUTION_ENV
|
45
47
|
AWS_LAMBDA_FUNCTION_NAME
|
46
48
|
AWS_LAMBDA_FUNCTION_MEMORY_SIZE
|
47
49
|
AWS_LAMBDA_FUNCTION_VERSION
|
50
|
+
AWS_LAMBDA_INITIALIZATION_TYPE
|
48
51
|
AWS_LAMBDA_LOG_GROUP_NAME
|
49
52
|
AWS_LAMBDA_LOG_STREAM_NAME
|
53
|
+
AWS_ACCESS_KEY
|
50
54
|
AWS_ACCESS_KEY_ID
|
51
55
|
AWS_SECRET_ACCESS_KEY
|
52
56
|
AWS_SESSION_TOKEN
|
53
|
-
TZ
|
54
57
|
LAMBDA_TASK_ROOT
|
55
58
|
LAMBDA_RUNTIME_DIR
|
56
59
|
AWS_LAMBDA_RUNTIME_API
|
@@ -136,9 +136,9 @@ module Jets::Resource::Lambda
|
|
136
136
|
end
|
137
137
|
|
138
138
|
def get_layers(runtime)
|
139
|
-
return nil unless runtime =~ /^ruby/
|
139
|
+
return nil unless runtime =~ /^ruby/ || runtime =~ /^provided/
|
140
140
|
return Jets.config.lambda.layers if Jets.config.gems.disable
|
141
|
-
|
141
|
+
|
142
142
|
["!Ref GemLayer"] + Jets.config.lambda.layers
|
143
143
|
end
|
144
144
|
|
@@ -208,7 +208,7 @@ module Jets::Resource::Lambda
|
|
208
208
|
def get_descripton(props)
|
209
209
|
props[:description] || default_description
|
210
210
|
end
|
211
|
-
|
211
|
+
|
212
212
|
def default_description
|
213
213
|
# Example values:
|
214
214
|
# @app_class: Admin/PagesController
|
data/lib/jets/router/route.rb
CHANGED
@@ -16,6 +16,22 @@ class Jets::Router
|
|
16
16
|
@path = compute_path
|
17
17
|
@to = compute_to
|
18
18
|
@as = compute_as
|
19
|
+
# Pretty tricky. The @options[:mount_class] is a class that is mounted.
|
20
|
+
# For Grape apps, calling ActiveSupport to_json on a Grape class causes an infinite loop.
|
21
|
+
# Can reproduce with `GrapeApp.to_json`
|
22
|
+
# There's some type of collision between Grape and ActiveSupport to_json.
|
23
|
+
# Coerce mount_class option into a string so that when the route is serialized to JSON
|
24
|
+
# it is a string it won't cause an infinite loop. This allows the apigw routes to be
|
25
|
+
# saved to s3 and loaded back up at the end of a deploy.
|
26
|
+
# Related PR: smarter apigw routes paging calculation #635
|
27
|
+
# https://github.com/boltops-tools/jets/pull/635
|
28
|
+
# Debugging notes: https://gist.github.com/tongueroo/c9baa7e98d5ad68bbdd770fde4651963
|
29
|
+
@options[:mount_class] = @options[:mount_class].to_s if @options[:mount_class]
|
30
|
+
end
|
31
|
+
|
32
|
+
# Constantize back to the original class
|
33
|
+
def mount_class
|
34
|
+
@options[:mount_class].constantize
|
19
35
|
end
|
20
36
|
|
21
37
|
def compute_path
|
@@ -187,8 +203,8 @@ class Jets::Router
|
|
187
203
|
end.to_h
|
188
204
|
end
|
189
205
|
|
190
|
-
def
|
191
|
-
|
206
|
+
def to_h
|
207
|
+
JSON.load(to_json)
|
192
208
|
end
|
193
209
|
|
194
210
|
private
|
@@ -0,0 +1,47 @@
|
|
1
|
+
class Jets::Router
|
2
|
+
class State
|
3
|
+
extend Memoist
|
4
|
+
include Jets::AwsServices
|
5
|
+
|
6
|
+
def load(filename)
|
7
|
+
resp = s3.get_object(
|
8
|
+
bucket: Jets.aws.s3_bucket,
|
9
|
+
key: s3_storage_path(filename),
|
10
|
+
)
|
11
|
+
text = resp.body.read
|
12
|
+
JSON.load(text)
|
13
|
+
rescue
|
14
|
+
end
|
15
|
+
memoize :load
|
16
|
+
|
17
|
+
# Save previously deployed APIGW routes state
|
18
|
+
def save(filename, data)
|
19
|
+
# body = Jets::Router.routes.to_json
|
20
|
+
# body = JSON.generate(Jets::Cfn::Builders::PageBuilder.pages)
|
21
|
+
body = data.respond_to?(:to_json) ? data.to_json : JSON.generate(data)
|
22
|
+
s3.put_object(
|
23
|
+
body: body,
|
24
|
+
bucket: Jets.aws.s3_bucket,
|
25
|
+
key: s3_storage_path(filename),
|
26
|
+
)
|
27
|
+
end
|
28
|
+
|
29
|
+
# Examples:
|
30
|
+
#
|
31
|
+
# jets/state/apigw/pages.json
|
32
|
+
# jets/state/apigw/routes.json
|
33
|
+
#
|
34
|
+
# Fetch or loaded in:
|
35
|
+
#
|
36
|
+
# pages.json: Jets::Cfn::Builders::PageBuilder#old_pages
|
37
|
+
# routes.json: Jets::Resource::ApiGateway::RestApi::Routes::Change::Base#deployed_routes
|
38
|
+
#
|
39
|
+
# Saved in:
|
40
|
+
#
|
41
|
+
# Jets::Cfn::Ship#save_apigw_state
|
42
|
+
#
|
43
|
+
def s3_storage_path(filename)
|
44
|
+
"jets/state/apigw/#{filename}.json"
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
data/lib/jets/router.rb
CHANGED
@@ -134,6 +134,18 @@ module Jets
|
|
134
134
|
drawn_router.routes
|
135
135
|
end
|
136
136
|
|
137
|
+
# So we can save state in s3 post deploy. Example of structure.
|
138
|
+
#
|
139
|
+
# [
|
140
|
+
# {"scope"=>{"options"=>{"as"=>"posts", "prefix"=>"posts", "param"=>nil, "from"=>"resources"}, "parent"=>{"options"=>{}, "parent"=>nil, "level"=>1}, "level"=>2}, "options"=>{"to"=>"posts#index", "from_scope"=>true, "path"=>"posts", "method"=>"get"}, "path"=>"posts", "to"=>"posts#index", "as"=>"posts"},
|
141
|
+
# {"scope"=>{"options"=>{"as"=>"posts", "prefix"=>"posts", "param"=>nil, "from"=>"resources"}, "parent"=>{"options"=>{}, "parent"=>nil, "level"=>1}, "level"=>2}, "options"=>{"to"=>"posts#new", "from_scope"=>true, "path"=>"posts/new", "method"=>"get"}, "path"=>"posts/new", "to"=>"posts#new", "as"=>"new_post"},
|
142
|
+
# ...
|
143
|
+
# ]
|
144
|
+
#
|
145
|
+
def to_json
|
146
|
+
JSON.dump(routes.map(&:to_h))
|
147
|
+
end
|
148
|
+
|
137
149
|
# Returns all paths including subpaths.
|
138
150
|
# Example:
|
139
151
|
# Input: ["posts/:id/edit"]
|
data/lib/jets/tmp_loader.rb
CHANGED
@@ -9,7 +9,7 @@ module Jets
|
|
9
9
|
def initialize(yaml_path=nil)
|
10
10
|
yaml_path ||= "#{Jets.root}/handlers/data.yml"
|
11
11
|
return unless File.exist?(yaml_path)
|
12
|
-
@data =
|
12
|
+
@data = Jets::Util::Yamler.load_file(yaml_path)
|
13
13
|
@s3_bucket = @data['s3_bucket']
|
14
14
|
@rack_zip = @data['rack_zip']
|
15
15
|
end
|
@@ -5,7 +5,7 @@ class Jets::Turbo
|
|
5
5
|
return unless File.exist?(current_yaml)
|
6
6
|
|
7
7
|
vars = {}
|
8
|
-
current_database =
|
8
|
+
current_database = Jets::Util::Yamler.load_file(current_yaml)
|
9
9
|
database_names = infer_database_name(current_database)
|
10
10
|
vars.merge!(database_names)
|
11
11
|
vars['adapter'] = current_database['development']['adapter']
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# Named Yamler to make it clear it's not the YAML class.
|
2
|
+
class Jets::Util
|
3
|
+
class Yamler
|
4
|
+
class << self
|
5
|
+
def load(text)
|
6
|
+
options = RUBY_VERSION =~ /^3/ ? {aliases: true} : {} # Ruby 3.0.0 deprecates aliases: true
|
7
|
+
YAML.load(text, **options)
|
8
|
+
end
|
9
|
+
|
10
|
+
def load_file(path)
|
11
|
+
options = RUBY_VERSION =~ /^3/ ? {aliases: true} : {} # Ruby 3.0.0 deprecates aliases: true
|
12
|
+
YAML.load_file(path, **options)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
data/lib/jets/version.rb
CHANGED
data/lib/jets.rb
CHANGED
@@ -3,6 +3,7 @@ $stdout.sync = true unless ENV["JETS_STDOUT_SYNC"] == "0"
|
|
3
3
|
$:.unshift(File.expand_path("../", __FILE__))
|
4
4
|
|
5
5
|
require "jets/core_ext/bundler"
|
6
|
+
require "jets/core_ext/file"
|
6
7
|
require "jets/autoloaders"
|
7
8
|
Jets::Autoloaders.log! if ENV["JETS_AUTOLOAD_LOG"]
|
8
9
|
Jets::Autoloaders.once.setup # must be called before cli.setup
|
@@ -17,6 +18,7 @@ require "active_support/ordered_options"
|
|
17
18
|
require "cfn_camelizer"
|
18
19
|
require "cfn_status"
|
19
20
|
require "fileutils"
|
21
|
+
require "json"
|
20
22
|
require "memoist"
|
21
23
|
require "rainbow/ext/string"
|
22
24
|
require "serverlessgems"
|
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:
|
4
|
+
version: 4.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tung Nguyen
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-05-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: actionmailer
|
@@ -252,16 +252,16 @@ dependencies:
|
|
252
252
|
name: cfn_camelizer
|
253
253
|
requirement: !ruby/object:Gem::Requirement
|
254
254
|
requirements:
|
255
|
-
- - "
|
255
|
+
- - ">="
|
256
256
|
- !ruby/object:Gem::Version
|
257
|
-
version: 0.4.
|
257
|
+
version: 0.4.9
|
258
258
|
type: :runtime
|
259
259
|
prerelease: false
|
260
260
|
version_requirements: !ruby/object:Gem::Requirement
|
261
261
|
requirements:
|
262
|
-
- - "
|
262
|
+
- - ">="
|
263
263
|
- !ruby/object:Gem::Version
|
264
|
-
version: 0.4.
|
264
|
+
version: 0.4.9
|
265
265
|
- !ruby/object:Gem::Dependency
|
266
266
|
name: cfn_response
|
267
267
|
requirement: !ruby/object:Gem::Requirement
|
@@ -434,16 +434,16 @@ dependencies:
|
|
434
434
|
name: serverlessgems
|
435
435
|
requirement: !ruby/object:Gem::Requirement
|
436
436
|
requirements:
|
437
|
-
- - "
|
437
|
+
- - ">="
|
438
438
|
- !ruby/object:Gem::Version
|
439
|
-
version: 0.
|
439
|
+
version: 0.2.0
|
440
440
|
type: :runtime
|
441
441
|
prerelease: false
|
442
442
|
version_requirements: !ruby/object:Gem::Requirement
|
443
443
|
requirements:
|
444
|
-
- - "
|
444
|
+
- - ">="
|
445
445
|
- !ruby/object:Gem::Version
|
446
|
-
version: 0.
|
446
|
+
version: 0.2.0
|
447
447
|
- !ruby/object:Gem::Dependency
|
448
448
|
name: shotgun
|
449
449
|
requirement: !ruby/object:Gem::Requirement
|
@@ -490,16 +490,16 @@ dependencies:
|
|
490
490
|
name: zeitwerk
|
491
491
|
requirement: !ruby/object:Gem::Requirement
|
492
492
|
requirements:
|
493
|
-
- - "
|
493
|
+
- - ">="
|
494
494
|
- !ruby/object:Gem::Version
|
495
|
-
version: 2.
|
495
|
+
version: 2.6.0
|
496
496
|
type: :runtime
|
497
497
|
prerelease: false
|
498
498
|
version_requirements: !ruby/object:Gem::Requirement
|
499
499
|
requirements:
|
500
|
-
- - "
|
500
|
+
- - ">="
|
501
501
|
- !ruby/object:Gem::Version
|
502
|
-
version: 2.
|
502
|
+
version: 2.6.0
|
503
503
|
- !ruby/object:Gem::Dependency
|
504
504
|
name: bundler
|
505
505
|
requirement: !ruby/object:Gem::Requirement
|
@@ -590,6 +590,7 @@ files:
|
|
590
590
|
- ".cody/docs/bin/subnav.sh"
|
591
591
|
- ".cody/docs/buildspec.yml"
|
592
592
|
- ".cody/docs/project.rb"
|
593
|
+
- ".github/FUNDING.yml"
|
593
594
|
- ".github/ISSUE_TEMPLATE.md"
|
594
595
|
- ".github/ISSUE_TEMPLATE/bug_report.md"
|
595
596
|
- ".github/ISSUE_TEMPLATE/documentation.md"
|
@@ -598,9 +599,7 @@ files:
|
|
598
599
|
- ".github/PULL_REQUEST_TEMPLATE.md"
|
599
600
|
- ".gitignore"
|
600
601
|
- ".gitmodules"
|
601
|
-
- ".python-version"
|
602
602
|
- ".rspec"
|
603
|
-
- ".ruby-version"
|
604
603
|
- CHANGELOG.md
|
605
604
|
- CONDUCT.md
|
606
605
|
- CONTRIBUTING.md
|
@@ -660,6 +659,7 @@ files:
|
|
660
659
|
- lib/jets/cfn/builders/function_builder.rb
|
661
660
|
- lib/jets/cfn/builders/interface.rb
|
662
661
|
- lib/jets/cfn/builders/job_builder.rb
|
662
|
+
- lib/jets/cfn/builders/page_builder.rb
|
663
663
|
- lib/jets/cfn/builders/parent_builder.rb
|
664
664
|
- lib/jets/cfn/builders/parent_builder/stagger.rb
|
665
665
|
- lib/jets/cfn/builders/rule_builder.rb
|
@@ -812,6 +812,7 @@ files:
|
|
812
812
|
- lib/jets/controller/stage.rb
|
813
813
|
- lib/jets/core.rb
|
814
814
|
- lib/jets/core_ext/bundler.rb
|
815
|
+
- lib/jets/core_ext/file.rb
|
815
816
|
- lib/jets/core_ext/kernel.rb
|
816
817
|
- lib/jets/db.rb
|
817
818
|
- lib/jets/dotenv.rb
|
@@ -863,6 +864,8 @@ files:
|
|
863
864
|
- lib/jets/job/helpers/kinesis_event_helper.rb
|
864
865
|
- lib/jets/job/helpers/log_event_helper.rb
|
865
866
|
- lib/jets/job/helpers/s3_event_helper.rb
|
867
|
+
- lib/jets/job/helpers/sns_event_helper.rb
|
868
|
+
- lib/jets/job/helpers/sqs_event_helper.rb
|
866
869
|
- lib/jets/klass.rb
|
867
870
|
- lib/jets/lambda/dsl.rb
|
868
871
|
- lib/jets/lambda/function.rb
|
@@ -878,7 +881,7 @@ files:
|
|
878
881
|
- lib/jets/middleware/default_stack.rb
|
879
882
|
- lib/jets/middleware/layer.rb
|
880
883
|
- lib/jets/middleware/stack.rb
|
881
|
-
- lib/jets/
|
884
|
+
- lib/jets/names.rb
|
882
885
|
- lib/jets/overrides/lambda.rb
|
883
886
|
- lib/jets/overrides/lambda/marshaller.rb
|
884
887
|
- lib/jets/overrides/rails.rb
|
@@ -943,6 +946,7 @@ files:
|
|
943
946
|
- lib/jets/resource/iam/class_role.rb
|
944
947
|
- lib/jets/resource/iam/function_role.rb
|
945
948
|
- lib/jets/resource/iam/managed_policy.rb
|
949
|
+
- lib/jets/resource/iam/policy.rb
|
946
950
|
- lib/jets/resource/iam/policy_document.rb
|
947
951
|
- lib/jets/resource/iot/topic_rule.rb
|
948
952
|
- lib/jets/resource/lambda/event_source_mapping.rb
|
@@ -983,6 +987,7 @@ files:
|
|
983
987
|
- lib/jets/router/route.rb
|
984
988
|
- lib/jets/router/route/authorizer.rb
|
985
989
|
- lib/jets/router/scope.rb
|
990
|
+
- lib/jets/router/state.rb
|
986
991
|
- lib/jets/router/util.rb
|
987
992
|
- lib/jets/rule/base.rb
|
988
993
|
- lib/jets/rule/dsl.rb
|
@@ -1033,6 +1038,7 @@ files:
|
|
1033
1038
|
- lib/jets/turbo/rails.rb
|
1034
1039
|
- lib/jets/turbo/templates/config/database.yml
|
1035
1040
|
- lib/jets/util.rb
|
1041
|
+
- lib/jets/util/yamler.rb
|
1036
1042
|
- lib/jets/version.rb
|
1037
1043
|
- readme/prerelease.md
|
1038
1044
|
- readme/testing.md
|
@@ -1086,16 +1092,16 @@ require_paths:
|
|
1086
1092
|
- lib
|
1087
1093
|
required_ruby_version: !ruby/object:Gem::Requirement
|
1088
1094
|
requirements:
|
1089
|
-
- - "
|
1095
|
+
- - ">="
|
1090
1096
|
- !ruby/object:Gem::Version
|
1091
|
-
version:
|
1097
|
+
version: 2.5.0
|
1092
1098
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
1093
1099
|
requirements:
|
1094
1100
|
- - ">="
|
1095
1101
|
- !ruby/object:Gem::Version
|
1096
1102
|
version: '0'
|
1097
1103
|
requirements: []
|
1098
|
-
rubygems_version: 3.
|
1104
|
+
rubygems_version: 3.4.10
|
1099
1105
|
signing_key:
|
1100
1106
|
specification_version: 4
|
1101
1107
|
summary: Ruby Serverless Framework
|
data/.python-version
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
3.8.6
|
data/.ruby-version
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
2.7.5
|