sinatra 1.1.4 → 1.2.0.a

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of sinatra might be problematic. Click here for more details.

data/sinatra.gemspec CHANGED
@@ -3,8 +3,8 @@ Gem::Specification.new do |s|
3
3
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
4
4
 
5
5
  s.name = 'sinatra'
6
- s.version = '1.1.4'
7
- s.date = '2011-04-13'
6
+ s.version = '1.2.0.a'
7
+ s.date = '2010-12-25'
8
8
 
9
9
  s.description = "Classy web-development dressed in a DSL"
10
10
  s.summary = "Classy web-development dressed in a DSL"
@@ -67,11 +67,11 @@ Gem::Specification.new do |s|
67
67
  test/server_test.rb
68
68
  test/settings_test.rb
69
69
  test/sinatra_test.rb
70
+ test/slim_test.rb
70
71
  test/static_test.rb
71
72
  test/templates_test.rb
72
73
  test/textile_test.rb
73
74
  test/views/ascii.haml
74
- test/views/calc.html.erb
75
75
  test/views/error.builder
76
76
  test/views/error.erb
77
77
  test/views/error.erubis
@@ -93,6 +93,7 @@ Gem::Specification.new do |s|
93
93
  test/views/hello.rdoc
94
94
  test/views/hello.sass
95
95
  test/views/hello.scss
96
+ test/views/hello.slim
96
97
  test/views/hello.str
97
98
  test/views/hello.test
98
99
  test/views/hello.textile
@@ -104,6 +105,7 @@ Gem::Specification.new do |s|
104
105
  test/views/layout2.mab
105
106
  test/views/layout2.nokogiri
106
107
  test/views/layout2.radius
108
+ test/views/layout2.slim
107
109
  test/views/layout2.str
108
110
  test/views/layout2.test
109
111
  test/views/nested.str
@@ -115,7 +117,7 @@ Gem::Specification.new do |s|
115
117
 
116
118
  s.extra_rdoc_files = %w[README.rdoc README.de.rdoc README.jp.rdoc README.fr.rdoc README.es.rdoc README.hu.rdoc README.zh.rdoc LICENSE]
117
119
  s.add_dependency 'rack', '~> 1.1'
118
- s.add_dependency 'tilt', '>= 1.2.2', '< 2.0'
120
+ s.add_dependency 'tilt', '~> 1.2'
119
121
  s.add_development_dependency 'rake'
120
122
  s.add_development_dependency 'shotgun', '~> 0.6'
121
123
  s.add_development_dependency 'rack-test', '>= 0.5.6'
@@ -131,6 +133,7 @@ Gem::Specification.new do |s|
131
133
  s.add_development_dependency 'coffee-script', '>= 2.0'
132
134
  s.add_development_dependency 'rdoc'
133
135
  s.add_development_dependency 'nokogiri'
136
+ s.add_development_dependency 'slim'
134
137
 
135
138
  s.has_rdoc = true
136
139
  s.homepage = "http://sinatra.rubyforge.org"
data/test/filter_test.rb CHANGED
@@ -274,7 +274,7 @@ class AfterFilterTest < Test::Unit::TestCase
274
274
  get '/foo/bar'
275
275
  assert_equal subpath, 'bar'
276
276
  end
277
-
277
+
278
278
  it 'is possible to access url params from the route param' do
279
279
  ran = false
280
280
  mock_app do
@@ -287,4 +287,108 @@ class AfterFilterTest < Test::Unit::TestCase
287
287
  get '/foo/bar'
288
288
  assert ran
289
289
  end
290
+
291
+ it 'is possible to apply host_name conditions to before filters with no path' do
292
+ ran = false
293
+ mock_app do
294
+ before(:host_name => 'example.com') { ran = true }
295
+ get('/') { 'welcome' }
296
+ end
297
+ get '/', {}, { 'HTTP_HOST' => 'example.org' }
298
+ assert !ran
299
+ get '/', {}, { 'HTTP_HOST' => 'example.com' }
300
+ assert ran
301
+ end
302
+
303
+ it 'is possible to apply host_name conditions to before filters with a path' do
304
+ ran = false
305
+ mock_app do
306
+ before('/foo', :host_name => 'example.com') { ran = true }
307
+ get('/') { 'welcome' }
308
+ end
309
+ get '/', {}, { 'HTTP_HOST' => 'example.com' }
310
+ assert !ran
311
+ get '/foo', {}, { 'HTTP_HOST' => 'example.org' }
312
+ assert !ran
313
+ get '/foo', {}, { 'HTTP_HOST' => 'example.com' }
314
+ assert ran
315
+ end
316
+
317
+ it 'is possible to apply host_name conditions to after filters with no path' do
318
+ ran = false
319
+ mock_app do
320
+ after(:host_name => 'example.com') { ran = true }
321
+ get('/') { 'welcome' }
322
+ end
323
+ get '/', {}, { 'HTTP_HOST' => 'example.org' }
324
+ assert !ran
325
+ get '/', {}, { 'HTTP_HOST' => 'example.com' }
326
+ assert ran
327
+ end
328
+
329
+ it 'is possible to apply host_name conditions to after filters with a path' do
330
+ ran = false
331
+ mock_app do
332
+ after('/foo', :host_name => 'example.com') { ran = true }
333
+ get('/') { 'welcome' }
334
+ end
335
+ get '/', {}, { 'HTTP_HOST' => 'example.com' }
336
+ assert !ran
337
+ get '/foo', {}, { 'HTTP_HOST' => 'example.org' }
338
+ assert !ran
339
+ get '/foo', {}, { 'HTTP_HOST' => 'example.com' }
340
+ assert ran
341
+ end
342
+
343
+ it 'is possible to apply user_agent conditions to before filters with no path' do
344
+ ran = false
345
+ mock_app do
346
+ before(:user_agent => /foo/) { ran = true }
347
+ get('/') { 'welcome' }
348
+ end
349
+ get '/', {}, { 'HTTP_USER_AGENT' => 'bar' }
350
+ assert !ran
351
+ get '/', {}, { 'HTTP_USER_AGENT' => 'foo' }
352
+ assert ran
353
+ end
354
+
355
+ it 'is possible to apply user_agent conditions to before filters with a path' do
356
+ ran = false
357
+ mock_app do
358
+ before('/foo', :user_agent => /foo/) { ran = true }
359
+ get('/') { 'welcome' }
360
+ end
361
+ get '/', {}, { 'HTTP_USER_AGENT' => 'foo' }
362
+ assert !ran
363
+ get '/foo', {}, { 'HTTP_USER_AGENT' => 'bar' }
364
+ assert !ran
365
+ get '/foo', {}, { 'HTTP_USER_AGENT' => 'foo' }
366
+ assert ran
367
+ end
368
+
369
+ it 'is possible to apply user_agent conditions to after filters with no path' do
370
+ ran = false
371
+ mock_app do
372
+ after(:user_agent => /foo/) { ran = true }
373
+ get('/') { 'welcome' }
374
+ end
375
+ get '/', {}, { 'HTTP_USER_AGENT' => 'bar' }
376
+ assert !ran
377
+ get '/', {}, { 'HTTP_USER_AGENT' => 'foo' }
378
+ assert ran
379
+ end
380
+
381
+ it 'is possible to apply user_agent conditions to before filters with a path' do
382
+ ran = false
383
+ mock_app do
384
+ after('/foo', :user_agent => /foo/) { ran = true }
385
+ get('/') { 'welcome' }
386
+ end
387
+ get '/', {}, { 'HTTP_USER_AGENT' => 'foo' }
388
+ assert !ran
389
+ get '/foo', {}, { 'HTTP_USER_AGENT' => 'bar' }
390
+ assert !ran
391
+ get '/foo', {}, { 'HTTP_USER_AGENT' => 'foo' }
392
+ assert ran
393
+ end
290
394
  end
data/test/helpers_test.rb CHANGED
@@ -419,6 +419,13 @@ class HelpersTest < Test::Unit::TestCase
419
419
  assert_equal File.mtime(@file).httpdate, response['Last-Modified']
420
420
  end
421
421
 
422
+ it 'allows passing in a differen Last-Modified response header with :last_modified' do
423
+ time = Time.now
424
+ send_file_app :last_modified => time
425
+ get '/file.txt'
426
+ assert_equal time.httpdate, response['Last-Modified']
427
+ end
428
+
422
429
  it "returns a 404 when not found" do
423
430
  mock_app {
424
431
  get '/' do
@@ -592,9 +599,6 @@ class HelpersTest < Test::Unit::TestCase
592
599
  get '/compare', {}, { 'HTTP_IF_MODIFIED_SINCE' => 'Sun, 26 Sep 2010 23:43:52 GMT' }
593
600
  assert_equal 200, status
594
601
  assert_equal 'foo', body
595
- get '/compare', {}, { 'HTTP_IF_MODIFIED_SINCE' => 'Sun, 26 Sep 2100 23:43:52 GMT' }
596
- assert_equal 304, status
597
- assert_equal '', body
598
602
  end
599
603
  end
600
604
 
data/test/markaby_test.rb CHANGED
@@ -40,6 +40,27 @@ class MarkabyTest < Test::Unit::TestCase
40
40
  assert_equal "<h1>Markaby Layout!</h1><p>Hello World</p>", body
41
41
  end
42
42
 
43
+ it 'renders inline markaby blocks' do
44
+ markaby_app { markaby { h1 'Hiya' } }
45
+ assert ok?
46
+ assert_equal "<h1>Hiya</h1>", body
47
+ end
48
+
49
+ it 'renders inline markaby blocks with inline layouts' do
50
+ markaby_app do
51
+ settings.layout { 'h1 { text "THIS. IS. "; yield }' }
52
+ markaby { em 'SPARTA' }
53
+ end
54
+ assert ok?
55
+ assert_equal "<h1>THIS. IS. <em>SPARTA</em></h1>", body
56
+ end
57
+
58
+ it 'renders inline markaby blocks with file layouts' do
59
+ markaby_app { markaby(:layout => :layout2) { text "Hello World" } }
60
+ assert ok?
61
+ assert_equal "<h1>Markaby Layout!</h1><p>Hello World</p>", body
62
+ end
63
+
43
64
  it "raises error if template not found" do
44
65
  mock_app { get('/') { markaby :no_such_template } }
45
66
  assert_raise(Errno::ENOENT) { get('/') }
data/test/routing_test.rb CHANGED
@@ -23,7 +23,7 @@ class RegexpLookAlike
23
23
  end
24
24
 
25
25
  class RoutingTest < Test::Unit::TestCase
26
- %w[get put post delete].each do |verb|
26
+ %w[get put post delete options].each do |verb|
27
27
  it "defines #{verb.upcase} request handlers with #{verb}" do
28
28
  mock_app {
29
29
  send verb, '/hello' do
@@ -247,7 +247,7 @@ class RoutingTest < Test::Unit::TestCase
247
247
  assert_equal 'right on', body
248
248
  end
249
249
 
250
- it "literally matches dot in paths" do
250
+ it "literally matches . in paths" do
251
251
  route_def '/test.bar'
252
252
 
253
253
  get '/test.bar'
@@ -256,14 +256,14 @@ class RoutingTest < Test::Unit::TestCase
256
256
  assert not_found?
257
257
  end
258
258
 
259
- it "literally matches dollar sign in paths" do
259
+ it "literally matches $ in paths" do
260
260
  route_def '/test$/'
261
261
 
262
262
  get '/test$/'
263
263
  assert ok?
264
264
  end
265
265
 
266
- it "literally matches plus sign in paths" do
266
+ it "literally matches + in paths" do
267
267
  route_def '/te+st/'
268
268
 
269
269
  get '/te%2Bst/'
@@ -272,7 +272,7 @@ class RoutingTest < Test::Unit::TestCase
272
272
  assert not_found?
273
273
  end
274
274
 
275
- it "literally matches parens in paths" do
275
+ it "literally matches () in paths" do
276
276
  route_def '/test(bar)/'
277
277
 
278
278
  get '/test(bar)/'
@@ -611,18 +611,6 @@ class RoutingTest < Test::Unit::TestCase
611
611
  assert_equal 'Hello World', body
612
612
  end
613
613
 
614
- it "treats missing user agent like an empty string" do
615
- mock_app do
616
- user_agent(/.*/)
617
- get '/' do
618
- "Hello World"
619
- end
620
- end
621
- get '/'
622
- assert_equal 200, status
623
- assert_equal 'Hello World', body
624
- end
625
-
626
614
  it "makes captures in user agent pattern available in params[:agent]" do
627
615
  mock_app {
628
616
  user_agent(/Foo (.*)/)
@@ -648,7 +636,7 @@ class RoutingTest < Test::Unit::TestCase
648
636
  get '/', {}, { 'HTTP_ACCEPT' => 'application/xml' }
649
637
  assert ok?
650
638
  assert_equal 'application/xml', body
651
- assert_equal 'application/xml;charset=utf-8', response.headers['Content-Type']
639
+ assert_equal 'application/xml', response.headers['Content-Type']
652
640
 
653
641
  get '/', {}, { :accept => 'text/html' }
654
642
  assert !ok?
data/test/slim_test.rb ADDED
@@ -0,0 +1,97 @@
1
+ require File.dirname(__FILE__) + '/helper'
2
+
3
+ begin
4
+ require 'slim'
5
+
6
+ class SlimTest < Test::Unit::TestCase
7
+ def slim_app(&block)
8
+ mock_app {
9
+ set :views, File.dirname(__FILE__) + '/views'
10
+ get '/', &block
11
+ }
12
+ get '/'
13
+ end
14
+
15
+ it 'renders inline slim strings' do
16
+ slim_app { slim "h1 Hiya\n" }
17
+ assert ok?
18
+ assert_equal "<h1>Hiya</h1>", body
19
+ end
20
+
21
+ it 'renders .slim files in views path' do
22
+ slim_app { slim :hello }
23
+ assert ok?
24
+ assert_equal "<h1>Hello From Slim</h1>", body
25
+ end
26
+
27
+ it "renders with inline layouts" do
28
+ mock_app {
29
+ layout { %(h1\n | THIS. IS. \n == yield.upcase ) }
30
+ get('/') { slim 'em Sparta' }
31
+ }
32
+ get '/'
33
+ assert ok?
34
+ assert_equal "<h1>THIS. IS. <EM>SPARTA</EM></h1>", body
35
+ end
36
+
37
+ it "renders with file layouts" do
38
+ slim_app {
39
+ slim '| Hello World', :layout => :layout2
40
+ }
41
+ assert ok?
42
+ assert_equal "<h1>Slim Layout!</h1><p>Hello World</p>", body
43
+ end
44
+
45
+ it "raises error if template not found" do
46
+ mock_app {
47
+ get('/') { slim :no_such_template }
48
+ }
49
+ assert_raise(Errno::ENOENT) { get('/') }
50
+ end
51
+
52
+ HTML4_DOCTYPE = "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">"
53
+
54
+ it "passes slim options to the slim engine" do
55
+ mock_app {
56
+ get '/' do
57
+ slim "! doctype html\nh1 Hello World", :format => :html4
58
+ end
59
+ }
60
+ get '/'
61
+ assert ok?
62
+ assert_equal "#{HTML4_DOCTYPE}<h1>Hello World</h1>", body
63
+ end
64
+
65
+ it "passes default slim options to the slim engine" do
66
+ mock_app {
67
+ set :slim, {:format => :html4}
68
+ get '/' do
69
+ slim "! doctype html\nh1 Hello World"
70
+ end
71
+ }
72
+ get '/'
73
+ assert ok?
74
+ assert_equal "#{HTML4_DOCTYPE}<h1>Hello World</h1>", body
75
+ end
76
+
77
+ it "merges the default slim options with the overrides and passes them to the slim engine" do
78
+ mock_app {
79
+ set :slim, {:format => :html4}
80
+ get '/' do
81
+ slim "! doctype html\nh1.header Hello World"
82
+ end
83
+ get '/html5' do
84
+ slim "! doctype html\nh1.header Hello World", :format => :html5
85
+ end
86
+ }
87
+ get '/'
88
+ assert ok?
89
+ assert_match(/^#{HTML4_DOCTYPE}/, body)
90
+ get '/html5'
91
+ assert ok?
92
+ assert_equal "<!DOCTYPE html><h1 class=\"header\">Hello World</h1>", body
93
+ end
94
+ end
95
+ rescue
96
+ warn "#{$!.to_s}: skipping slim tests"
97
+ end
@@ -208,10 +208,20 @@ class TemplatesTest < Test::Unit::TestCase
208
208
  assert_equal 'template in subclass', body
209
209
  end
210
210
 
211
- it "is possible to register another template" do
212
- Tilt.register "html.erb", Tilt[:erb]
213
- render_app { render :erb, :calc }
214
- assert_equal '2', body
211
+ it "is possible to use a different engine for the layout than for the template itself explicitely" do
212
+ render_app do
213
+ settings.template(:layout) { 'Hello <%= yield %>!' }
214
+ render :str, "<%= 'World' %>", :layout_engine => :erb
215
+ end
216
+ assert_equal "Hello <%= 'World' %>!", body
217
+ end
218
+
219
+ it "is possible to use a different engine for the layout than for the template itself globally" do
220
+ render_app :str => { :layout_engine => :erb } do
221
+ settings.template(:layout) { 'Hello <%= yield %>!' }
222
+ render :str, "<%= 'World' %>"
223
+ end
224
+ assert_equal "Hello <%= 'World' %>!", body
215
225
  end
216
226
  end
217
227
 
@@ -0,0 +1 @@
1
+ h1 Hello From Slim
@@ -0,0 +1,3 @@
1
+ h1 Slim Layout!
2
+ p
3
+ == yield
metadata CHANGED
@@ -1,8 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sinatra
3
3
  version: !ruby/object:Gem::Version
4
- prerelease:
5
- version: 1.1.4
4
+ hash: 42
5
+ prerelease: true
6
+ segments:
7
+ - 1
8
+ - 2
9
+ - 0
10
+ - a
11
+ version: 1.2.0.a
6
12
  platform: ruby
7
13
  authors:
8
14
  - Blake Mizerany
@@ -13,7 +19,7 @@ autorequire:
13
19
  bindir: bin
14
20
  cert_chain: []
15
21
 
16
- date: 2011-04-13 00:00:00 +02:00
22
+ date: 2010-12-25 00:00:00 +01:00
17
23
  default_executable:
18
24
  dependencies:
19
25
  - !ruby/object:Gem::Dependency
@@ -24,6 +30,10 @@ dependencies:
24
30
  requirements:
25
31
  - - ~>
26
32
  - !ruby/object:Gem::Version
33
+ hash: 13
34
+ segments:
35
+ - 1
36
+ - 1
27
37
  version: "1.1"
28
38
  type: :runtime
29
39
  version_requirements: *id001
@@ -33,12 +43,13 @@ dependencies:
33
43
  requirement: &id002 !ruby/object:Gem::Requirement
34
44
  none: false
35
45
  requirements:
36
- - - ">="
37
- - !ruby/object:Gem::Version
38
- version: 1.2.2
39
- - - <
46
+ - - ~>
40
47
  - !ruby/object:Gem::Version
41
- version: "2.0"
48
+ hash: 11
49
+ segments:
50
+ - 1
51
+ - 2
52
+ version: "1.2"
42
53
  type: :runtime
43
54
  version_requirements: *id002
44
55
  - !ruby/object:Gem::Dependency
@@ -49,6 +60,9 @@ dependencies:
49
60
  requirements:
50
61
  - - ">="
51
62
  - !ruby/object:Gem::Version
63
+ hash: 3
64
+ segments:
65
+ - 0
52
66
  version: "0"
53
67
  type: :development
54
68
  version_requirements: *id003
@@ -60,6 +74,10 @@ dependencies:
60
74
  requirements:
61
75
  - - ~>
62
76
  - !ruby/object:Gem::Version
77
+ hash: 7
78
+ segments:
79
+ - 0
80
+ - 6
63
81
  version: "0.6"
64
82
  type: :development
65
83
  version_requirements: *id004
@@ -71,6 +89,11 @@ dependencies:
71
89
  requirements:
72
90
  - - ">="
73
91
  - !ruby/object:Gem::Version
92
+ hash: 7
93
+ segments:
94
+ - 0
95
+ - 5
96
+ - 6
74
97
  version: 0.5.6
75
98
  type: :development
76
99
  version_requirements: *id005
@@ -82,6 +105,10 @@ dependencies:
82
105
  requirements:
83
106
  - - ">="
84
107
  - !ruby/object:Gem::Version
108
+ hash: 7
109
+ segments:
110
+ - 3
111
+ - 0
85
112
  version: "3.0"
86
113
  type: :development
87
114
  version_requirements: *id006
@@ -93,6 +120,9 @@ dependencies:
93
120
  requirements:
94
121
  - - ">="
95
122
  - !ruby/object:Gem::Version
123
+ hash: 3
124
+ segments:
125
+ - 0
96
126
  version: "0"
97
127
  type: :development
98
128
  version_requirements: *id007
@@ -104,6 +134,9 @@ dependencies:
104
134
  requirements:
105
135
  - - ">="
106
136
  - !ruby/object:Gem::Version
137
+ hash: 3
138
+ segments:
139
+ - 0
107
140
  version: "0"
108
141
  type: :development
109
142
  version_requirements: *id008
@@ -115,6 +148,9 @@ dependencies:
115
148
  requirements:
116
149
  - - ">="
117
150
  - !ruby/object:Gem::Version
151
+ hash: 3
152
+ segments:
153
+ - 0
118
154
  version: "0"
119
155
  type: :development
120
156
  version_requirements: *id009
@@ -126,6 +162,9 @@ dependencies:
126
162
  requirements:
127
163
  - - ">="
128
164
  - !ruby/object:Gem::Version
165
+ hash: 3
166
+ segments:
167
+ - 0
129
168
  version: "0"
130
169
  type: :development
131
170
  version_requirements: *id010
@@ -137,6 +176,9 @@ dependencies:
137
176
  requirements:
138
177
  - - ">="
139
178
  - !ruby/object:Gem::Version
179
+ hash: 3
180
+ segments:
181
+ - 0
140
182
  version: "0"
141
183
  type: :development
142
184
  version_requirements: *id011
@@ -148,6 +190,9 @@ dependencies:
148
190
  requirements:
149
191
  - - ">="
150
192
  - !ruby/object:Gem::Version
193
+ hash: 3
194
+ segments:
195
+ - 0
151
196
  version: "0"
152
197
  type: :development
153
198
  version_requirements: *id012
@@ -159,6 +204,9 @@ dependencies:
159
204
  requirements:
160
205
  - - ">="
161
206
  - !ruby/object:Gem::Version
207
+ hash: 3
208
+ segments:
209
+ - 0
162
210
  version: "0"
163
211
  type: :development
164
212
  version_requirements: *id013
@@ -170,6 +218,9 @@ dependencies:
170
218
  requirements:
171
219
  - - ">="
172
220
  - !ruby/object:Gem::Version
221
+ hash: 3
222
+ segments:
223
+ - 0
173
224
  version: "0"
174
225
  type: :development
175
226
  version_requirements: *id014
@@ -181,6 +232,10 @@ dependencies:
181
232
  requirements:
182
233
  - - ">="
183
234
  - !ruby/object:Gem::Version
235
+ hash: 3
236
+ segments:
237
+ - 2
238
+ - 0
184
239
  version: "2.0"
185
240
  type: :development
186
241
  version_requirements: *id015
@@ -192,6 +247,9 @@ dependencies:
192
247
  requirements:
193
248
  - - ">="
194
249
  - !ruby/object:Gem::Version
250
+ hash: 3
251
+ segments:
252
+ - 0
195
253
  version: "0"
196
254
  type: :development
197
255
  version_requirements: *id016
@@ -203,9 +261,26 @@ dependencies:
203
261
  requirements:
204
262
  - - ">="
205
263
  - !ruby/object:Gem::Version
264
+ hash: 3
265
+ segments:
266
+ - 0
206
267
  version: "0"
207
268
  type: :development
208
269
  version_requirements: *id017
270
+ - !ruby/object:Gem::Dependency
271
+ name: slim
272
+ prerelease: false
273
+ requirement: &id018 !ruby/object:Gem::Requirement
274
+ none: false
275
+ requirements:
276
+ - - ">="
277
+ - !ruby/object:Gem::Version
278
+ hash: 3
279
+ segments:
280
+ - 0
281
+ version: "0"
282
+ type: :development
283
+ version_requirements: *id018
209
284
  description: Classy web-development dressed in a DSL
210
285
  email: sinatrarb@googlegroups.com
211
286
  executables: []
@@ -275,11 +350,11 @@ files:
275
350
  - test/server_test.rb
276
351
  - test/settings_test.rb
277
352
  - test/sinatra_test.rb
353
+ - test/slim_test.rb
278
354
  - test/static_test.rb
279
355
  - test/templates_test.rb
280
356
  - test/textile_test.rb
281
357
  - test/views/ascii.haml
282
- - test/views/calc.html.erb
283
358
  - test/views/error.builder
284
359
  - test/views/error.erb
285
360
  - test/views/error.erubis
@@ -301,6 +376,7 @@ files:
301
376
  - test/views/hello.rdoc
302
377
  - test/views/hello.sass
303
378
  - test/views/hello.scss
379
+ - test/views/hello.slim
304
380
  - test/views/hello.str
305
381
  - test/views/hello.test
306
382
  - test/views/hello.textile
@@ -312,6 +388,7 @@ files:
312
388
  - test/views/layout2.mab
313
389
  - test/views/layout2.nokogiri
314
390
  - test/views/layout2.radius
391
+ - test/views/layout2.slim
315
392
  - test/views/layout2.str
316
393
  - test/views/layout2.test
317
394
  - test/views/nested.str
@@ -335,17 +412,25 @@ required_ruby_version: !ruby/object:Gem::Requirement
335
412
  requirements:
336
413
  - - ">="
337
414
  - !ruby/object:Gem::Version
415
+ hash: 3
416
+ segments:
417
+ - 0
338
418
  version: "0"
339
419
  required_rubygems_version: !ruby/object:Gem::Requirement
340
420
  none: false
341
421
  requirements:
342
- - - ">="
422
+ - - ">"
343
423
  - !ruby/object:Gem::Version
344
- version: "0"
424
+ hash: 25
425
+ segments:
426
+ - 1
427
+ - 3
428
+ - 1
429
+ version: 1.3.1
345
430
  requirements: []
346
431
 
347
432
  rubyforge_project: sinatra
348
- rubygems_version: 1.6.2
433
+ rubygems_version: 1.3.7
349
434
  signing_key:
350
435
  specification_version: 2
351
436
  summary: Classy web-development dressed in a DSL
@@ -379,6 +464,7 @@ test_files:
379
464
  - test/server_test.rb
380
465
  - test/settings_test.rb
381
466
  - test/sinatra_test.rb
467
+ - test/slim_test.rb
382
468
  - test/static_test.rb
383
469
  - test/templates_test.rb
384
470
  - test/textile_test.rb