lamby 2.6.1 → 2.8.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/CHANGELOG.md +28 -0
- data/Dockerfile +0 -5
- data/Gemfile.lock +99 -96
- data/lib/lamby.rb +5 -0
- data/lib/lamby/config.rb +47 -0
- data/lib/lamby/handler.rb +25 -10
- data/lib/lamby/rack_alb.rb +1 -1
- data/lib/lamby/railtie.rb +0 -2
- data/lib/lamby/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 24518347cf3f2b14390d16a2fff5f0025d3911efd06252721cd49f8fedb90562
|
|
4
|
+
data.tar.gz: 3e55836604fc8b6abdf953f2b421f9efdb7689a9ea3fa27cc1528844de06418e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 79bf535b1fc336b634ee33bc5e3a847bd9aaa1c809c6f49c37d6807dc44d26468da1fcf4272599b2d11c1c2d8ed90420301963dbd2723e72060b2067c97b86e1
|
|
7
|
+
data.tar.gz: 2ea5e61fe84d7b7b5d9be7001376346dc2574feb68e9a2230e79e781c8365e465f193dc7c89d62cc954d5f37195bae81ebf69376f5d0621b79b8fbbbea76171a
|
data/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,34 @@
|
|
|
4
4
|
|
|
5
5
|
See this http://keepachangelog.com link for information on how we want this documented formatted.
|
|
6
6
|
|
|
7
|
+
## v2.8.0
|
|
8
|
+
|
|
9
|
+
#### Fixed
|
|
10
|
+
|
|
11
|
+
- Perform rack body closing hooks on request #85
|
|
12
|
+
|
|
13
|
+
## v2.7.1
|
|
14
|
+
|
|
15
|
+
#### Removed
|
|
16
|
+
|
|
17
|
+
- Bootsnap setup convenience require.
|
|
18
|
+
|
|
19
|
+
## v2.7.0
|
|
20
|
+
|
|
21
|
+
#### Added
|
|
22
|
+
|
|
23
|
+
- Support EventBridge events in handler with default proc to log.
|
|
24
|
+
|
|
25
|
+
## v2.6.3
|
|
26
|
+
|
|
27
|
+
#### Added
|
|
28
|
+
|
|
29
|
+
- Bootsnap setup convenience require.
|
|
30
|
+
|
|
31
|
+
## v2.6.2
|
|
32
|
+
|
|
33
|
+
- Fixed Rack::Deflate usage with an ALB.
|
|
34
|
+
|
|
7
35
|
## v2.6.1
|
|
8
36
|
|
|
9
37
|
#### Fixed
|
data/Dockerfile
CHANGED
|
@@ -1,10 +1,5 @@
|
|
|
1
1
|
FROM lambci/lambda:build-ruby2.7
|
|
2
2
|
|
|
3
|
-
# Lock down AWS SAM version.
|
|
4
|
-
RUN pip install awscli && \
|
|
5
|
-
pip uninstall --yes aws-sam-cli && \
|
|
6
|
-
pip install aws-sam-cli==0.45.0
|
|
7
|
-
|
|
8
3
|
# Asset Pipeline
|
|
9
4
|
RUN curl -sL https://rpm.nodesource.com/setup_12.x | bash - && \
|
|
10
5
|
yum install -y nodejs
|
data/Gemfile.lock
CHANGED
|
@@ -1,155 +1,158 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
lamby (2.
|
|
4
|
+
lamby (2.8.0)
|
|
5
5
|
rack
|
|
6
6
|
|
|
7
7
|
GEM
|
|
8
8
|
remote: https://rubygems.org/
|
|
9
9
|
specs:
|
|
10
|
-
actioncable (6.
|
|
11
|
-
actionpack (= 6.
|
|
10
|
+
actioncable (6.1.3.1)
|
|
11
|
+
actionpack (= 6.1.3.1)
|
|
12
|
+
activesupport (= 6.1.3.1)
|
|
12
13
|
nio4r (~> 2.0)
|
|
13
14
|
websocket-driver (>= 0.6.1)
|
|
14
|
-
actionmailbox (6.
|
|
15
|
-
actionpack (= 6.
|
|
16
|
-
activejob (= 6.
|
|
17
|
-
activerecord (= 6.
|
|
18
|
-
activestorage (= 6.
|
|
19
|
-
activesupport (= 6.
|
|
15
|
+
actionmailbox (6.1.3.1)
|
|
16
|
+
actionpack (= 6.1.3.1)
|
|
17
|
+
activejob (= 6.1.3.1)
|
|
18
|
+
activerecord (= 6.1.3.1)
|
|
19
|
+
activestorage (= 6.1.3.1)
|
|
20
|
+
activesupport (= 6.1.3.1)
|
|
20
21
|
mail (>= 2.7.1)
|
|
21
|
-
actionmailer (6.
|
|
22
|
-
actionpack (= 6.
|
|
23
|
-
actionview (= 6.
|
|
24
|
-
activejob (= 6.
|
|
22
|
+
actionmailer (6.1.3.1)
|
|
23
|
+
actionpack (= 6.1.3.1)
|
|
24
|
+
actionview (= 6.1.3.1)
|
|
25
|
+
activejob (= 6.1.3.1)
|
|
26
|
+
activesupport (= 6.1.3.1)
|
|
25
27
|
mail (~> 2.5, >= 2.5.4)
|
|
26
28
|
rails-dom-testing (~> 2.0)
|
|
27
|
-
actionpack (6.
|
|
28
|
-
actionview (= 6.
|
|
29
|
-
activesupport (= 6.
|
|
30
|
-
rack (~> 2.0, >= 2.0.
|
|
29
|
+
actionpack (6.1.3.1)
|
|
30
|
+
actionview (= 6.1.3.1)
|
|
31
|
+
activesupport (= 6.1.3.1)
|
|
32
|
+
rack (~> 2.0, >= 2.0.9)
|
|
31
33
|
rack-test (>= 0.6.3)
|
|
32
34
|
rails-dom-testing (~> 2.0)
|
|
33
35
|
rails-html-sanitizer (~> 1.0, >= 1.2.0)
|
|
34
|
-
actiontext (6.
|
|
35
|
-
actionpack (= 6.
|
|
36
|
-
activerecord (= 6.
|
|
37
|
-
activestorage (= 6.
|
|
38
|
-
activesupport (= 6.
|
|
36
|
+
actiontext (6.1.3.1)
|
|
37
|
+
actionpack (= 6.1.3.1)
|
|
38
|
+
activerecord (= 6.1.3.1)
|
|
39
|
+
activestorage (= 6.1.3.1)
|
|
40
|
+
activesupport (= 6.1.3.1)
|
|
39
41
|
nokogiri (>= 1.8.5)
|
|
40
|
-
actionview (6.
|
|
41
|
-
activesupport (= 6.
|
|
42
|
+
actionview (6.1.3.1)
|
|
43
|
+
activesupport (= 6.1.3.1)
|
|
42
44
|
builder (~> 3.1)
|
|
43
45
|
erubi (~> 1.4)
|
|
44
46
|
rails-dom-testing (~> 2.0)
|
|
45
47
|
rails-html-sanitizer (~> 1.1, >= 1.2.0)
|
|
46
|
-
activejob (6.
|
|
47
|
-
activesupport (= 6.
|
|
48
|
+
activejob (6.1.3.1)
|
|
49
|
+
activesupport (= 6.1.3.1)
|
|
48
50
|
globalid (>= 0.3.6)
|
|
49
|
-
activemodel (6.
|
|
50
|
-
activesupport (= 6.
|
|
51
|
-
activerecord (6.
|
|
52
|
-
activemodel (= 6.
|
|
53
|
-
activesupport (= 6.
|
|
54
|
-
activestorage (6.
|
|
55
|
-
actionpack (= 6.
|
|
56
|
-
activejob (= 6.
|
|
57
|
-
activerecord (= 6.
|
|
58
|
-
|
|
59
|
-
|
|
51
|
+
activemodel (6.1.3.1)
|
|
52
|
+
activesupport (= 6.1.3.1)
|
|
53
|
+
activerecord (6.1.3.1)
|
|
54
|
+
activemodel (= 6.1.3.1)
|
|
55
|
+
activesupport (= 6.1.3.1)
|
|
56
|
+
activestorage (6.1.3.1)
|
|
57
|
+
actionpack (= 6.1.3.1)
|
|
58
|
+
activejob (= 6.1.3.1)
|
|
59
|
+
activerecord (= 6.1.3.1)
|
|
60
|
+
activesupport (= 6.1.3.1)
|
|
61
|
+
marcel (~> 1.0.0)
|
|
62
|
+
mini_mime (~> 1.0.2)
|
|
63
|
+
activesupport (6.1.3.1)
|
|
60
64
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
|
61
|
-
i18n (>=
|
|
62
|
-
minitest (
|
|
63
|
-
tzinfo (~>
|
|
64
|
-
zeitwerk (~> 2.
|
|
65
|
-
aws-eventstream (1.
|
|
66
|
-
aws-partitions (1.
|
|
67
|
-
aws-sdk-core (3.
|
|
68
|
-
aws-eventstream (~> 1
|
|
65
|
+
i18n (>= 1.6, < 2)
|
|
66
|
+
minitest (>= 5.1)
|
|
67
|
+
tzinfo (~> 2.0)
|
|
68
|
+
zeitwerk (~> 2.3)
|
|
69
|
+
aws-eventstream (1.1.1)
|
|
70
|
+
aws-partitions (1.446.0)
|
|
71
|
+
aws-sdk-core (3.114.0)
|
|
72
|
+
aws-eventstream (~> 1, >= 1.0.2)
|
|
69
73
|
aws-partitions (~> 1, >= 1.239.0)
|
|
70
74
|
aws-sigv4 (~> 1.1)
|
|
71
75
|
jmespath (~> 1.0)
|
|
72
|
-
aws-sdk-ssm (1.
|
|
73
|
-
aws-sdk-core (~> 3, >= 3.
|
|
76
|
+
aws-sdk-ssm (1.108.0)
|
|
77
|
+
aws-sdk-core (~> 3, >= 3.112.0)
|
|
74
78
|
aws-sigv4 (~> 1.1)
|
|
75
|
-
aws-sigv4 (1.
|
|
76
|
-
aws-eventstream (~> 1
|
|
79
|
+
aws-sigv4 (1.2.3)
|
|
80
|
+
aws-eventstream (~> 1, >= 1.0.2)
|
|
77
81
|
builder (3.2.4)
|
|
78
|
-
coderay (1.1.
|
|
79
|
-
concurrent-ruby (1.1.
|
|
82
|
+
coderay (1.1.3)
|
|
83
|
+
concurrent-ruby (1.1.8)
|
|
80
84
|
crass (1.0.6)
|
|
81
|
-
erubi (1.
|
|
85
|
+
erubi (1.10.0)
|
|
82
86
|
globalid (0.4.2)
|
|
83
87
|
activesupport (>= 4.2.0)
|
|
84
|
-
i18n (1.8.
|
|
88
|
+
i18n (1.8.10)
|
|
85
89
|
concurrent-ruby (~> 1.0)
|
|
86
90
|
jmespath (1.4.0)
|
|
87
|
-
loofah (2.
|
|
91
|
+
loofah (2.9.1)
|
|
88
92
|
crass (~> 1.0.2)
|
|
89
93
|
nokogiri (>= 1.5.9)
|
|
90
94
|
mail (2.7.1)
|
|
91
95
|
mini_mime (>= 0.1.1)
|
|
92
|
-
marcel (0.
|
|
93
|
-
mimemagic (~> 0.3.2)
|
|
96
|
+
marcel (1.0.1)
|
|
94
97
|
method_source (1.0.0)
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
minitest (
|
|
99
|
-
minitest-focus (1.1.2)
|
|
98
|
+
mini_mime (1.0.3)
|
|
99
|
+
mini_portile2 (2.5.0)
|
|
100
|
+
minitest (5.14.4)
|
|
101
|
+
minitest-focus (1.2.1)
|
|
100
102
|
minitest (>= 4, < 6)
|
|
101
|
-
mocha (1.
|
|
102
|
-
nio4r (2.5.
|
|
103
|
-
nokogiri (1.
|
|
104
|
-
mini_portile2 (~> 2.
|
|
105
|
-
|
|
103
|
+
mocha (1.12.0)
|
|
104
|
+
nio4r (2.5.7)
|
|
105
|
+
nokogiri (1.11.3)
|
|
106
|
+
mini_portile2 (~> 2.5.0)
|
|
107
|
+
racc (~> 1.4)
|
|
108
|
+
pry (0.14.1)
|
|
106
109
|
coderay (~> 1.1)
|
|
107
110
|
method_source (~> 1.0)
|
|
108
|
-
|
|
111
|
+
racc (1.5.2)
|
|
112
|
+
rack (2.2.3)
|
|
109
113
|
rack-test (1.1.0)
|
|
110
114
|
rack (>= 1.0, < 3)
|
|
111
|
-
rails (6.
|
|
112
|
-
actioncable (= 6.
|
|
113
|
-
actionmailbox (= 6.
|
|
114
|
-
actionmailer (= 6.
|
|
115
|
-
actionpack (= 6.
|
|
116
|
-
actiontext (= 6.
|
|
117
|
-
actionview (= 6.
|
|
118
|
-
activejob (= 6.
|
|
119
|
-
activemodel (= 6.
|
|
120
|
-
activerecord (= 6.
|
|
121
|
-
activestorage (= 6.
|
|
122
|
-
activesupport (= 6.
|
|
123
|
-
bundler (>= 1.
|
|
124
|
-
railties (= 6.
|
|
115
|
+
rails (6.1.3.1)
|
|
116
|
+
actioncable (= 6.1.3.1)
|
|
117
|
+
actionmailbox (= 6.1.3.1)
|
|
118
|
+
actionmailer (= 6.1.3.1)
|
|
119
|
+
actionpack (= 6.1.3.1)
|
|
120
|
+
actiontext (= 6.1.3.1)
|
|
121
|
+
actionview (= 6.1.3.1)
|
|
122
|
+
activejob (= 6.1.3.1)
|
|
123
|
+
activemodel (= 6.1.3.1)
|
|
124
|
+
activerecord (= 6.1.3.1)
|
|
125
|
+
activestorage (= 6.1.3.1)
|
|
126
|
+
activesupport (= 6.1.3.1)
|
|
127
|
+
bundler (>= 1.15.0)
|
|
128
|
+
railties (= 6.1.3.1)
|
|
125
129
|
sprockets-rails (>= 2.0.0)
|
|
126
130
|
rails-dom-testing (2.0.3)
|
|
127
131
|
activesupport (>= 4.2.0)
|
|
128
132
|
nokogiri (>= 1.6)
|
|
129
133
|
rails-html-sanitizer (1.3.0)
|
|
130
134
|
loofah (~> 2.3)
|
|
131
|
-
railties (6.
|
|
132
|
-
actionpack (= 6.
|
|
133
|
-
activesupport (= 6.
|
|
135
|
+
railties (6.1.3.1)
|
|
136
|
+
actionpack (= 6.1.3.1)
|
|
137
|
+
activesupport (= 6.1.3.1)
|
|
134
138
|
method_source
|
|
135
139
|
rake (>= 0.8.7)
|
|
136
|
-
thor (
|
|
137
|
-
rake (13.0.
|
|
138
|
-
sprockets (4.0.
|
|
140
|
+
thor (~> 1.0)
|
|
141
|
+
rake (13.0.3)
|
|
142
|
+
sprockets (4.0.2)
|
|
139
143
|
concurrent-ruby (~> 1.0)
|
|
140
144
|
rack (> 1, < 3)
|
|
141
|
-
sprockets-rails (3.2.
|
|
145
|
+
sprockets-rails (3.2.2)
|
|
142
146
|
actionpack (>= 4.0)
|
|
143
147
|
activesupport (>= 4.0)
|
|
144
148
|
sprockets (>= 3.0.0)
|
|
145
|
-
thor (1.0
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
websocket-driver (0.7.1)
|
|
149
|
+
thor (1.1.0)
|
|
150
|
+
tzinfo (2.0.4)
|
|
151
|
+
concurrent-ruby (~> 1.0)
|
|
152
|
+
websocket-driver (0.7.3)
|
|
150
153
|
websocket-extensions (>= 0.1.0)
|
|
151
|
-
websocket-extensions (0.1.
|
|
152
|
-
zeitwerk (2.
|
|
154
|
+
websocket-extensions (0.1.5)
|
|
155
|
+
zeitwerk (2.4.2)
|
|
153
156
|
|
|
154
157
|
PLATFORMS
|
|
155
158
|
ruby
|
|
@@ -166,4 +169,4 @@ DEPENDENCIES
|
|
|
166
169
|
rake
|
|
167
170
|
|
|
168
171
|
BUNDLED WITH
|
|
169
|
-
2.2.
|
|
172
|
+
2.2.15
|
data/lib/lamby.rb
CHANGED
|
@@ -2,6 +2,7 @@ require 'lamby/logger'
|
|
|
2
2
|
require 'rack'
|
|
3
3
|
require 'base64'
|
|
4
4
|
require 'lamby/version'
|
|
5
|
+
require 'lamby/config'
|
|
5
6
|
require 'lamby/sam_helpers'
|
|
6
7
|
require 'lamby/rack'
|
|
7
8
|
require 'lamby/rack_alb'
|
|
@@ -23,6 +24,10 @@ module Lamby
|
|
|
23
24
|
Handler.call(app, event, context, options)
|
|
24
25
|
end
|
|
25
26
|
|
|
27
|
+
def config
|
|
28
|
+
Lamby::Config.config
|
|
29
|
+
end
|
|
30
|
+
|
|
26
31
|
autoload :SsmParameterStore, 'lamby/ssm_parameter_store'
|
|
27
32
|
|
|
28
33
|
end
|
data/lib/lamby/config.rb
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
module Lamby
|
|
2
|
+
module Config
|
|
3
|
+
|
|
4
|
+
def configure
|
|
5
|
+
yield(config)
|
|
6
|
+
config
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
def reconfigure
|
|
10
|
+
config.reconfigure { |c| yield(c) if block_given? }
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def config
|
|
14
|
+
@config ||= Configuration.new
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
extend self
|
|
18
|
+
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
class Configuration
|
|
22
|
+
|
|
23
|
+
def initialize
|
|
24
|
+
initialize_defaults
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def reconfigure
|
|
28
|
+
instance_variables.each { |var| instance_variable_set var, nil }
|
|
29
|
+
initialize_defaults
|
|
30
|
+
yield(self) if block_given?
|
|
31
|
+
self
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def initialize_defaults
|
|
35
|
+
@event_bridge_handler = lambda { |event, context| puts(event) }
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def event_bridge_handler
|
|
39
|
+
@event_bridge_handler
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def event_bridge_handler=(func)
|
|
43
|
+
@event_bridge_handler = func
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
end
|
|
47
|
+
end
|
data/lib/lamby/handler.rb
CHANGED
|
@@ -41,22 +41,23 @@ module Lamby
|
|
|
41
41
|
def body
|
|
42
42
|
@rbody ||= ''.tap do |rbody|
|
|
43
43
|
@body.each { |part| rbody << part if part }
|
|
44
|
+
@body.close if @body.respond_to? :close
|
|
44
45
|
end
|
|
45
46
|
end
|
|
46
47
|
|
|
47
48
|
def call
|
|
48
49
|
return self if @called
|
|
49
50
|
@status, @headers, @body = call_app
|
|
50
|
-
set_cookies
|
|
51
|
+
set_cookies if rack?
|
|
51
52
|
@called = true
|
|
52
53
|
self
|
|
53
54
|
end
|
|
54
55
|
|
|
55
|
-
def base64_encodeable?
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
content_encoding_compressed? ||
|
|
59
|
-
|
|
56
|
+
def base64_encodeable?(hdrs = @headers)
|
|
57
|
+
hdrs && (
|
|
58
|
+
hdrs['Content-Transfer-Encoding'] == 'binary' ||
|
|
59
|
+
content_encoding_compressed?(hdrs) ||
|
|
60
|
+
hdrs['X-Lamby-Base64'] == '1'
|
|
60
61
|
)
|
|
61
62
|
end
|
|
62
63
|
|
|
@@ -78,20 +79,34 @@ module Lamby
|
|
|
78
79
|
end
|
|
79
80
|
|
|
80
81
|
def rack_response
|
|
81
|
-
rack.response(self)
|
|
82
|
+
rack? ? rack.response(self) : {}
|
|
82
83
|
end
|
|
83
84
|
|
|
84
85
|
def call_app
|
|
85
86
|
if Debug.on?(@event)
|
|
86
87
|
Debug.call @event, @context, rack.env
|
|
87
|
-
|
|
88
|
+
elsif rack?
|
|
88
89
|
@app.call rack.env
|
|
90
|
+
elsif event_bridge?
|
|
91
|
+
Lamby.config.event_bridge_handler.call @event, @context
|
|
92
|
+
[200, {}, StringIO.new('')]
|
|
93
|
+
else
|
|
94
|
+
[404, {}, StringIO.new('')]
|
|
89
95
|
end
|
|
90
96
|
end
|
|
91
97
|
|
|
92
|
-
def content_encoding_compressed?
|
|
93
|
-
content_encoding_header =
|
|
98
|
+
def content_encoding_compressed?(hdrs)
|
|
99
|
+
content_encoding_header = hdrs['Content-Encoding'] || ''
|
|
94
100
|
content_encoding_header.split(', ').any? { |h| ['br', 'gzip'].include?(h) }
|
|
95
101
|
end
|
|
102
|
+
|
|
103
|
+
def rack?
|
|
104
|
+
@event.key?('httpMethod') || @event.dig('requestContext', 'http')
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
def event_bridge?
|
|
108
|
+
Lamby.config.event_bridge_handler &&
|
|
109
|
+
@event.key?('source') && @event.key?('detail') && @event.key?('detail-type')
|
|
110
|
+
end
|
|
96
111
|
end
|
|
97
112
|
end
|
data/lib/lamby/rack_alb.rb
CHANGED
|
@@ -16,7 +16,7 @@ module Lamby
|
|
|
16
16
|
multivalue_headers['Set-Cookie'] = handler.set_cookies if handler.set_cookies
|
|
17
17
|
end
|
|
18
18
|
status_description = "#{handler.status} #{::Rack::Utils::HTTP_STATUS_CODES[handler.status]}"
|
|
19
|
-
base64_encode = hhdrs
|
|
19
|
+
base64_encode = handler.base64_encodeable?(hhdrs)
|
|
20
20
|
body = Base64.strict_encode64(handler.body) if base64_encode
|
|
21
21
|
{ multiValueHeaders: multivalue_headers,
|
|
22
22
|
statusDescription: status_description,
|
data/lib/lamby/railtie.rb
CHANGED
data/lib/lamby/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: lamby
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.8.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ken Collins
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2021-
|
|
11
|
+
date: 2021-05-08 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rack
|
|
@@ -150,6 +150,7 @@ files:
|
|
|
150
150
|
- docker-compose.yml
|
|
151
151
|
- lamby.gemspec
|
|
152
152
|
- lib/lamby.rb
|
|
153
|
+
- lib/lamby/config.rb
|
|
153
154
|
- lib/lamby/debug.rb
|
|
154
155
|
- lib/lamby/handler.rb
|
|
155
156
|
- lib/lamby/logger.rb
|