jets 3.0.3 → 3.0.8
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 +24 -0
- data/README.md +4 -0
- data/jets.gemspec +1 -1
- data/lib/jets/aws_info.rb +1 -1
- data/lib/jets/builders/md5_zip.rb +1 -1
- data/lib/jets/builders/tidy.rb +1 -0
- data/lib/jets/commands/templates/skeleton/Gemfile.tt +2 -2
- data/lib/jets/controller/callbacks.rb +6 -18
- data/lib/jets/controller/rack/adapter.rb +14 -8
- data/lib/jets/overrides/rails/migration_checker.rb +6 -2
- data/lib/jets/resource/lambda/function.rb +8 -1
- data/lib/jets/spec_helpers/controllers.rb +2 -1
- data/lib/jets/spec_helpers/controllers/request.rb +11 -5
- data/lib/jets/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: db3aab7667c9ee9aaa2149d30132dbf423516b4195e643dad4f8a2108fe03bfc
|
4
|
+
data.tar.gz: 5e126f386e4d0bba1c3714e66470e692c08c099c932f8f6a1c9a62556487aabe
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3c57ac868b4d54d0eff01884597af16188f59584eb20c8a348ce9bb8936e19dd50cc6f5d2271b7e0a4a0078586b40be9dcb5f47f92a870164482369662831aaa
|
7
|
+
data.tar.gz: 83757df158f81b1447652c1edbe5e684c3cad325a7326a567d6fab391f6bae3ed86b847a87b17a62fb07314053e40e1a10575b8a97d76c8107ff598980ad285d
|
data/CHANGELOG.md
CHANGED
@@ -3,6 +3,30 @@
|
|
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
|
+
## [3.0.8] - 2021-06-03
|
7
|
+
- Update cli.md (#560)
|
8
|
+
- respect .jetsignore also (#562)
|
9
|
+
|
10
|
+
## [3.0.7] - 2021-05-27
|
11
|
+
- Dont bypass class_attribute setters (#559)
|
12
|
+
- update pg version in jets new Gemfile to latest (#558)
|
13
|
+
|
14
|
+
## [3.0.6] - 2021-05-27
|
15
|
+
- Handle Errors::InvalidClientTokenId when `get_caller_identity` fails (#543)
|
16
|
+
- Use description specifed in function properties (#545)
|
17
|
+
- allow multi value response headers (#556)
|
18
|
+
- rails support update
|
19
|
+
|
20
|
+
## [3.0.5] - 2021-04-23
|
21
|
+
- [#542](https://github.com/boltops-tools/jets/pull/542) fix custom layers
|
22
|
+
|
23
|
+
## [3.0.4] - 2021-04-13
|
24
|
+
- [#537](https://github.com/boltops-tools/jets/pull/537) Docs Add instructions for aws-cli prerequisite
|
25
|
+
- [#528](https://github.com/boltops-tools/jets/pull/528) Adjust permissions to fix custom layer
|
26
|
+
- [#539](https://github.com/boltops-tools/jets/pull/539) FIX DEPRECATION WARNING: connection_config is deprecated
|
27
|
+
- [#540](https://github.com/boltops-tools/jets/pull/540) Allow body param for controller request spec helpers
|
28
|
+
- update serverlessgems gem
|
29
|
+
|
6
30
|
## [3.0.3] - 2021-03-24
|
7
31
|
- [#532](https://github.com/boltops-tools/jets/pull/532) Update Copy Write Year
|
8
32
|
- [#536](https://github.com/boltops-tools/jets/pull/536) use mini_mime instead
|
data/README.md
CHANGED
@@ -16,6 +16,10 @@ Please **watch/star** this repo to help grow and support the project.
|
|
16
16
|
|
17
17
|
**Upgrading**: If you are upgrading Jets, please check on the [Upgrading Notes](http://rubyonjets.com/docs/extras/upgrading/).
|
18
18
|
|
19
|
+
## Sponsors
|
20
|
+
|
21
|
+
[](https://arist.co/)
|
22
|
+
|
19
23
|
## What is Ruby on Jets?
|
20
24
|
|
21
25
|
Jets is a Ruby Serverless Framework. Jets allows you to create serverless applications with a beautiful language: Ruby. It includes everything required to build an application and deploy it to AWS Lambda.
|
data/jets.gemspec
CHANGED
@@ -57,7 +57,7 @@ Gem::Specification.new do |spec|
|
|
57
57
|
spec.add_dependency "railties", "~> 6.1.0" # for ActiveRecord database_tasks.rb
|
58
58
|
spec.add_dependency "rainbow"
|
59
59
|
spec.add_dependency "recursive-open-struct"
|
60
|
-
spec.add_dependency "serverlessgems", "~> 0.1.
|
60
|
+
spec.add_dependency "serverlessgems", "~> 0.1.3"
|
61
61
|
spec.add_dependency "shotgun"
|
62
62
|
spec.add_dependency "text-table"
|
63
63
|
spec.add_dependency "thor"
|
data/lib/jets/aws_info.rb
CHANGED
@@ -55,7 +55,7 @@ module Jets
|
|
55
55
|
ENV['AWS_REGION'] ||= region
|
56
56
|
begin
|
57
57
|
sts.get_caller_identity.account
|
58
|
-
rescue Aws::Errors::MissingCredentialsError, Aws::Errors::NoSuchEndpointError
|
58
|
+
rescue Aws::Errors::MissingCredentialsError, Aws::Errors::NoSuchEndpointError, Aws::STS::Errors::InvalidClientTokenId
|
59
59
|
puts "INFO: You're missing AWS credentials. Only local services are currently available"
|
60
60
|
rescue Seahorse::Client::NetworkingError
|
61
61
|
puts "INFO: No internet connection available. Only local services are currently available"
|
@@ -23,7 +23,7 @@ module Jets::Builders
|
|
23
23
|
# => Creating zip file for /tmp/jets/demo/stage/bundled
|
24
24
|
|
25
25
|
# https://serverfault.com/questions/265675/how-can-i-zip-compress-a-symlink
|
26
|
-
command = "cd #{@path} && zip --symlinks -rq #{zip_file} ."
|
26
|
+
command = "cd #{@path} && chmod -R 755 . && zip --symlinks -rq #{zip_file} ."
|
27
27
|
sh(command)
|
28
28
|
# move out of the lower folder to the stage folder
|
29
29
|
# mv /tmp/jets/demo/stage/code/code.zip /tmp/jets/demo/stage/code.zip
|
data/lib/jets/builders/tidy.rb
CHANGED
@@ -35,6 +35,7 @@ module Jets::Builders
|
|
35
35
|
removals = always_removals
|
36
36
|
removals += get_removals("#{@project_root}/.gitignore")
|
37
37
|
removals += get_removals("#{@project_root}/.dockerignore")
|
38
|
+
removals += get_removals("#{@project_root}/.jetsignore")
|
38
39
|
removals = removals.reject do |p|
|
39
40
|
jetskeep.find do |keep|
|
40
41
|
p.include?(keep)
|
@@ -9,11 +9,11 @@ gem "jetpacker"
|
|
9
9
|
<% if @database == 'postgresql' %>
|
10
10
|
# Include pg gem if you are using ActiveRecord, remove next line
|
11
11
|
# and config/database.yml file if you are not
|
12
|
-
gem "pg", "~> 1.
|
12
|
+
gem "pg", "~> 1.2.3"
|
13
13
|
<% elsif @database == 'mysql' %>
|
14
14
|
# Include mysql2 gem if you are using ActiveRecord, remove next line
|
15
15
|
# and config/database.yml file if you are not
|
16
|
-
gem "mysql2", "~> 0.5.
|
16
|
+
gem "mysql2", "~> 0.5.3"
|
17
17
|
<% end %>
|
18
18
|
<% unless options[:mode] == 'job' -%>
|
19
19
|
gem "dynomite"
|
@@ -17,10 +17,12 @@ class Jets::Controller
|
|
17
17
|
end
|
18
18
|
|
19
19
|
def skip_before_action(meth, options = {})
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
20
|
+
self.before_actions = before_actions
|
21
|
+
.reject { |act| act.first.to_s == meth.to_s }
|
22
|
+
|
23
|
+
# If options include the `only` option,
|
24
|
+
# re-add the action using the setter with the `except` option
|
25
|
+
before_action(meth, { except: options[:only] }) if options[:only].present?
|
24
26
|
end
|
25
27
|
|
26
28
|
alias_method :append_before_action, :before_action
|
@@ -38,20 +40,6 @@ class Jets::Controller
|
|
38
40
|
end
|
39
41
|
|
40
42
|
alias_method :append_after_action, :after_action
|
41
|
-
|
42
|
-
private
|
43
|
-
|
44
|
-
def append_except_to_callbacks(callback_methods, meth, excepted_methods)
|
45
|
-
callback_methods.map! do |callback_method|
|
46
|
-
if callback_method.first.to_s == meth.to_s
|
47
|
-
exceptions = callback_method.second[:except] || []
|
48
|
-
exceptions.concat(Array.wrap(excepted_methods))
|
49
|
-
callback_method.second[:except] = exceptions
|
50
|
-
end
|
51
|
-
|
52
|
-
callback_method
|
53
|
-
end
|
54
|
-
end
|
55
43
|
end
|
56
44
|
end # included
|
57
45
|
|
@@ -34,14 +34,20 @@ module Jets::Controller::Rack
|
|
34
34
|
body = body.respond_to?(:read) ? body.read : body
|
35
35
|
body = Base64.encode64(body) if base64
|
36
36
|
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
37
|
+
{}.tap do |resp|
|
38
|
+
resp['statusCode'] = status
|
39
|
+
resp['body'] = body
|
40
|
+
resp['isBase64Encoded'] = base64
|
41
|
+
add_response_headers(resp, headers)
|
42
|
+
adjust_for_elb(resp)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
def add_response_headers(resp, headers)
|
47
|
+
resp['headers'] = headers.reject { |_, val| val.is_a?(Array) }
|
48
|
+
multi_value_headers = headers.select { |_, val| val.is_a?(Array) }
|
49
|
+
|
50
|
+
resp['multiValueHeaders'] = multi_value_headers unless multi_value_headers.blank?
|
45
51
|
end
|
46
52
|
|
47
53
|
# Note: ELB is not officially support. This is just in case users wish to manually
|
@@ -1,11 +1,15 @@
|
|
1
1
|
module ActiveRecord
|
2
2
|
module MigrationChecker
|
3
3
|
def prepare_test_db
|
4
|
-
current_config = ::ActiveRecord::Base.
|
4
|
+
current_config = ::ActiveRecord::Base.connection_db_config
|
5
5
|
all_configs = ::ActiveRecord::Base.configurations.configs_for(env_name: Jets.env)
|
6
6
|
|
7
7
|
needs_update = !all_configs.all? do |db_config|
|
8
|
-
::ActiveRecord::Tasks::DatabaseTasks.schema_up_to_date?(
|
8
|
+
::ActiveRecord::Tasks::DatabaseTasks.schema_up_to_date?(
|
9
|
+
db_config.configuration_hash,
|
10
|
+
::ActiveRecord::Base.schema_format,
|
11
|
+
nil
|
12
|
+
)
|
9
13
|
end
|
10
14
|
|
11
15
|
if needs_update
|
@@ -123,6 +123,7 @@ module Jets::Resource::Lambda
|
|
123
123
|
def finalize_properties!(props)
|
124
124
|
handler = full_handler(props)
|
125
125
|
runtime = get_runtime(props)
|
126
|
+
description = get_descripton(props)
|
126
127
|
managed = {
|
127
128
|
handler: handler,
|
128
129
|
runtime: runtime,
|
@@ -136,6 +137,8 @@ module Jets::Resource::Lambda
|
|
136
137
|
|
137
138
|
def get_layers(runtime)
|
138
139
|
return nil unless runtime =~ /^ruby/
|
140
|
+
return Jets.config.lambda.layers if Jets.config.gems.disable
|
141
|
+
|
139
142
|
["!Ref GemLayer"] + Jets.config.lambda.layers
|
140
143
|
end
|
141
144
|
|
@@ -202,7 +205,11 @@ module Jets::Resource::Lambda
|
|
202
205
|
function_name.size > Jets::MAX_FUNCTION_NAME_SIZE ? nil : function_name
|
203
206
|
end
|
204
207
|
|
205
|
-
def
|
208
|
+
def get_descripton(props)
|
209
|
+
props[:description] || default_description
|
210
|
+
end
|
211
|
+
|
212
|
+
def default_description
|
206
213
|
# Example values:
|
207
214
|
# @app_class: Admin/PagesController
|
208
215
|
# @task.meth: index
|
@@ -32,7 +32,8 @@ module Jets::SpecHelpers
|
|
32
32
|
request.params.query_params ||= params.delete(:params)
|
33
33
|
request.params.query_params ||= params
|
34
34
|
else
|
35
|
-
request.params.body_params = params.delete(:
|
35
|
+
request.params.body_params = params.delete(:body)
|
36
|
+
request.params.body_params ||= params.delete(:params)
|
36
37
|
request.params.body_params ||= params
|
37
38
|
end
|
38
39
|
|
@@ -31,14 +31,20 @@ module Jets::SpecHelpers::Controllers
|
|
31
31
|
json['headers'] = (headers || {}).stringify_keys
|
32
32
|
|
33
33
|
if method != :get
|
34
|
-
json['headers']['Content-Type']
|
35
|
-
body = Rack::Multipart.build_multipart(params.body_params)
|
34
|
+
json['headers']['Content-Type'] ||= 'application/x-www-form-urlencoded'
|
36
35
|
|
37
|
-
if
|
36
|
+
if params.body_params.is_a? String
|
37
|
+
body = params.body_params
|
38
38
|
json['headers']['Content-Length'] ||= body.length.to_s
|
39
|
-
json['headers']['Content-Type'] = "multipart/form-data; boundary=#{Rack::Multipart::MULTIPART_BOUNDARY}"
|
40
39
|
else
|
41
|
-
body = Rack::
|
40
|
+
body = Rack::Multipart.build_multipart(params.body_params)
|
41
|
+
|
42
|
+
if body
|
43
|
+
json['headers']['Content-Length'] ||= body.length.to_s
|
44
|
+
json['headers']['Content-Type'] = "multipart/form-data; boundary=#{Rack::Multipart::MULTIPART_BOUNDARY}"
|
45
|
+
else
|
46
|
+
body = Rack::Utils.build_nested_query(params.body_params)
|
47
|
+
end
|
42
48
|
end
|
43
49
|
|
44
50
|
json['body'] = Base64.encode64(body)
|
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: 3.0.
|
4
|
+
version: 3.0.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tung Nguyen
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-03
|
11
|
+
date: 2021-06-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: actionmailer
|
@@ -436,14 +436,14 @@ dependencies:
|
|
436
436
|
requirements:
|
437
437
|
- - "~>"
|
438
438
|
- !ruby/object:Gem::Version
|
439
|
-
version: 0.1.
|
439
|
+
version: 0.1.3
|
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.1.
|
446
|
+
version: 0.1.3
|
447
447
|
- !ruby/object:Gem::Dependency
|
448
448
|
name: shotgun
|
449
449
|
requirement: !ruby/object:Gem::Requirement
|