sinatra-contrib 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/lib/sinatra/contrib/version.rb +1 -1
- data/lib/sinatra/contrib.rb +2 -0
- data/lib/sinatra/cookies.rb +5 -5
- data/lib/sinatra/haml_helpers.rb +50 -0
- data/lib/sinatra/link_header.rb +4 -4
- data/lib/sinatra/runner.rb +1 -1
- data/sinatra-contrib.gemspec +2 -16
- metadata +14 -195
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 463f96e4b9b3eabb8a6c5dacefbd633f4f6fcc2939bfb3a00a3caa432d877d58
|
4
|
+
data.tar.gz: aef09374d3530b62e1cea7143e11bf22ca64b98df2a6406b54e6377967489f0f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bde512434820f464b4f9a1d26c9bb1f1c9fd81b9ddd03e63b5ffc4d9190775d836c3587ec8498c195c1264eadc49d393e31590b1a503925c0b1efba2afa93648
|
7
|
+
data.tar.gz: 1e9df974dec701a0bed99262473313dfa18c65aa9e197e5c9d0e0337d4854f65c7444b96c5087c43247d9729625904ed648325ed194aa527d0ec969d511f744e
|
data/lib/sinatra/contrib.rb
CHANGED
data/lib/sinatra/cookies.rb
CHANGED
@@ -60,7 +60,7 @@ module Sinatra
|
|
60
60
|
attr_reader :options
|
61
61
|
|
62
62
|
def initialize(app)
|
63
|
-
@
|
63
|
+
@response_array = nil
|
64
64
|
@response_hash = {}
|
65
65
|
@response = app.response
|
66
66
|
@request = app.request
|
@@ -309,12 +309,12 @@ module Sinatra
|
|
309
309
|
end
|
310
310
|
|
311
311
|
def parse_response
|
312
|
-
|
313
|
-
return if @
|
312
|
+
cookies_from_response = Array(@response['Set-Cookie'])
|
313
|
+
return if @response_array == cookies_from_response
|
314
314
|
|
315
315
|
hash = {}
|
316
316
|
|
317
|
-
|
317
|
+
cookies_from_response.each do |line|
|
318
318
|
key, value = line.split(';', 2).first.to_s.split('=', 2)
|
319
319
|
next if key.nil?
|
320
320
|
|
@@ -328,7 +328,7 @@ module Sinatra
|
|
328
328
|
end
|
329
329
|
|
330
330
|
@response_hash.replace hash
|
331
|
-
@
|
331
|
+
@response_array = cookies_from_response
|
332
332
|
end
|
333
333
|
|
334
334
|
def request_cookies
|
@@ -0,0 +1,50 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'sinatra/base'
|
4
|
+
require 'sinatra/capture'
|
5
|
+
|
6
|
+
module Sinatra
|
7
|
+
# = Sinatra::HamlHelpers
|
8
|
+
#
|
9
|
+
# This extension provides some of the helper methods that existed in Haml 5
|
10
|
+
# but were removed in Haml 6. To use this in your app, just +register+ it:
|
11
|
+
#
|
12
|
+
# require 'sinatra/base'
|
13
|
+
# require 'sinatra/haml_helpers'
|
14
|
+
#
|
15
|
+
# class Application < Sinatra::Base
|
16
|
+
# register Sinatra::HamlHelpers
|
17
|
+
#
|
18
|
+
# # now you can use the helpers in your views
|
19
|
+
# get '/' do
|
20
|
+
# haml_code = <<~HAML
|
21
|
+
# %p
|
22
|
+
# != surround "(", ")" do
|
23
|
+
# %a{ href: "https://example.org/" } example.org
|
24
|
+
# HAML
|
25
|
+
# haml haml_code
|
26
|
+
# end
|
27
|
+
# end
|
28
|
+
#
|
29
|
+
module HamlHelpers
|
30
|
+
include Sinatra::Capture
|
31
|
+
|
32
|
+
def surround(front, back = front, &block)
|
33
|
+
"#{front}#{_capture_haml(&block).chomp}#{back}\n"
|
34
|
+
end
|
35
|
+
|
36
|
+
def precede(str, &block)
|
37
|
+
"#{str}#{_capture_haml(&block).chomp}\n"
|
38
|
+
end
|
39
|
+
|
40
|
+
def succeed(str, &block)
|
41
|
+
"#{_capture_haml(&block).chomp}#{str}\n"
|
42
|
+
end
|
43
|
+
|
44
|
+
def _capture_haml(*args, &block)
|
45
|
+
capture(*args, &block)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
helpers HamlHelpers
|
50
|
+
end
|
data/lib/sinatra/link_header.rb
CHANGED
@@ -89,10 +89,10 @@ module Sinatra
|
|
89
89
|
link = (response['Link'] ||= '')
|
90
90
|
|
91
91
|
urls.map do |url|
|
92
|
-
link << "
|
92
|
+
link << "," unless link.empty?
|
93
93
|
link << (http_pattern % url)
|
94
94
|
html_pattern % url
|
95
|
-
end.join
|
95
|
+
end.join
|
96
96
|
end
|
97
97
|
|
98
98
|
##
|
@@ -117,10 +117,10 @@ module Sinatra
|
|
117
117
|
yield if block_given?
|
118
118
|
return '' unless response.include? 'Link'
|
119
119
|
|
120
|
-
response['Link'].split("
|
120
|
+
response['Link'].split(",").map do |line|
|
121
121
|
url, *opts = line.split(';').map(&:strip)
|
122
122
|
"<link href=\"#{url[1..-2]}\" #{opts.join ' '} />"
|
123
|
-
end.join
|
123
|
+
end.join
|
124
124
|
end
|
125
125
|
|
126
126
|
def self.registered(_base)
|
data/lib/sinatra/runner.rb
CHANGED
data/sinatra-contrib.gemspec
CHANGED
@@ -35,25 +35,11 @@ RubyGems 2.0 or newer is required to protect against public gem pushes. You can
|
|
35
35
|
'rubygems_mfa_required' => 'true'
|
36
36
|
}
|
37
37
|
|
38
|
-
s.required_ruby_version = '>= 2.
|
38
|
+
s.required_ruby_version = '>= 2.7.8'
|
39
39
|
|
40
|
-
s.add_dependency 'multi_json'
|
40
|
+
s.add_dependency 'multi_json', '>= 0.0.2'
|
41
41
|
s.add_dependency 'mustermann', '~> 3.0'
|
42
42
|
s.add_dependency 'rack-protection', version
|
43
43
|
s.add_dependency 'sinatra', version
|
44
44
|
s.add_dependency 'tilt', '~> 2.0'
|
45
|
-
|
46
|
-
s.add_development_dependency 'asciidoctor'
|
47
|
-
s.add_development_dependency 'builder'
|
48
|
-
s.add_development_dependency 'erubi'
|
49
|
-
s.add_development_dependency 'haml'
|
50
|
-
s.add_development_dependency 'liquid'
|
51
|
-
s.add_development_dependency 'markaby'
|
52
|
-
s.add_development_dependency 'nokogiri'
|
53
|
-
s.add_development_dependency 'rack-test', '~> 2'
|
54
|
-
s.add_development_dependency 'rake', '>= 12.3.3'
|
55
|
-
s.add_development_dependency 'redcarpet'
|
56
|
-
s.add_development_dependency 'rspec', '~> 3'
|
57
|
-
s.add_development_dependency 'sass-embedded', '~> 1.54'
|
58
|
-
s.add_development_dependency 'slim'
|
59
45
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sinatra-contrib
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 4.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- https://github.com/sinatra/sinatra/graphs/contributors
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-01-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: multi_json
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 0.0.2
|
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:
|
26
|
+
version: 0.0.2
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: mustermann
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -44,28 +44,28 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - '='
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
47
|
+
version: 4.0.0
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - '='
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
54
|
+
version: 4.0.0
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: sinatra
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - '='
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
61
|
+
version: 4.0.0
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - '='
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
68
|
+
version: 4.0.0
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: tilt
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -80,188 +80,6 @@ dependencies:
|
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '2.0'
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: asciidoctor
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - ">="
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: '0'
|
90
|
-
type: :development
|
91
|
-
prerelease: false
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
93
|
-
requirements:
|
94
|
-
- - ">="
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: '0'
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: builder
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - ">="
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: '0'
|
104
|
-
type: :development
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - ">="
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: '0'
|
111
|
-
- !ruby/object:Gem::Dependency
|
112
|
-
name: erubi
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
114
|
-
requirements:
|
115
|
-
- - ">="
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: '0'
|
118
|
-
type: :development
|
119
|
-
prerelease: false
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
requirements:
|
122
|
-
- - ">="
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
version: '0'
|
125
|
-
- !ruby/object:Gem::Dependency
|
126
|
-
name: haml
|
127
|
-
requirement: !ruby/object:Gem::Requirement
|
128
|
-
requirements:
|
129
|
-
- - ">="
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version: '0'
|
132
|
-
type: :development
|
133
|
-
prerelease: false
|
134
|
-
version_requirements: !ruby/object:Gem::Requirement
|
135
|
-
requirements:
|
136
|
-
- - ">="
|
137
|
-
- !ruby/object:Gem::Version
|
138
|
-
version: '0'
|
139
|
-
- !ruby/object:Gem::Dependency
|
140
|
-
name: liquid
|
141
|
-
requirement: !ruby/object:Gem::Requirement
|
142
|
-
requirements:
|
143
|
-
- - ">="
|
144
|
-
- !ruby/object:Gem::Version
|
145
|
-
version: '0'
|
146
|
-
type: :development
|
147
|
-
prerelease: false
|
148
|
-
version_requirements: !ruby/object:Gem::Requirement
|
149
|
-
requirements:
|
150
|
-
- - ">="
|
151
|
-
- !ruby/object:Gem::Version
|
152
|
-
version: '0'
|
153
|
-
- !ruby/object:Gem::Dependency
|
154
|
-
name: markaby
|
155
|
-
requirement: !ruby/object:Gem::Requirement
|
156
|
-
requirements:
|
157
|
-
- - ">="
|
158
|
-
- !ruby/object:Gem::Version
|
159
|
-
version: '0'
|
160
|
-
type: :development
|
161
|
-
prerelease: false
|
162
|
-
version_requirements: !ruby/object:Gem::Requirement
|
163
|
-
requirements:
|
164
|
-
- - ">="
|
165
|
-
- !ruby/object:Gem::Version
|
166
|
-
version: '0'
|
167
|
-
- !ruby/object:Gem::Dependency
|
168
|
-
name: nokogiri
|
169
|
-
requirement: !ruby/object:Gem::Requirement
|
170
|
-
requirements:
|
171
|
-
- - ">="
|
172
|
-
- !ruby/object:Gem::Version
|
173
|
-
version: '0'
|
174
|
-
type: :development
|
175
|
-
prerelease: false
|
176
|
-
version_requirements: !ruby/object:Gem::Requirement
|
177
|
-
requirements:
|
178
|
-
- - ">="
|
179
|
-
- !ruby/object:Gem::Version
|
180
|
-
version: '0'
|
181
|
-
- !ruby/object:Gem::Dependency
|
182
|
-
name: rack-test
|
183
|
-
requirement: !ruby/object:Gem::Requirement
|
184
|
-
requirements:
|
185
|
-
- - "~>"
|
186
|
-
- !ruby/object:Gem::Version
|
187
|
-
version: '2'
|
188
|
-
type: :development
|
189
|
-
prerelease: false
|
190
|
-
version_requirements: !ruby/object:Gem::Requirement
|
191
|
-
requirements:
|
192
|
-
- - "~>"
|
193
|
-
- !ruby/object:Gem::Version
|
194
|
-
version: '2'
|
195
|
-
- !ruby/object:Gem::Dependency
|
196
|
-
name: rake
|
197
|
-
requirement: !ruby/object:Gem::Requirement
|
198
|
-
requirements:
|
199
|
-
- - ">="
|
200
|
-
- !ruby/object:Gem::Version
|
201
|
-
version: 12.3.3
|
202
|
-
type: :development
|
203
|
-
prerelease: false
|
204
|
-
version_requirements: !ruby/object:Gem::Requirement
|
205
|
-
requirements:
|
206
|
-
- - ">="
|
207
|
-
- !ruby/object:Gem::Version
|
208
|
-
version: 12.3.3
|
209
|
-
- !ruby/object:Gem::Dependency
|
210
|
-
name: redcarpet
|
211
|
-
requirement: !ruby/object:Gem::Requirement
|
212
|
-
requirements:
|
213
|
-
- - ">="
|
214
|
-
- !ruby/object:Gem::Version
|
215
|
-
version: '0'
|
216
|
-
type: :development
|
217
|
-
prerelease: false
|
218
|
-
version_requirements: !ruby/object:Gem::Requirement
|
219
|
-
requirements:
|
220
|
-
- - ">="
|
221
|
-
- !ruby/object:Gem::Version
|
222
|
-
version: '0'
|
223
|
-
- !ruby/object:Gem::Dependency
|
224
|
-
name: rspec
|
225
|
-
requirement: !ruby/object:Gem::Requirement
|
226
|
-
requirements:
|
227
|
-
- - "~>"
|
228
|
-
- !ruby/object:Gem::Version
|
229
|
-
version: '3'
|
230
|
-
type: :development
|
231
|
-
prerelease: false
|
232
|
-
version_requirements: !ruby/object:Gem::Requirement
|
233
|
-
requirements:
|
234
|
-
- - "~>"
|
235
|
-
- !ruby/object:Gem::Version
|
236
|
-
version: '3'
|
237
|
-
- !ruby/object:Gem::Dependency
|
238
|
-
name: sass-embedded
|
239
|
-
requirement: !ruby/object:Gem::Requirement
|
240
|
-
requirements:
|
241
|
-
- - "~>"
|
242
|
-
- !ruby/object:Gem::Version
|
243
|
-
version: '1.54'
|
244
|
-
type: :development
|
245
|
-
prerelease: false
|
246
|
-
version_requirements: !ruby/object:Gem::Requirement
|
247
|
-
requirements:
|
248
|
-
- - "~>"
|
249
|
-
- !ruby/object:Gem::Version
|
250
|
-
version: '1.54'
|
251
|
-
- !ruby/object:Gem::Dependency
|
252
|
-
name: slim
|
253
|
-
requirement: !ruby/object:Gem::Requirement
|
254
|
-
requirements:
|
255
|
-
- - ">="
|
256
|
-
- !ruby/object:Gem::Version
|
257
|
-
version: '0'
|
258
|
-
type: :development
|
259
|
-
prerelease: false
|
260
|
-
version_requirements: !ruby/object:Gem::Requirement
|
261
|
-
requirements:
|
262
|
-
- - ">="
|
263
|
-
- !ruby/object:Gem::Version
|
264
|
-
version: '0'
|
265
83
|
description: Collection of useful Sinatra extensions
|
266
84
|
email: sinatrarb@googlegroups.com
|
267
85
|
executables: []
|
@@ -283,6 +101,7 @@ files:
|
|
283
101
|
- lib/sinatra/custom_logger.rb
|
284
102
|
- lib/sinatra/engine_tracking.rb
|
285
103
|
- lib/sinatra/extension.rb
|
104
|
+
- lib/sinatra/haml_helpers.rb
|
286
105
|
- lib/sinatra/json.rb
|
287
106
|
- lib/sinatra/link_header.rb
|
288
107
|
- lib/sinatra/multi_route.rb
|
@@ -304,7 +123,7 @@ metadata:
|
|
304
123
|
homepage_uri: http://sinatrarb.com/contrib/
|
305
124
|
documentation_uri: https://www.rubydoc.info/gems/sinatra-contrib
|
306
125
|
rubygems_mfa_required: 'true'
|
307
|
-
post_install_message:
|
126
|
+
post_install_message:
|
308
127
|
rdoc_options: []
|
309
128
|
require_paths:
|
310
129
|
- lib
|
@@ -312,15 +131,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
312
131
|
requirements:
|
313
132
|
- - ">="
|
314
133
|
- !ruby/object:Gem::Version
|
315
|
-
version: 2.
|
134
|
+
version: 2.7.8
|
316
135
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
317
136
|
requirements:
|
318
137
|
- - ">="
|
319
138
|
- !ruby/object:Gem::Version
|
320
139
|
version: '0'
|
321
140
|
requirements: []
|
322
|
-
rubygems_version: 3.
|
323
|
-
signing_key:
|
141
|
+
rubygems_version: 3.5.3
|
142
|
+
signing_key:
|
324
143
|
specification_version: 4
|
325
144
|
summary: Collection of useful Sinatra extensions.
|
326
145
|
test_files: []
|