sinatra-contrib 1.4.2 → 1.4.4
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/LICENSE +2 -0
- data/README.md +3 -0
- data/Rakefile +3 -3
- data/lib/sinatra/capture.rb +1 -1
- data/lib/sinatra/config_file.rb +4 -3
- data/lib/sinatra/contrib/version.rb +1 -1
- data/lib/sinatra/cookies.rb +2 -4
- data/lib/sinatra/custom_logger.rb +60 -0
- data/lib/sinatra/decompile.rb +7 -1
- data/lib/sinatra/namespace.rb +10 -3
- data/lib/sinatra/reloader.rb +6 -4
- data/lib/sinatra/respond_with.rb +30 -13
- data/lib/sinatra/streaming.rb +1 -1
- data/sinatra-contrib.gemspec +40 -3
- data/spec/capture_spec.rb +9 -2
- data/spec/config_file_spec.rb +1 -2
- data/spec/content_for_spec.rb +1 -2
- data/spec/cookies_spec.rb +25 -18
- data/spec/custom_logger_spec.rb +43 -0
- data/spec/decompile_spec.rb +1 -2
- data/spec/extension_spec.rb +2 -3
- data/spec/json_spec.rb +2 -3
- data/spec/link_header_spec.rb +1 -2
- data/spec/multi_route_spec.rb +1 -2
- data/spec/namespace_spec.rb +125 -60
- data/spec/reloader_spec.rb +1 -2
- data/spec/respond_with/bar.erb +1 -1
- data/spec/respond_with_spec.rb +3 -4
- data/spec/spec_helper.rb +1 -1
- data/spec/streaming_spec.rb +3 -3
- metadata +242 -30
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7b10e547ab4dd6286fab1c7d2d5fb9d76f68410f
|
4
|
+
data.tar.gz: f10a9b4b327486c4aab7ea05d4fd7987b4f3ffc1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d2d939d7d4592bce5e0b191127a99c6b661950d6b3d42f2996b6acac5ef1ee47b88f80f0d74faa2b889c745c62a3b748d7f2c59ab9aea31f500b7e81b690e343
|
7
|
+
data.tar.gz: c85fcf0b78d0826c927beb11ceda86c6f984f04a34373c3cdbae5416391518e58bf1719720af6e5ce616502d275217a272c01facc0b26765c397c7c46ff2fe76
|
data/LICENSE
CHANGED
data/README.md
CHANGED
@@ -45,6 +45,9 @@ Currently included:
|
|
45
45
|
depending on the incoming request. Adds helpers `respond_to` and
|
46
46
|
`respond_with`.
|
47
47
|
|
48
|
+
* `sinatra/custom_logger`: This extension allows you to define your own
|
49
|
+
logger instance using +logger+ setting. That logger then will
|
50
|
+
be available as #logger helper method in your routes and views.
|
48
51
|
|
49
52
|
## Custom Extensions
|
50
53
|
|
data/Rakefile
CHANGED
@@ -4,7 +4,7 @@ require 'yaml'
|
|
4
4
|
require 'sinatra/contrib/version'
|
5
5
|
|
6
6
|
desc "run specs"
|
7
|
-
task(:spec) { ruby '-S rspec spec -
|
7
|
+
task(:spec) { ruby '-S rspec spec -cw' }
|
8
8
|
task(:test => :spec)
|
9
9
|
task(:default => :spec)
|
10
10
|
|
@@ -67,8 +67,8 @@ task :release => :gemspec do
|
|
67
67
|
git commit --allow-empty -a -m '#{Sinatra::Contrib::VERSION} release' &&
|
68
68
|
git tag -s v#{Sinatra::Contrib::VERSION} -m '#{Sinatra::Contrib::VERSION} release' &&
|
69
69
|
git tag -s #{Sinatra::Contrib::VERSION} -m '#{Sinatra::Contrib::VERSION} release' &&
|
70
|
-
git push && (git push
|
71
|
-
git push --tags && (git push
|
70
|
+
git push && (git push origin master || true) &&
|
71
|
+
git push --tags && (git push origin --tags || true)
|
72
72
|
SH
|
73
73
|
end
|
74
74
|
|
data/lib/sinatra/capture.rb
CHANGED
@@ -95,7 +95,7 @@ module Sinatra
|
|
95
95
|
@capture = nil
|
96
96
|
if current_engine == :ruby
|
97
97
|
result = block[*args]
|
98
|
-
elsif current_engine == :erb
|
98
|
+
elsif current_engine == :erb || current_engine == :slim
|
99
99
|
@_out_buf, _buf_was = '', @_out_buf
|
100
100
|
block[*args]
|
101
101
|
result = eval('@_out_buf', block.binding)
|
data/lib/sinatra/config_file.rb
CHANGED
@@ -69,8 +69,9 @@ module Sinatra
|
|
69
69
|
# b: 2
|
70
70
|
#
|
71
71
|
# But it also can provide specific environment configuration. There are two
|
72
|
-
# ways to do that: at the file level and at the
|
73
|
-
#
|
72
|
+
# ways to do that: at the file level and at the settings level.
|
73
|
+
#
|
74
|
+
# At the settings level (e.g. in 'path/to/config.yml'):
|
74
75
|
#
|
75
76
|
# development:
|
76
77
|
# foo: development
|
@@ -82,7 +83,7 @@ module Sinatra
|
|
82
83
|
# foo: production
|
83
84
|
# bar: bar
|
84
85
|
#
|
85
|
-
#
|
86
|
+
# Or at the file level:
|
86
87
|
#
|
87
88
|
# foo:
|
88
89
|
# development: development
|
data/lib/sinatra/cookies.rb
CHANGED
@@ -66,14 +66,12 @@ module Sinatra
|
|
66
66
|
@deleted = []
|
67
67
|
|
68
68
|
@options = {
|
69
|
-
:path
|
70
|
-
:domain
|
69
|
+
:path => @request.script_name.to_s.empty? ? '/' : @request.script_name,
|
70
|
+
:domain => @request.host == 'localhost' ? nil : @request.host,
|
71
71
|
:secure => @request.secure?,
|
72
72
|
:httponly => true
|
73
73
|
}
|
74
74
|
|
75
|
-
@options[:path] = '/' if @options[:path].to_s.empty?
|
76
|
-
|
77
75
|
if app.settings.respond_to? :cookie_options
|
78
76
|
@options.merge! app.settings.cookie_options
|
79
77
|
end
|
@@ -0,0 +1,60 @@
|
|
1
|
+
module Sinatra
|
2
|
+
|
3
|
+
# = Sinatra::CustomLogger
|
4
|
+
#
|
5
|
+
# CustomLogger extension allows you to define your own logger instance
|
6
|
+
# using +logger+ setting. That logger then will be available
|
7
|
+
# as #logger helper method in your routes and views.
|
8
|
+
#
|
9
|
+
# == Usage
|
10
|
+
#
|
11
|
+
# === Classic Application
|
12
|
+
#
|
13
|
+
# To define your custom logger instance in a classic application:
|
14
|
+
#
|
15
|
+
# require 'sinatra'
|
16
|
+
# require 'sinatra/custom_logger'
|
17
|
+
# require 'logger'
|
18
|
+
#
|
19
|
+
# set :logger, Logger.new(STDOUT)
|
20
|
+
#
|
21
|
+
# get '/' do
|
22
|
+
# logger.info 'Some message' # STDOUT logger is used
|
23
|
+
# # Other code...
|
24
|
+
# end
|
25
|
+
#
|
26
|
+
# === Modular Application
|
27
|
+
#
|
28
|
+
# The same for modular application:
|
29
|
+
#
|
30
|
+
# require 'sinatra/base'
|
31
|
+
# require 'sinatra/custom_logger'
|
32
|
+
# require 'logger'
|
33
|
+
#
|
34
|
+
# class MyApp < Sinatra::Base
|
35
|
+
# helpers Sinatra::CustomLogger
|
36
|
+
#
|
37
|
+
# configure :development, :production do
|
38
|
+
# logger = Logger.new(File.open("#{root}/log/#{environment}.log", 'a'))
|
39
|
+
# logger.level = Logger::DEBUG if development?
|
40
|
+
# set :logger, logger
|
41
|
+
# end
|
42
|
+
#
|
43
|
+
# get '/' do
|
44
|
+
# logger.info 'Some message' # File-based logger is used
|
45
|
+
# # Other code...
|
46
|
+
# end
|
47
|
+
# end
|
48
|
+
#
|
49
|
+
module CustomLogger
|
50
|
+
def logger
|
51
|
+
if settings.respond_to?(:logger)
|
52
|
+
settings.logger
|
53
|
+
else
|
54
|
+
request.logger
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
helpers CustomLogger
|
60
|
+
end
|
data/lib/sinatra/decompile.rb
CHANGED
@@ -110,11 +110,17 @@ module Sinatra
|
|
110
110
|
|
111
111
|
def encoded(char)
|
112
112
|
return super if defined? super
|
113
|
-
enc =
|
113
|
+
enc = uri_parser.escape(char)
|
114
114
|
enc = "(?:#{escaped(char, enc).join('|')})" if enc == char
|
115
115
|
enc = "(?:#{enc}|#{encoded('+')})" if char == " "
|
116
116
|
enc
|
117
117
|
end
|
118
|
+
|
119
|
+
def uri_parser
|
120
|
+
#TODO: Remove check after dropping support for 1.8.7
|
121
|
+
@_uri_parser ||= defined?(URI::Parser) ? URI::Parser.new : URI
|
122
|
+
end
|
123
|
+
|
118
124
|
end
|
119
125
|
|
120
126
|
register Decompile
|
data/lib/sinatra/namespace.rb
CHANGED
@@ -116,6 +116,8 @@ module Sinatra
|
|
116
116
|
module Namespace
|
117
117
|
def self.new(base, pattern, conditions = {}, &block)
|
118
118
|
Module.new do
|
119
|
+
#quelch uninitialized variable warnings, since these get used by compile method.
|
120
|
+
@pattern, @conditions = nil, nil
|
119
121
|
extend NamespacedMethods
|
120
122
|
include InstanceMethods
|
121
123
|
@base, @extensions, @errors = base, [], {}
|
@@ -173,7 +175,7 @@ module Sinatra
|
|
173
175
|
end
|
174
176
|
|
175
177
|
def not_found(&block)
|
176
|
-
error(
|
178
|
+
error(Sinatra::NotFound, &block)
|
177
179
|
end
|
178
180
|
|
179
181
|
def errors
|
@@ -185,9 +187,10 @@ module Sinatra
|
|
185
187
|
end
|
186
188
|
|
187
189
|
def error(*codes, &block)
|
188
|
-
args = Sinatra::Base.send(:compile!, "ERROR",
|
190
|
+
args = Sinatra::Base.send(:compile!, "ERROR", regexpify(@pattern), block)
|
189
191
|
codes = codes.map { |c| Array(c) }.flatten
|
190
192
|
codes << Exception if codes.empty?
|
193
|
+
|
191
194
|
codes.each do |c|
|
192
195
|
errors = @errors[c] ||= []
|
193
196
|
errors << args
|
@@ -253,7 +256,7 @@ module Sinatra
|
|
253
256
|
|
254
257
|
def regexpify(pattern)
|
255
258
|
pattern = Sinatra::Base.send(:compile, pattern).first.inspect
|
256
|
-
pattern.gsub! /^\/(\^|\\A)?|(\$|\\
|
259
|
+
pattern.gsub! /^\/(\^|\\A)?|(\$|\\z)?\/$/, ''
|
257
260
|
Regexp.new pattern
|
258
261
|
end
|
259
262
|
|
@@ -268,6 +271,10 @@ module Sinatra
|
|
268
271
|
def method_missing(method, *args, &block)
|
269
272
|
base.send(method, *args, &block)
|
270
273
|
end
|
274
|
+
|
275
|
+
def respond_to?(method, include_private = false)
|
276
|
+
super || base.respond_to?(method, include_private)
|
277
|
+
end
|
271
278
|
end
|
272
279
|
|
273
280
|
module BaseMethods
|
data/lib/sinatra/reloader.rb
CHANGED
@@ -164,6 +164,7 @@ module Sinatra
|
|
164
164
|
|
165
165
|
# Creates a new +Watcher+ instance for the file located at +path+.
|
166
166
|
def initialize(path)
|
167
|
+
@ignore = nil
|
167
168
|
@path, @elements = path, []
|
168
169
|
update
|
169
170
|
end
|
@@ -202,7 +203,7 @@ module Sinatra
|
|
202
203
|
end
|
203
204
|
end
|
204
205
|
|
205
|
-
# When the extension is
|
206
|
+
# When the extension is registered it extends the Sinatra application
|
206
207
|
# +klass+ with the modules +BaseMethods+ and +ExtensionMethods+ and
|
207
208
|
# defines a before filter to +perform+ the reload of the modified files.
|
208
209
|
def self.registered(klass)
|
@@ -244,7 +245,7 @@ module Sinatra
|
|
244
245
|
Thread and Thread.list.size > 1 and Thread.respond_to?(:exclusive)
|
245
246
|
end
|
246
247
|
|
247
|
-
# Contains the methods defined in Sinatra::Base that are
|
248
|
+
# Contains the methods defined in Sinatra::Base that are overridden.
|
248
249
|
module BaseMethods
|
249
250
|
# Protects Sinatra::Base.run! from being called more than once.
|
250
251
|
def run!(*args)
|
@@ -369,7 +370,8 @@ module Sinatra
|
|
369
370
|
|
370
371
|
private
|
371
372
|
|
372
|
-
attr_reader :register_path
|
373
|
+
# attr_reader :register_path warn on -w (private attribute)
|
374
|
+
def register_path; @register_path ||= nil; end
|
373
375
|
|
374
376
|
# Indicates an extesion is being registered.
|
375
377
|
def start_registering_extension
|
@@ -391,7 +393,7 @@ module Sinatra
|
|
391
393
|
# in the file located at +path+.
|
392
394
|
#
|
393
395
|
# If an extension is being registered, it also tells the list to
|
394
|
-
# watch it in the file where the
|
396
|
+
# watch it in the file where the extension has been registered.
|
395
397
|
# This prevents the duplication of the elements added by the
|
396
398
|
# extension in its +registered+ method with every reload.
|
397
399
|
def watch_element(path, type, representation=nil)
|
data/lib/sinatra/respond_with.rb
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
require 'sinatra/json'
|
2
2
|
require 'sinatra/base'
|
3
3
|
|
4
|
+
$KCODE = "UTF-8"
|
5
|
+
|
4
6
|
module Sinatra
|
5
7
|
#
|
6
8
|
# = Sinatra::RespondWith
|
@@ -174,7 +176,11 @@ module Sinatra
|
|
174
176
|
end
|
175
177
|
possible.each do |engine, template|
|
176
178
|
# not exactly like Tilt[engine], but does not trigger a require
|
177
|
-
|
179
|
+
if Tilt.respond_to?(:mappings)
|
180
|
+
klass = Tilt.mappings[Tilt.normalize(engine)].first
|
181
|
+
else
|
182
|
+
klass = Tilt[engine]
|
183
|
+
end
|
178
184
|
find_template(settings.views, template, klass) do |file|
|
179
185
|
next unless File.exist? file
|
180
186
|
return settings.rendering_method(engine) << template.to_sym
|
@@ -221,22 +227,33 @@ module Sinatra
|
|
221
227
|
super
|
222
228
|
end
|
223
229
|
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
[:find_template, :markaby]
|
233
|
-
}
|
230
|
+
def self.jrubyify(engs)
|
231
|
+
not_supported = [:markdown]
|
232
|
+
engs.keys.each do |key|
|
233
|
+
engs[key].collect! { |eng| (eng == :yajl) ? :json_pure : eng }
|
234
|
+
engs[key].delete_if { |eng| not_supported.include?(eng) }
|
235
|
+
end
|
236
|
+
engs
|
237
|
+
end
|
234
238
|
|
235
|
-
|
239
|
+
def self.engines
|
240
|
+
engines = {
|
241
|
+
:css => [:less, :sass, :scss],
|
242
|
+
:xml => [:builder, :nokogiri],
|
243
|
+
:js => [:coffee],
|
244
|
+
:html => [:erb, :erubis, :haml, :slim, :liquid, :radius, :mab,
|
245
|
+
:markdown, :textile, :rdoc],
|
246
|
+
:all => (Sinatra::Templates.instance_methods.map(&:to_sym) +
|
247
|
+
[:mab] - [:find_template, :markaby]),
|
248
|
+
:json => [:yajl],
|
249
|
+
}
|
250
|
+
engines.default = []
|
251
|
+
(defined? JRUBY_VERSION) ? jrubyify(engines) : engines
|
252
|
+
end
|
236
253
|
|
237
254
|
def self.registered(base)
|
238
255
|
base.set :ext_map, Hash.new { |h,k| h[k] = [] }
|
239
|
-
base.set :template_engines,
|
256
|
+
base.set :template_engines, engines
|
240
257
|
base.remap_extensions
|
241
258
|
base.helpers Helpers
|
242
259
|
end
|
data/lib/sinatra/streaming.rb
CHANGED
@@ -6,7 +6,7 @@ module Sinatra
|
|
6
6
|
# = Sinatra::Streaming
|
7
7
|
#
|
8
8
|
# Sinatra 1.3 introduced the +stream+ helper. This addon improves the
|
9
|
-
# streaming API by making the stream object
|
9
|
+
# streaming API by making the stream object imitate an IO object, turning
|
10
10
|
# it into a real Deferrable and making the body play nicer with middleware
|
11
11
|
# unaware of streaming.
|
12
12
|
#
|
data/sinatra-contrib.gemspec
CHANGED
@@ -7,46 +7,57 @@ Gem::Specification.new do |s|
|
|
7
7
|
s.version = Sinatra::Contrib::VERSION
|
8
8
|
s.description = "Collection of useful Sinatra extensions"
|
9
9
|
s.homepage = "http://github.com/sinatra/sinatra-contrib"
|
10
|
+
s.license = "MIT"
|
10
11
|
s.summary = s.description
|
11
12
|
|
12
13
|
# generated from git shortlog -sn
|
13
14
|
s.authors = [
|
14
15
|
"Konstantin Haase",
|
15
16
|
"Gabriel Andretta",
|
16
|
-
"Trevor Bramble",
|
17
17
|
"Zachary Scott",
|
18
|
+
"Trevor Bramble",
|
18
19
|
"Katrina Owen",
|
19
20
|
"Nicolas Sanguinetti",
|
21
|
+
"Ashley Williams",
|
20
22
|
"Hrvoje Šimić",
|
21
23
|
"Masahiro Fujiwara",
|
22
24
|
"Rafael Magana",
|
25
|
+
"Vipul A M",
|
23
26
|
"Jack Chu",
|
24
27
|
"Ilya Shindyapin",
|
28
|
+
"Jake Worth",
|
25
29
|
"Kashyap",
|
26
30
|
"Sumeet Singh",
|
27
31
|
"lest",
|
28
32
|
"Adrian Pacała",
|
29
33
|
"Aish",
|
34
|
+
"Alexey Chernenkov",
|
30
35
|
"Andrew Crump",
|
36
|
+
"Bo Jeanes",
|
31
37
|
"David Asabina",
|
32
38
|
"Eliot Shepard",
|
33
39
|
"Eric Marden",
|
34
40
|
"Gray Manley",
|
35
41
|
"Guillaume Bouteille",
|
36
42
|
"Jamie Hodge",
|
43
|
+
"Koichi Sasada",
|
37
44
|
"Kyle Lacy",
|
45
|
+
"Lars Vonk",
|
38
46
|
"Martin Frost",
|
39
47
|
"Mathieu Allaire",
|
40
48
|
"Matt Lyon",
|
41
49
|
"Matthew Conway",
|
42
50
|
"Meck",
|
43
51
|
"Michi Huber",
|
52
|
+
"Nic Benders",
|
44
53
|
"Patricio Mac Adden",
|
45
54
|
"Reed Lipman",
|
46
55
|
"Samy Dindane",
|
56
|
+
"Sergey Nartimov",
|
47
57
|
"Thibaut Sacreste",
|
48
58
|
"Uchio KONDO",
|
49
59
|
"Will Bailey",
|
60
|
+
"ashley williams",
|
50
61
|
"undr"
|
51
62
|
]
|
52
63
|
|
@@ -55,41 +66,52 @@ Gem::Specification.new do |s|
|
|
55
66
|
"konstantin.mailinglists@googlemail.com",
|
56
67
|
"ohhgabriel@gmail.com",
|
57
68
|
"inbox@trevorbramble.com",
|
69
|
+
"e@zzak.io",
|
58
70
|
"zachary@zacharyscott.net",
|
59
71
|
"katrina.owen@gmail.com",
|
60
72
|
"contacto@nicolassanguinetti.info",
|
73
|
+
"ashley@bocoup.com",
|
61
74
|
"shime.ferovac@gmail.com",
|
62
75
|
"m-fujiwara@axsh.net",
|
63
76
|
"raf.magana@gmail.com",
|
77
|
+
"vipulnsward@gmail.com",
|
64
78
|
"jack@jackchu.com",
|
65
79
|
"konstantin.haase@gmail.com",
|
66
80
|
"ilya@shindyapin.com",
|
81
|
+
"jworth@prevailhs.com",
|
67
82
|
"kashyap.kmbc@gmail.com",
|
68
83
|
"ortuna@gmail.com",
|
69
|
-
"
|
84
|
+
"tbramble@chef.io",
|
70
85
|
"just.lest@gmail.com",
|
71
86
|
"altpacala@gmail.com",
|
72
87
|
"aisha.fenton@visfleet.com",
|
88
|
+
"laise@pisem.net",
|
73
89
|
"andrew.crump@ieee.org",
|
90
|
+
"me@bjeanes.com",
|
74
91
|
"david@supr.nu",
|
75
92
|
"eshepard@slower.net",
|
76
93
|
"eric.marden@gmail.com",
|
77
94
|
"g.manley@tukaiz.com",
|
78
95
|
"duffman@via.ecp.fr",
|
79
96
|
"jamiehodge@me.com",
|
97
|
+
"ko1@atdot.net",
|
80
98
|
"kylewlacy@me.com",
|
99
|
+
"lars.vonk@gmail.com",
|
81
100
|
"blame@kth.se",
|
82
101
|
"mathieuallaire@gmail.com",
|
83
102
|
"matt@flowerpowered.com",
|
84
103
|
"himself@mattonrails.com",
|
85
104
|
"yesmeck@gmail.com",
|
86
105
|
"michi.huber@gmail.com",
|
106
|
+
"nic@newrelic.com",
|
87
107
|
"patriciomacadden@gmail.com",
|
88
108
|
"rmlipman@gmail.com",
|
89
109
|
"samy@dindane.com",
|
110
|
+
"just.lest@gmail.com",
|
90
111
|
"thibaut.sacreste@gmail.com",
|
91
112
|
"udzura@udzura.jp",
|
92
113
|
"will.bailey@gmail.com",
|
114
|
+
"ashley666ashley@gmail.com",
|
93
115
|
"undr@yandex.ru"
|
94
116
|
]
|
95
117
|
|
@@ -107,6 +129,7 @@ Gem::Specification.new do |s|
|
|
107
129
|
"lib/sinatra/contrib/setup.rb",
|
108
130
|
"lib/sinatra/contrib/version.rb",
|
109
131
|
"lib/sinatra/cookies.rb",
|
132
|
+
"lib/sinatra/custom_logger.rb",
|
110
133
|
"lib/sinatra/decompile.rb",
|
111
134
|
"lib/sinatra/engine_tracking.rb",
|
112
135
|
"lib/sinatra/extension.rb",
|
@@ -161,6 +184,7 @@ Gem::Specification.new do |s|
|
|
161
184
|
"spec/content_for/takes_values.slim",
|
162
185
|
"spec/content_for_spec.rb",
|
163
186
|
"spec/cookies_spec.rb",
|
187
|
+
"spec/custom_logger_spec.rb",
|
164
188
|
"spec/decompile_spec.rb",
|
165
189
|
"spec/extension_spec.rb",
|
166
190
|
"spec/json_spec.rb",
|
@@ -184,7 +208,7 @@ Gem::Specification.new do |s|
|
|
184
208
|
|
185
209
|
s.add_dependency "sinatra", "~> 1.4.0"
|
186
210
|
s.add_dependency "backports", ">= 2.0"
|
187
|
-
s.add_dependency "tilt", "
|
211
|
+
s.add_dependency "tilt", ">= 1.3", "< 3"
|
188
212
|
s.add_dependency "rack-test"
|
189
213
|
s.add_dependency "rack-protection"
|
190
214
|
s.add_dependency "multi_json"
|
@@ -193,5 +217,18 @@ Gem::Specification.new do |s|
|
|
193
217
|
s.add_development_dependency "haml"
|
194
218
|
s.add_development_dependency "erubis"
|
195
219
|
s.add_development_dependency "slim"
|
220
|
+
s.add_development_dependency "less"
|
221
|
+
s.add_development_dependency "sass"
|
222
|
+
s.add_development_dependency "builder"
|
223
|
+
s.add_development_dependency "liquid"
|
224
|
+
s.add_development_dependency "redcarpet"
|
225
|
+
s.add_development_dependency "RedCloth"
|
226
|
+
s.add_development_dependency "asciidoctor"
|
227
|
+
s.add_development_dependency "radius"
|
228
|
+
s.add_development_dependency "coffee-script"
|
229
|
+
s.add_development_dependency "nokogiri"
|
230
|
+
s.add_development_dependency "creole"
|
231
|
+
s.add_development_dependency "wikicloth"
|
232
|
+
s.add_development_dependency "markaby"
|
196
233
|
s.add_development_dependency "rake"
|
197
234
|
end
|