sinatra-contrib 3.0.6 → 3.2.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f1dd46868aed6165f3940802775216257f876a7b2d943133a84e88ec18f320be
4
- data.tar.gz: be4fc1981c54bc23315f7785b918750abaee125fd7b2c9c36e8803c109520226
3
+ metadata.gz: 03c164118c404e74ff0c1be0a36177ab2ab8b0409444fa71bc9a4297b4f08a6a
4
+ data.tar.gz: f55df9470405a33061f506b6dbc24641a85d0067d684d939bb69311e1d762c81
5
5
  SHA512:
6
- metadata.gz: 643788f4f6cdcdf0fb575b67c2e59d273c30988ca07adf6a42e94043266b2ad5f574bb2586280e7f6e071f9dda9a60cbfb47efedd353c544c56e3175dc728649
7
- data.tar.gz: 25efe6011774ca9aa1cdeb3e011e28430aed7041995008e438b95a8419228fb8019658a401a1a6b7d827ff225cc0240b4c80cd92de601578f5b2b548ec505121
6
+ metadata.gz: 4efe2c51cd24dfcacc0150f2d298edb7358de015fdb6ab37ca023d36df23fd6c08b1823f8d0c7b657306cc2f8a9a72ec440b9a69e87def6d7fc5ad32fa70def3
7
+ data.tar.gz: b04167f8e4d6532cc6bb118b3e18301cf008c0face2d833cfb596bd83c6080ea586867788f1d6ec2318e75d266cd11a7c892fc8a95f42b8483ba3ef29b1aa424
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Sinatra
4
4
  module Contrib
5
- VERSION = '3.0.6'
5
+ VERSION = '3.2.0'
6
6
  end
7
7
  end
@@ -28,6 +28,8 @@ module Sinatra
28
28
  # Other extensions you don't want to be loaded unless needed.
29
29
  module Custom
30
30
  register :Reloader, 'sinatra/reloader'
31
+
32
+ helpers :HamlHelpers, 'sinatra/haml_helpers'
31
33
  end
32
34
 
33
35
  ##
@@ -27,6 +27,16 @@ module Sinatra
27
27
  @current_engine == :haml
28
28
  end
29
29
 
30
+ # @return [Boolean] Returns true if current engine is `:sass`.
31
+ def sass?
32
+ @current_engine == :sass
33
+ end
34
+
35
+ # @return [Boolean] Returns true if current engine is `:scss`.
36
+ def scss?
37
+ @current_engine == :scss
38
+ end
39
+
30
40
  # @return [Boolean] Returns true if current engine is `:builder`.
31
41
  def builder?
32
42
  @current_engine == :builder
@@ -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
@@ -210,7 +210,7 @@ module Sinatra
210
210
  end
211
211
 
212
212
  def template_cache
213
- super.fetch(:nested, @namespace) { Tilt::Cache.new }
213
+ super.fetch(:nested, @namespace) { TemplateCache.new }
214
214
  end
215
215
 
216
216
  def redirect_to(uri, *args)
@@ -229,7 +229,7 @@ module Sinatra
229
229
  attr_reader :base, :templates
230
230
 
231
231
  ALLOWED_ENGINES = %i[
232
- erb erubi haml hamlit builder nokogiri
232
+ erb erubi haml hamlit builder nokogiri sass scss
233
233
  liquid markdown rdoc asciidoc markaby
234
234
  rabl slim yajl
235
235
  ]
@@ -249,6 +249,7 @@ module Sinatra
249
249
 
250
250
  def self.engines
251
251
  engines = {
252
+ css: %i[sass scss],
252
253
  xml: %i[builder nokogiri],
253
254
  html: %i[erb erubi haml hamlit slim liquid
254
255
  mab markdown rdoc],
@@ -117,7 +117,7 @@ module Sinatra
117
117
 
118
118
  if Time.now - @started > timeout
119
119
  warn command, log
120
- raise 'timeout'
120
+ raise "timeout starting server with command '#{command}'"
121
121
  else
122
122
  sleep 0.1
123
123
  end
@@ -8,7 +8,7 @@ Gem::Specification.new do |s|
8
8
  s.description = 'Collection of useful Sinatra extensions'
9
9
  s.homepage = 'http://sinatrarb.com/contrib/'
10
10
  s.license = 'MIT'
11
- s.summary = s.description
11
+ s.summary = "#{s.description}."
12
12
  s.authors = ['https://github.com/sinatra/sinatra/graphs/contributors']
13
13
  s.email = 'sinatrarb@googlegroups.com'
14
14
  s.files = Dir['lib/**/*.rb'] + [
@@ -37,22 +37,9 @@ RubyGems 2.0 or newer is required to protect against public gem pushes. You can
37
37
 
38
38
  s.required_ruby_version = '>= 2.6.0'
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 'slim'
58
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: 3.0.6
4
+ version: 3.2.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: 2023-04-11 00:00:00.000000000 Z
11
+ date: 2023-12-29 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: '0'
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: '0'
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: 3.0.6
47
+ version: 3.2.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: 3.0.6
54
+ version: 3.2.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: 3.0.6
61
+ version: 3.2.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: 3.0.6
68
+ version: 3.2.0
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: tilt
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -80,174 +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: slim
239
- requirement: !ruby/object:Gem::Requirement
240
- requirements:
241
- - - ">="
242
- - !ruby/object:Gem::Version
243
- version: '0'
244
- type: :development
245
- prerelease: false
246
- version_requirements: !ruby/object:Gem::Requirement
247
- requirements:
248
- - - ">="
249
- - !ruby/object:Gem::Version
250
- version: '0'
251
83
  description: Collection of useful Sinatra extensions
252
84
  email: sinatrarb@googlegroups.com
253
85
  executables: []
@@ -269,6 +101,7 @@ files:
269
101
  - lib/sinatra/custom_logger.rb
270
102
  - lib/sinatra/engine_tracking.rb
271
103
  - lib/sinatra/extension.rb
104
+ - lib/sinatra/haml_helpers.rb
272
105
  - lib/sinatra/json.rb
273
106
  - lib/sinatra/link_header.rb
274
107
  - lib/sinatra/multi_route.rb
@@ -290,7 +123,7 @@ metadata:
290
123
  homepage_uri: http://sinatrarb.com/contrib/
291
124
  documentation_uri: https://www.rubydoc.info/gems/sinatra-contrib
292
125
  rubygems_mfa_required: 'true'
293
- post_install_message:
126
+ post_install_message:
294
127
  rdoc_options: []
295
128
  require_paths:
296
129
  - lib
@@ -305,8 +138,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
305
138
  - !ruby/object:Gem::Version
306
139
  version: '0'
307
140
  requirements: []
308
- rubygems_version: 3.4.10
309
- signing_key:
141
+ rubygems_version: 3.5.3
142
+ signing_key:
310
143
  specification_version: 4
311
- summary: Collection of useful Sinatra extensions
144
+ summary: Collection of useful Sinatra extensions.
312
145
  test_files: []