jets 1.3.4 → 1.3.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +3 -0
- data/Gemfile.lock +4 -4
- data/README.md +30 -5
- data/lib/jets/builders/lambda_layer.rb +1 -1
- data/lib/jets/core.rb +1 -1
- data/lib/jets/turbine.rb +7 -3
- 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: 710bd555c93cc9c2a9023c2fa36f80f7f02bbd200b6c2372ab45c99315ba9e83
|
4
|
+
data.tar.gz: cb5b8df6e8c6dafa12391da8802e5002c2f354b87eaa741e7c6f3b7fc3e2f405
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9352bfe3fc61e9e455fdee8861be8ed25e2ac4bebcc35ebc3fd21cba4fbf09db14c52157d9dc06f7921f8c2d5708477e3175e567a30712191d208698da9a7c67
|
7
|
+
data.tar.gz: 6218d7b75f13073c2c30eaf3b48a32a8e329a31632b14f1cc0f988672606e1b633c6b66366d0a32b99b27cca62f81c1820af377c3f85d01c8b0fbc5e65958df5
|
data/CHANGELOG.md
CHANGED
@@ -3,6 +3,9 @@
|
|
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/), even before v1.0.
|
5
5
|
|
6
|
+
## [1.3.5]
|
7
|
+
- Merge pull request #90 from tongueroo/on-exception fix on_exception hook
|
8
|
+
|
6
9
|
## [1.3.4]
|
7
10
|
- fix gem replacer for macosx by using rsync to copy
|
8
11
|
|
data/Gemfile.lock
CHANGED
@@ -11,7 +11,7 @@ GIT
|
|
11
11
|
PATH
|
12
12
|
remote: .
|
13
13
|
specs:
|
14
|
-
jets (1.3.
|
14
|
+
jets (1.3.5)
|
15
15
|
actionpack (>= 5.2.1)
|
16
16
|
actionview (>= 5.2.1)
|
17
17
|
activerecord (>= 5.2.1)
|
@@ -66,11 +66,11 @@ GEM
|
|
66
66
|
tzinfo (~> 1.1)
|
67
67
|
arel (9.0.0)
|
68
68
|
aws-eventstream (1.0.1)
|
69
|
-
aws-partitions (1.
|
69
|
+
aws-partitions (1.125.0)
|
70
70
|
aws-sdk-apigateway (1.23.0)
|
71
71
|
aws-sdk-core (~> 3, >= 3.39.0)
|
72
72
|
aws-sigv4 (~> 1.0)
|
73
|
-
aws-sdk-cloudformation (1.
|
73
|
+
aws-sdk-cloudformation (1.14.0)
|
74
74
|
aws-sdk-core (~> 3, >= 3.39.0)
|
75
75
|
aws-sigv4 (~> 1.0)
|
76
76
|
aws-sdk-cloudwatchlogs (1.12.0)
|
@@ -101,7 +101,7 @@ GEM
|
|
101
101
|
builder (3.2.3)
|
102
102
|
byebug (10.0.2)
|
103
103
|
colorize (0.8.1)
|
104
|
-
concurrent-ruby (1.1.
|
104
|
+
concurrent-ruby (1.1.4)
|
105
105
|
crass (1.0.4)
|
106
106
|
diff-lcs (1.3)
|
107
107
|
dotenv (2.5.0)
|
data/README.md
CHANGED
@@ -36,7 +36,12 @@ def handler_function(event:, context:)
|
|
36
36
|
end
|
37
37
|
```
|
38
38
|
|
39
|
-
|
39
|
+
Here's the function in the Lambda console:
|
40
|
+
|
41
|
+
![](https://raw.githubusercontent.com/tongueroo/jets/master/docs/img/docs/jets-simple-lambda-function-console.png)
|
42
|
+
|
43
|
+
|
44
|
+
Though simple functions are supported by Jets, they do not add much value as other ways to write Ruby code with Jets. Classes like [Controllers](http://rubyonjets.com/docs/controllers/) and [Jobs](http://rubyonjets.com/docs/jobs/) add many conveniences and are more powerful to use. We’ll cover them next.
|
40
45
|
|
41
46
|
### Jets Controllers
|
42
47
|
|
@@ -60,7 +65,11 @@ class PostsController < ApplicationController
|
|
60
65
|
end
|
61
66
|
```
|
62
67
|
|
63
|
-
|
68
|
+
Helper methods like `params` provide the parameters from the API Gateway event. The `render` method renders a Lambda Proxy structure back that API Gateway understands.
|
69
|
+
|
70
|
+
Jets creates Lambda functions for each public method in your controller. Here they are in the Lambda console:
|
71
|
+
|
72
|
+
![](https://raw.githubusercontent.com/tongueroo/jets/master/docs/img/docs/demo-lambda-functions-controller.png)
|
64
73
|
|
65
74
|
### Jets Routing
|
66
75
|
|
@@ -84,6 +93,10 @@ Jets.application.routes.draw do
|
|
84
93
|
end
|
85
94
|
```
|
86
95
|
|
96
|
+
The `routes.rb` gets translated to API Gateway resources:
|
97
|
+
|
98
|
+
![](https://raw.githubusercontent.com/tongueroo/jets/master/docs/img/quick-start/demo-api-gateway.png)
|
99
|
+
|
87
100
|
Test your API Gateway endpoints with curl or postman. Note, replace the URL endpoint with the one that is created:
|
88
101
|
|
89
102
|
$ curl -s "https://quabepiu80.execute-api.us-east-1.amazonaws.com/dev/posts" | jq .
|
@@ -112,7 +125,9 @@ class HardJob < ApplicationJob
|
|
112
125
|
end
|
113
126
|
```
|
114
127
|
|
115
|
-
`HardJob#dig` runs every 10 hours and `HardJob#lift` runs every 12 hours.
|
128
|
+
`HardJob#dig` runs every 10 hours and `HardJob#lift` runs every 12 hours. The `rate` and `cron` methods created CloudWatch Event Rules. Example:
|
129
|
+
|
130
|
+
![](https://raw.githubusercontent.com/tongueroo/jets/master/docs/img/docs/demo-job-cloudwatch-rule.png)
|
116
131
|
|
117
132
|
### Jets Deployment
|
118
133
|
|
@@ -126,9 +141,15 @@ After deployment, you can test the Lambda functions with the AWS Lambda console
|
|
126
141
|
|
127
142
|
![Lambda Console](https://s3.amazonaws.com/boltops-demo/images/screenshots/lambda-console-posts-controller-index.png)
|
128
143
|
|
129
|
-
### Live
|
144
|
+
### Live Demos
|
145
|
+
|
146
|
+
Here are some demos of Jets applications:
|
130
147
|
|
131
|
-
|
148
|
+
* [Quintessential CRUD Jets app](https://demo.rubyonjets.com/posts)
|
149
|
+
* [Rails Running on AWS Lambda Mega Mode Example](https://mega.demo.rubyonjets.com/)
|
150
|
+
* [Image Upload Example](https://upload.demo.rubyonjets.com/)
|
151
|
+
|
152
|
+
Please feel free to add your own example to the [jets-examples](https://github.com/tongueroo/jets-examples) repo.
|
132
153
|
|
133
154
|
### Rails Support
|
134
155
|
|
@@ -169,3 +190,7 @@ For more documentation, check out the official docs: [Ruby on Jets](http://rubyo
|
|
169
190
|
* [Jets Tutorial Extra Environments Part 7](https://blog.boltops.com/2018/09/13/jets-tutorial-extra-environments-part-7)
|
170
191
|
* [Jets Tutorial Different Environments Part 8](https://blog.boltops.com/2018/09/26/jets-tutorial-different-environments-part-8)
|
171
192
|
* [Jets Tutorial Polymorphic Support Part 9](https://blog.boltops.com/2018/09/27/jets-tutorial-polymorphic-support-part-9)
|
193
|
+
* [Jets Tutorial Polymorphic Support Part 9](https://blog.boltops.com/2018/09/27/jets-tutorial-polymorphic-support-part-9)
|
194
|
+
* [Jets Tutorial Polymorphic Support Part 9](https://blog.boltops.com/2018/09/27/jets-tutorial-polymorphic-support-part-9)
|
195
|
+
* [Jets Delete Tutorial](https://blog.boltops.com/2018/11/12/jets-tutorial-jets-delete)
|
196
|
+
* [Jets Image Uploads Tutorial with CarrierWave](https://blog.boltops.com/2018/12/13/jets-image-upload-carrierwave-tutorial-binary-support)
|
@@ -43,7 +43,7 @@ class Jets::Builders
|
|
43
43
|
ruby_folder = Jets::Gems.ruby_folder
|
44
44
|
dest = "#{code_area}/vendor/bundle/ruby/#{ruby_folder}"
|
45
45
|
FileUtils.mkdir_p(File.dirname(dest))
|
46
|
-
puts "ln -sf /opt/ruby/gems/#{ruby_folder} #{dest}" #
|
46
|
+
# puts "ln -sf /opt/ruby/gems/#{ruby_folder} #{dest}" # uncomment to debug
|
47
47
|
FileUtils.ln_sf("/opt/ruby/gems/#{ruby_folder}", dest)
|
48
48
|
end
|
49
49
|
end
|
data/lib/jets/core.rb
CHANGED
@@ -164,7 +164,7 @@ module Jets::Core
|
|
164
164
|
|
165
165
|
def on_exception(exception)
|
166
166
|
Jets::Turbine.subclasses.each do |subclass|
|
167
|
-
reporters = subclass.
|
167
|
+
reporters = subclass.on_exceptions || []
|
168
168
|
reporters.each do |label, block|
|
169
169
|
block.call(exception)
|
170
170
|
end
|
data/lib/jets/turbine.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
module Jets
|
2
2
|
class Turbine
|
3
3
|
class_attribute :initializers
|
4
|
-
class_attribute :
|
4
|
+
class_attribute :on_exceptions
|
5
5
|
|
6
6
|
class << self
|
7
7
|
def subclasses
|
@@ -17,9 +17,13 @@ module Jets
|
|
17
17
|
self.initializers[label] = block
|
18
18
|
end
|
19
19
|
|
20
|
+
def on_exception(label, &block)
|
21
|
+
self.on_exceptions ||= {}
|
22
|
+
self.on_exceptions[label] = block
|
23
|
+
end
|
24
|
+
|
20
25
|
def exception_reporter(label, &block)
|
21
|
-
|
22
|
-
self.exception_reporters[label] = block
|
26
|
+
on_exception(label, &block)
|
23
27
|
end
|
24
28
|
end
|
25
29
|
end
|
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: 1.3.
|
4
|
+
version: 1.3.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tung Nguyen
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-12-
|
11
|
+
date: 2018-12-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: actionpack
|