lamby 5.2.2 → 6.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '080a9068193b2f2afdb3b3552dc4a810480d6adca8db7ffd4cc87600cd44c236'
4
- data.tar.gz: 6624c5ae8fd629b48771698e1401b6b07df6b1d2dbad120cf87f55d405d95500
3
+ metadata.gz: 79c4dc3717bca2047df8aad522de82aef8152de33ead5736a3bbe7b906a2ade9
4
+ data.tar.gz: 69e60e6da361e2dce84c3fb70544e38aed1573a9547f6122b8d97b295bcdba38
5
5
  SHA512:
6
- metadata.gz: e520c73320c6b8bbce4c37fca9ef8770882769471ef6de65114b7aa9645134a31715ab489ba88e8d3d279c8ee5fd81de56e2f22990c7ae9400bf93b0a025508c
7
- data.tar.gz: c63dbe6e8c382a7fe97fb9f4c16b5d85bc96d2485ae6622b3913c0e8eeceff992543124058fc6ac83d5ea255452d544ee6d07cdce52cdf777327db0e0393c3c7
6
+ metadata.gz: c73664327b1a65093c7e4d8bf783dab564198d474c1ae888d979a4ef4a8bcc252eee56fc829757eeceeeca5e0509e47ac543a03834ea1c3acdb46a9a6bab722a
7
+ data.tar.gz: 55b8775795c750ce1c7a49868b4323e272492cf072c7d7e68ebb34856217441947780a3630b5a9f6c732b6d15d04b58aac7bf1cc346f25e9f65f124b63f01351
data/CHANGELOG.md CHANGED
@@ -2,9 +2,13 @@
2
2
 
3
3
  See this http://keepachangelog.com link for information on how we want this documented formatted.
4
4
 
5
- ## v5.2.2
5
+ ## v6.0.0
6
6
 
7
- - Lock down to Rack < 3 in 5-stable branch.
7
+ ### Changed
8
+
9
+ - ⚠️ Breaking Changes ⚠️
10
+ - Remove Rack v2 support.
11
+ - Added Rack v3 support.
8
12
 
9
13
  ## v5.2.1
10
14
 
data/Gemfile CHANGED
@@ -2,7 +2,9 @@ source "https://rubygems.org"
2
2
  git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
3
3
  gemspec
4
4
 
5
- gem 'rails'
5
+ gem 'rails', '7.1.3.4'
6
+ gem 'mocha', '~> 2.4'
7
+ gem 'rack', "~> 3.1", ">= 3.1.7"
6
8
 
7
9
  group :test do
8
10
  gem 'lambdakiq'
data/Gemfile.lock CHANGED
@@ -1,103 +1,120 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- lamby (5.2.2)
4
+ lamby (6.0.0)
5
5
  lambda-console-ruby
6
- rack (< 3)
6
+ rack (>= 3.0.0)
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
- actioncable (7.0.4.3)
12
- actionpack (= 7.0.4.3)
13
- activesupport (= 7.0.4.3)
11
+ actioncable (7.1.3.4)
12
+ actionpack (= 7.1.3.4)
13
+ activesupport (= 7.1.3.4)
14
14
  nio4r (~> 2.0)
15
15
  websocket-driver (>= 0.6.1)
16
- actionmailbox (7.0.4.3)
17
- actionpack (= 7.0.4.3)
18
- activejob (= 7.0.4.3)
19
- activerecord (= 7.0.4.3)
20
- activestorage (= 7.0.4.3)
21
- activesupport (= 7.0.4.3)
16
+ zeitwerk (~> 2.6)
17
+ actionmailbox (7.1.3.4)
18
+ actionpack (= 7.1.3.4)
19
+ activejob (= 7.1.3.4)
20
+ activerecord (= 7.1.3.4)
21
+ activestorage (= 7.1.3.4)
22
+ activesupport (= 7.1.3.4)
22
23
  mail (>= 2.7.1)
23
24
  net-imap
24
25
  net-pop
25
26
  net-smtp
26
- actionmailer (7.0.4.3)
27
- actionpack (= 7.0.4.3)
28
- actionview (= 7.0.4.3)
29
- activejob (= 7.0.4.3)
30
- activesupport (= 7.0.4.3)
27
+ actionmailer (7.1.3.4)
28
+ actionpack (= 7.1.3.4)
29
+ actionview (= 7.1.3.4)
30
+ activejob (= 7.1.3.4)
31
+ activesupport (= 7.1.3.4)
31
32
  mail (~> 2.5, >= 2.5.4)
32
33
  net-imap
33
34
  net-pop
34
35
  net-smtp
35
- rails-dom-testing (~> 2.0)
36
- actionpack (7.0.4.3)
37
- actionview (= 7.0.4.3)
38
- activesupport (= 7.0.4.3)
39
- rack (~> 2.0, >= 2.2.0)
36
+ rails-dom-testing (~> 2.2)
37
+ actionpack (7.1.3.4)
38
+ actionview (= 7.1.3.4)
39
+ activesupport (= 7.1.3.4)
40
+ nokogiri (>= 1.8.5)
41
+ racc
42
+ rack (>= 2.2.4)
43
+ rack-session (>= 1.0.1)
40
44
  rack-test (>= 0.6.3)
41
- rails-dom-testing (~> 2.0)
42
- rails-html-sanitizer (~> 1.0, >= 1.2.0)
43
- actiontext (7.0.4.3)
44
- actionpack (= 7.0.4.3)
45
- activerecord (= 7.0.4.3)
46
- activestorage (= 7.0.4.3)
47
- activesupport (= 7.0.4.3)
45
+ rails-dom-testing (~> 2.2)
46
+ rails-html-sanitizer (~> 1.6)
47
+ actiontext (7.1.3.4)
48
+ actionpack (= 7.1.3.4)
49
+ activerecord (= 7.1.3.4)
50
+ activestorage (= 7.1.3.4)
51
+ activesupport (= 7.1.3.4)
48
52
  globalid (>= 0.6.0)
49
53
  nokogiri (>= 1.8.5)
50
- actionview (7.0.4.3)
51
- activesupport (= 7.0.4.3)
54
+ actionview (7.1.3.4)
55
+ activesupport (= 7.1.3.4)
52
56
  builder (~> 3.1)
53
- erubi (~> 1.4)
54
- rails-dom-testing (~> 2.0)
55
- rails-html-sanitizer (~> 1.1, >= 1.2.0)
56
- activejob (7.0.4.3)
57
- activesupport (= 7.0.4.3)
57
+ erubi (~> 1.11)
58
+ rails-dom-testing (~> 2.2)
59
+ rails-html-sanitizer (~> 1.6)
60
+ activejob (7.1.3.4)
61
+ activesupport (= 7.1.3.4)
58
62
  globalid (>= 0.3.6)
59
- activemodel (7.0.4.3)
60
- activesupport (= 7.0.4.3)
61
- activerecord (7.0.4.3)
62
- activemodel (= 7.0.4.3)
63
- activesupport (= 7.0.4.3)
64
- activestorage (7.0.4.3)
65
- actionpack (= 7.0.4.3)
66
- activejob (= 7.0.4.3)
67
- activerecord (= 7.0.4.3)
68
- activesupport (= 7.0.4.3)
63
+ activemodel (7.1.3.4)
64
+ activesupport (= 7.1.3.4)
65
+ activerecord (7.1.3.4)
66
+ activemodel (= 7.1.3.4)
67
+ activesupport (= 7.1.3.4)
68
+ timeout (>= 0.4.0)
69
+ activestorage (7.1.3.4)
70
+ actionpack (= 7.1.3.4)
71
+ activejob (= 7.1.3.4)
72
+ activerecord (= 7.1.3.4)
73
+ activesupport (= 7.1.3.4)
69
74
  marcel (~> 1.0)
70
- mini_mime (>= 1.1.0)
71
- activesupport (7.0.4.3)
75
+ activesupport (7.1.3.4)
76
+ base64
77
+ bigdecimal
72
78
  concurrent-ruby (~> 1.0, >= 1.0.2)
79
+ connection_pool (>= 2.2.5)
80
+ drb
73
81
  i18n (>= 1.6, < 2)
74
82
  minitest (>= 5.1)
83
+ mutex_m
75
84
  tzinfo (~> 2.0)
76
- aws-eventstream (1.2.0)
77
- aws-partitions (1.752.0)
78
- aws-sdk-core (3.171.0)
79
- aws-eventstream (~> 1, >= 1.0.2)
85
+ aws-eventstream (1.3.0)
86
+ aws-partitions (1.956.0)
87
+ aws-sdk-core (3.201.1)
88
+ aws-eventstream (~> 1, >= 1.3.0)
80
89
  aws-partitions (~> 1, >= 1.651.0)
81
- aws-sigv4 (~> 1.5)
90
+ aws-sigv4 (~> 1.8)
82
91
  jmespath (~> 1, >= 1.6.1)
83
- aws-sdk-sqs (1.53.0)
84
- aws-sdk-core (~> 3, >= 3.165.0)
85
- aws-sigv4 (~> 1.1)
92
+ aws-sdk-sqs (1.80.0)
93
+ aws-sdk-core (~> 3, >= 3.201.0)
94
+ aws-sigv4 (~> 1.5)
86
95
  aws-sdk-ssm (1.150.0)
87
96
  aws-sdk-core (~> 3, >= 3.165.0)
88
97
  aws-sigv4 (~> 1.1)
89
- aws-sigv4 (1.5.2)
98
+ aws-sigv4 (1.8.0)
90
99
  aws-eventstream (~> 1, >= 1.0.2)
91
- builder (3.2.4)
100
+ base64 (0.2.0)
101
+ bigdecimal (3.1.8)
102
+ builder (3.3.0)
92
103
  coderay (1.1.3)
93
- concurrent-ruby (1.2.2)
104
+ concurrent-ruby (1.3.3)
105
+ connection_pool (2.4.1)
94
106
  crass (1.0.6)
95
- date (3.3.3)
96
- erubi (1.12.0)
97
- globalid (1.1.0)
98
- activesupport (>= 5.0)
99
- i18n (1.12.0)
107
+ date (3.3.4)
108
+ drb (2.2.1)
109
+ erubi (1.13.0)
110
+ globalid (1.2.1)
111
+ activesupport (>= 6.1)
112
+ i18n (1.14.5)
100
113
  concurrent-ruby (~> 1.0)
114
+ io-console (0.7.2)
115
+ irb (1.14.0)
116
+ rdoc (>= 4.0.0)
117
+ reline (>= 0.4.2)
101
118
  jmespath (1.6.2)
102
119
  lambda-console-ruby (1.0.0)
103
120
  lambdakiq (2.2.0)
@@ -105,81 +122,97 @@ GEM
105
122
  aws-sdk-sqs
106
123
  concurrent-ruby
107
124
  railties
108
- loofah (2.20.0)
125
+ loofah (2.22.0)
109
126
  crass (~> 1.0.2)
110
- nokogiri (>= 1.5.9)
127
+ nokogiri (>= 1.12.0)
111
128
  mail (2.8.1)
112
129
  mini_mime (>= 0.1.1)
113
130
  net-imap
114
131
  net-pop
115
132
  net-smtp
116
- marcel (1.0.2)
133
+ marcel (1.0.4)
117
134
  method_source (1.0.0)
118
- mini_mime (1.1.2)
119
- minitest (5.18.0)
135
+ mini_mime (1.1.5)
136
+ minitest (5.24.1)
120
137
  minitest-focus (1.3.1)
121
138
  minitest (>= 4, < 6)
122
- mocha (2.0.2)
139
+ mocha (2.4.0)
123
140
  ruby2_keywords (>= 0.0.5)
124
- net-imap (0.3.4)
141
+ mutex_m (0.2.0)
142
+ net-imap (0.4.14)
125
143
  date
126
144
  net-protocol
127
145
  net-pop (0.1.2)
128
146
  net-protocol
129
- net-protocol (0.2.1)
147
+ net-protocol (0.2.2)
130
148
  timeout
131
- net-smtp (0.3.3)
149
+ net-smtp (0.5.0)
132
150
  net-protocol
133
- nio4r (2.5.9)
134
- nokogiri (1.14.3-aarch64-linux)
151
+ nio4r (2.7.3)
152
+ nokogiri (1.16.6-aarch64-linux)
135
153
  racc (~> 1.4)
136
- nokogiri (1.14.3-arm64-darwin)
154
+ nokogiri (1.16.6-arm64-darwin)
137
155
  racc (~> 1.4)
138
156
  pry (0.14.2)
139
157
  coderay (~> 1.1)
140
158
  method_source (~> 1.0)
141
- racc (1.6.2)
142
- rack (2.2.6.4)
159
+ psych (5.1.2)
160
+ stringio
161
+ racc (1.8.0)
162
+ rack (3.1.7)
163
+ rack-session (2.0.0)
164
+ rack (>= 3.0.0)
143
165
  rack-test (2.1.0)
144
166
  rack (>= 1.3)
145
- rails (7.0.4.3)
146
- actioncable (= 7.0.4.3)
147
- actionmailbox (= 7.0.4.3)
148
- actionmailer (= 7.0.4.3)
149
- actionpack (= 7.0.4.3)
150
- actiontext (= 7.0.4.3)
151
- actionview (= 7.0.4.3)
152
- activejob (= 7.0.4.3)
153
- activemodel (= 7.0.4.3)
154
- activerecord (= 7.0.4.3)
155
- activestorage (= 7.0.4.3)
156
- activesupport (= 7.0.4.3)
167
+ rackup (2.1.0)
168
+ rack (>= 3)
169
+ webrick (~> 1.8)
170
+ rails (7.1.3.4)
171
+ actioncable (= 7.1.3.4)
172
+ actionmailbox (= 7.1.3.4)
173
+ actionmailer (= 7.1.3.4)
174
+ actionpack (= 7.1.3.4)
175
+ actiontext (= 7.1.3.4)
176
+ actionview (= 7.1.3.4)
177
+ activejob (= 7.1.3.4)
178
+ activemodel (= 7.1.3.4)
179
+ activerecord (= 7.1.3.4)
180
+ activestorage (= 7.1.3.4)
181
+ activesupport (= 7.1.3.4)
157
182
  bundler (>= 1.15.0)
158
- railties (= 7.0.4.3)
159
- rails-dom-testing (2.0.3)
160
- activesupport (>= 4.2.0)
183
+ railties (= 7.1.3.4)
184
+ rails-dom-testing (2.2.0)
185
+ activesupport (>= 5.0.0)
186
+ minitest
161
187
  nokogiri (>= 1.6)
162
- rails-html-sanitizer (1.5.0)
163
- loofah (~> 2.19, >= 2.19.1)
164
- railties (7.0.4.3)
165
- actionpack (= 7.0.4.3)
166
- activesupport (= 7.0.4.3)
167
- method_source
188
+ rails-html-sanitizer (1.6.0)
189
+ loofah (~> 2.21)
190
+ nokogiri (~> 1.14)
191
+ railties (7.1.3.4)
192
+ actionpack (= 7.1.3.4)
193
+ activesupport (= 7.1.3.4)
194
+ irb
195
+ rackup (>= 1.0.0)
168
196
  rake (>= 12.2)
169
- thor (~> 1.0)
170
- zeitwerk (~> 2.5)
171
- rake (13.0.6)
197
+ thor (~> 1.0, >= 1.2.2)
198
+ zeitwerk (~> 2.6)
199
+ rake (13.2.1)
200
+ rdoc (6.7.0)
201
+ psych (>= 4.0.0)
202
+ reline (0.5.9)
203
+ io-console (~> 0.5)
172
204
  ruby2_keywords (0.0.5)
173
- thor (1.2.1)
205
+ stringio (3.1.1)
206
+ thor (1.3.1)
174
207
  timecop (0.9.6)
175
- timeout (0.3.2)
208
+ timeout (0.4.1)
176
209
  tzinfo (2.0.6)
177
210
  concurrent-ruby (~> 1.0)
178
211
  webrick (1.8.1)
179
- websocket-driver (0.7.5)
212
+ websocket-driver (0.7.6)
180
213
  websocket-extensions (>= 0.1.0)
181
214
  websocket-extensions (0.1.5)
182
- zeitwerk (2.6.7)
215
+ zeitwerk (2.6.16)
183
216
 
184
217
  PLATFORMS
185
218
  aarch64-linux
@@ -194,9 +227,10 @@ DEPENDENCIES
194
227
  lamby!
195
228
  minitest
196
229
  minitest-focus
197
- mocha
230
+ mocha (~> 2.4)
198
231
  pry
199
- rails
232
+ rack (~> 3.1, >= 3.1.7)
233
+ rails (= 7.1.3.4)
200
234
  rake
201
235
  timecop
202
236
  webrick
data/bin/setup CHANGED
@@ -3,4 +3,4 @@ set -e
3
3
 
4
4
  echo '== Installing dependencies =='
5
5
  bundle config set --local path 'vendor/bundle'
6
- bundle install
6
+ bundle install
data/bin/test CHANGED
@@ -5,4 +5,4 @@ export RAILS_ENV="test"
5
5
 
6
6
  bundle exec rake test
7
7
  LAMBY_TEST_DYNAMIC_HANDLER=1 bundle exec rake test
8
- LAMBY_RACK_DEFLATE_ENABLED=1 bundle exec rake test_deflate
8
+ LAMBY_RACK_DEFLATE_ENABLED=1 bundle exec rake test_deflate
data/lamby.gemspec CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
18
18
  spec.bindir = "exe"
19
19
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
20
  spec.require_paths = ["lib"]
21
- spec.add_dependency 'rack', '< 3'
21
+ spec.add_dependency 'rack', '>= 3.0.0'
22
22
  spec.add_dependency 'lambda-console-ruby'
23
23
  spec.add_development_dependency 'aws-sdk-ssm'
24
24
  spec.add_development_dependency 'bundler'
data/lib/lamby/handler.rb CHANGED
@@ -31,14 +31,15 @@ module Lamby
31
31
 
32
32
  def set_cookies
33
33
  return @set_cookies if defined?(@set_cookies)
34
- @set_cookies = if @headers && @headers['Set-Cookie']
35
- @headers.delete('Set-Cookie').split("\n")
34
+ set_cookie = @headers.delete("Set-Cookie") || @headers.delete("set-cookie")
35
+ @set_cookies = if @headers && set_cookie
36
+ Array(set_cookie).flat_map { |cookie| cookie.split("\n").map(&:strip) }
36
37
  end
37
38
  end
38
39
 
39
40
  def body
40
41
  @rbody ||= ''.tap do |rbody|
41
- @body.each { |part| rbody << part if part }
42
+ @body.each { |part| rbody << part.to_s if part }
42
43
  @body.close if @body.respond_to? :close
43
44
  end
44
45
  end
@@ -50,6 +51,7 @@ module Lamby
50
51
 
51
52
  def base64_encodeable?(hdrs = @headers)
52
53
  hdrs && (
54
+ hdrs['content-transfer-encoding'] == 'binary' ||
53
55
  hdrs['Content-Transfer-Encoding'] == 'binary' ||
54
56
  content_encoding_compressed?(hdrs) ||
55
57
  hdrs['X-Lamby-Base64'] == '1'
@@ -78,10 +80,18 @@ module Lamby
78
80
 
79
81
  def rack_response
80
82
  { statusCode: status,
81
- headers: headers,
83
+ headers: stringify_values!(headers),
84
+ cookies: @set_cookies,
82
85
  body: body }.merge(rack.response(self))
83
86
  end
84
87
 
88
+ def stringify_values!(headers)
89
+ headers.each do |k, v|
90
+ headers[k] = v.to_s
91
+ end
92
+ headers
93
+ end
94
+
85
95
  def call_app
86
96
  if Debug.on?(@event)
87
97
  Debug.call @event, @context, rack.env
@@ -103,7 +113,7 @@ module Lamby
103
113
  end
104
114
 
105
115
  def content_encoding_compressed?(hdrs)
106
- content_encoding_header = hdrs['Content-Encoding'] || ''
116
+ content_encoding_header = hdrs['Content-Encoding'] || hdrs['content-encoding'] || ''
107
117
  content_encoding_header.split(', ').any? { |h| ['br', 'gzip'].include?(h) }
108
118
  end
109
119
 
@@ -36,6 +36,7 @@ module Lamby
36
36
  private
37
37
 
38
38
  def env_base
39
+ rack_version = defined?(::Rack::VERSION) ? ::Rack::VERSION : ::Rack.release
39
40
  { ::Rack::REQUEST_METHOD => event['httpMethod'],
40
41
  ::Rack::SCRIPT_NAME => '',
41
42
  ::Rack::PATH_INFO => event['path'] || '',
@@ -43,7 +44,7 @@ module Lamby
43
44
  ::Rack::SERVER_NAME => headers['host'],
44
45
  ::Rack::SERVER_PORT => headers['x-forwarded-port'],
45
46
  ::Rack::SERVER_PROTOCOL => 'HTTP/1.1',
46
- ::Rack::RACK_VERSION => ::Rack::VERSION,
47
+ ::Rack::RACK_VERSION => rack_version,
47
48
  ::Rack::RACK_URL_SCHEME => headers['x-forwarded-proto'],
48
49
  ::Rack::RACK_INPUT => StringIO.new(body || ''),
49
50
  ::Rack::RACK_ERRORS => $stderr,
@@ -31,6 +31,7 @@ module Lamby
31
31
  private
32
32
 
33
33
  def env_base
34
+ rack_version = defined?(::Rack::VERSION) ? ::Rack::VERSION : ::Rack.release
34
35
  { ::Rack::REQUEST_METHOD => request_method,
35
36
  ::Rack::SCRIPT_NAME => '',
36
37
  ::Rack::PATH_INFO => path_info,
@@ -38,7 +39,7 @@ module Lamby
38
39
  ::Rack::SERVER_NAME => server_name,
39
40
  ::Rack::SERVER_PORT => server_port,
40
41
  ::Rack::SERVER_PROTOCOL => server_protocol,
41
- ::Rack::RACK_VERSION => ::Rack::VERSION,
42
+ ::Rack::RACK_VERSION => rack_version,
42
43
  ::Rack::RACK_URL_SCHEME => 'https',
43
44
  ::Rack::RACK_INPUT => StringIO.new(body || ''),
44
45
  ::Rack::RACK_ERRORS => $stderr,
@@ -25,6 +25,7 @@ module Lamby
25
25
  private
26
26
 
27
27
  def env_base
28
+ rack_version = defined?(::Rack::VERSION) ? ::Rack::VERSION : ::Rack.release
28
29
  { ::Rack::REQUEST_METHOD => event['httpMethod'],
29
30
  ::Rack::SCRIPT_NAME => '',
30
31
  ::Rack::PATH_INFO => event['path'] || '',
@@ -32,7 +33,7 @@ module Lamby
32
33
  ::Rack::SERVER_NAME => headers['Host'],
33
34
  ::Rack::SERVER_PORT => headers['X-Forwarded-Port'],
34
35
  ::Rack::SERVER_PROTOCOL => event.dig('requestContext', 'protocol') || 'HTTP/1.1',
35
- ::Rack::RACK_VERSION => ::Rack::VERSION,
36
+ ::Rack::RACK_VERSION => rack_version,
36
37
  ::Rack::RACK_URL_SCHEME => 'https',
37
38
  ::Rack::RACK_INPUT => StringIO.new(body || ''),
38
39
  ::Rack::RACK_ERRORS => $stderr,
data/lib/lamby/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Lamby
2
- VERSION = '5.2.2'
2
+ VERSION = '6.0.0'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lamby
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.2.2
4
+ version: 6.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ken Collins
@@ -14,16 +14,16 @@ dependencies:
14
14
  name: rack
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "<"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '3'
19
+ version: 3.0.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "<"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '3'
26
+ version: 3.0.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: lambda-console-ruby
29
29
  requirement: !ruby/object:Gem::Requirement