sinatra 1.1.4 → 1.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.
@@ -208,11 +208,64 @@ class TemplatesTest < Test::Unit::TestCase
208
208
  assert_equal 'template in subclass', body
209
209
  end
210
210
 
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
225
+ end
226
+
211
227
  it "is possible to register another template" do
212
228
  Tilt.register "html.erb", Tilt[:erb]
213
229
  render_app { render :erb, :calc }
214
230
  assert_equal '2', body
215
231
  end
232
+
233
+ it "passes scope to the template" do
234
+ mock_app do
235
+ template :scoped do
236
+ 'Hello <%= foo %>'
237
+ end
238
+
239
+ get '/' do
240
+ some_scope = Object.new
241
+ def some_scope.foo() 'World!' end
242
+ erb :scoped, :scope => some_scope
243
+ end
244
+ end
245
+
246
+ get '/'
247
+ assert ok?
248
+ assert_equal 'Hello World!', body
249
+ end
250
+
251
+ it "is possible to use custom logic for finding template files" do
252
+ mock_app do
253
+ set :views, ["a", "b"].map { |d| File.dirname(__FILE__) + '/views/' + d }
254
+ def find_template(views, name, engine, &block)
255
+ Array(views).each { |v| super(v, name, engine, &block) }
256
+ end
257
+
258
+ get('/:name') do
259
+ render :str, params[:name].to_sym
260
+ end
261
+ end
262
+
263
+ get '/in_a'
264
+ assert_body 'Gimme an A!'
265
+
266
+ get '/in_b'
267
+ assert_body 'Gimme a B!'
268
+ end
216
269
  end
217
270
 
218
271
  # __END__ : this is not the real end of the script.
data/test/textile_test.rb CHANGED
@@ -29,6 +29,7 @@ class TextileTest < Test::Unit::TestCase
29
29
  assert_raise(Errno::ENOENT) { get('/') }
30
30
  end
31
31
  end
32
- rescue
32
+
33
+ rescue LoadError
33
34
  warn "#{$!.to_s}: skipping textile tests"
34
35
  end
@@ -0,0 +1 @@
1
+ Gimme an A!
@@ -1,2 +1,2 @@
1
1
  This file has no unicode in it!
2
- = value
2
+ <%= value %>
@@ -0,0 +1 @@
1
+ Gimme a B!
@@ -0,0 +1 @@
1
+ h1 Hello From Slim
@@ -0,0 +1,3 @@
1
+ h1 Slim Layout!
2
+ p
3
+ == yield
@@ -1,2 +1,2 @@
1
- %h1= value
1
+ <h1><%= value %></h1>
2
2
  Ingen vill veta var du köpt din tröja.
metadata CHANGED
@@ -1,8 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sinatra
3
3
  version: !ruby/object:Gem::Version
4
+ hash: 31
4
5
  prerelease:
5
- version: 1.1.4
6
+ segments:
7
+ - 1
8
+ - 2
9
+ - 0
10
+ version: 1.2.0
6
11
  platform: ruby
7
12
  authors:
8
13
  - Blake Mizerany
@@ -13,7 +18,7 @@ autorequire:
13
18
  bindir: bin
14
19
  cert_chain: []
15
20
 
16
- date: 2011-04-13 00:00:00 +02:00
21
+ date: 2011-03-03 00:00:00 +01:00
17
22
  default_executable:
18
23
  dependencies:
19
24
  - !ruby/object:Gem::Dependency
@@ -24,6 +29,10 @@ dependencies:
24
29
  requirements:
25
30
  - - ~>
26
31
  - !ruby/object:Gem::Version
32
+ hash: 13
33
+ segments:
34
+ - 1
35
+ - 1
27
36
  version: "1.1"
28
37
  type: :runtime
29
38
  version_requirements: *id001
@@ -35,177 +44,36 @@ dependencies:
35
44
  requirements:
36
45
  - - ">="
37
46
  - !ruby/object:Gem::Version
47
+ hash: 27
48
+ segments:
49
+ - 1
50
+ - 2
51
+ - 2
38
52
  version: 1.2.2
39
53
  - - <
40
54
  - !ruby/object:Gem::Version
55
+ hash: 3
56
+ segments:
57
+ - 2
58
+ - 0
41
59
  version: "2.0"
42
60
  type: :runtime
43
61
  version_requirements: *id002
44
- - !ruby/object:Gem::Dependency
45
- name: rake
46
- prerelease: false
47
- requirement: &id003 !ruby/object:Gem::Requirement
48
- none: false
49
- requirements:
50
- - - ">="
51
- - !ruby/object:Gem::Version
52
- version: "0"
53
- type: :development
54
- version_requirements: *id003
55
62
  - !ruby/object:Gem::Dependency
56
63
  name: shotgun
57
64
  prerelease: false
58
- requirement: &id004 !ruby/object:Gem::Requirement
65
+ requirement: &id003 !ruby/object:Gem::Requirement
59
66
  none: false
60
67
  requirements:
61
68
  - - ~>
62
69
  - !ruby/object:Gem::Version
70
+ hash: 7
71
+ segments:
72
+ - 0
73
+ - 6
63
74
  version: "0.6"
64
75
  type: :development
65
- version_requirements: *id004
66
- - !ruby/object:Gem::Dependency
67
- name: rack-test
68
- prerelease: false
69
- requirement: &id005 !ruby/object:Gem::Requirement
70
- none: false
71
- requirements:
72
- - - ">="
73
- - !ruby/object:Gem::Version
74
- version: 0.5.6
75
- type: :development
76
- version_requirements: *id005
77
- - !ruby/object:Gem::Dependency
78
- name: haml
79
- prerelease: false
80
- requirement: &id006 !ruby/object:Gem::Requirement
81
- none: false
82
- requirements:
83
- - - ">="
84
- - !ruby/object:Gem::Version
85
- version: "3.0"
86
- type: :development
87
- version_requirements: *id006
88
- - !ruby/object:Gem::Dependency
89
- name: builder
90
- prerelease: false
91
- requirement: &id007 !ruby/object:Gem::Requirement
92
- none: false
93
- requirements:
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- version: "0"
97
- type: :development
98
- version_requirements: *id007
99
- - !ruby/object:Gem::Dependency
100
- name: erubis
101
- prerelease: false
102
- requirement: &id008 !ruby/object:Gem::Requirement
103
- none: false
104
- requirements:
105
- - - ">="
106
- - !ruby/object:Gem::Version
107
- version: "0"
108
- type: :development
109
- version_requirements: *id008
110
- - !ruby/object:Gem::Dependency
111
- name: less
112
- prerelease: false
113
- requirement: &id009 !ruby/object:Gem::Requirement
114
- none: false
115
- requirements:
116
- - - ">="
117
- - !ruby/object:Gem::Version
118
- version: "0"
119
- type: :development
120
- version_requirements: *id009
121
- - !ruby/object:Gem::Dependency
122
- name: liquid
123
- prerelease: false
124
- requirement: &id010 !ruby/object:Gem::Requirement
125
- none: false
126
- requirements:
127
- - - ">="
128
- - !ruby/object:Gem::Version
129
- version: "0"
130
- type: :development
131
- version_requirements: *id010
132
- - !ruby/object:Gem::Dependency
133
- name: rdiscount
134
- prerelease: false
135
- requirement: &id011 !ruby/object:Gem::Requirement
136
- none: false
137
- requirements:
138
- - - ">="
139
- - !ruby/object:Gem::Version
140
- version: "0"
141
- type: :development
142
- version_requirements: *id011
143
- - !ruby/object:Gem::Dependency
144
- name: RedCloth
145
- prerelease: false
146
- requirement: &id012 !ruby/object:Gem::Requirement
147
- none: false
148
- requirements:
149
- - - ">="
150
- - !ruby/object:Gem::Version
151
- version: "0"
152
- type: :development
153
- version_requirements: *id012
154
- - !ruby/object:Gem::Dependency
155
- name: radius
156
- prerelease: false
157
- requirement: &id013 !ruby/object:Gem::Requirement
158
- none: false
159
- requirements:
160
- - - ">="
161
- - !ruby/object:Gem::Version
162
- version: "0"
163
- type: :development
164
- version_requirements: *id013
165
- - !ruby/object:Gem::Dependency
166
- name: markaby
167
- prerelease: false
168
- requirement: &id014 !ruby/object:Gem::Requirement
169
- none: false
170
- requirements:
171
- - - ">="
172
- - !ruby/object:Gem::Version
173
- version: "0"
174
- type: :development
175
- version_requirements: *id014
176
- - !ruby/object:Gem::Dependency
177
- name: coffee-script
178
- prerelease: false
179
- requirement: &id015 !ruby/object:Gem::Requirement
180
- none: false
181
- requirements:
182
- - - ">="
183
- - !ruby/object:Gem::Version
184
- version: "2.0"
185
- type: :development
186
- version_requirements: *id015
187
- - !ruby/object:Gem::Dependency
188
- name: rdoc
189
- prerelease: false
190
- requirement: &id016 !ruby/object:Gem::Requirement
191
- none: false
192
- requirements:
193
- - - ">="
194
- - !ruby/object:Gem::Version
195
- version: "0"
196
- type: :development
197
- version_requirements: *id016
198
- - !ruby/object:Gem::Dependency
199
- name: nokogiri
200
- prerelease: false
201
- requirement: &id017 !ruby/object:Gem::Requirement
202
- none: false
203
- requirements:
204
- - - ">="
205
- - !ruby/object:Gem::Version
206
- version: "0"
207
- type: :development
208
- version_requirements: *id017
76
+ version_requirements: *id003
209
77
  description: Classy web-development dressed in a DSL
210
78
  email: sinatrarb@googlegroups.com
211
79
  executables: []
@@ -224,6 +92,7 @@ extra_rdoc_files:
224
92
  files:
225
93
  - AUTHORS
226
94
  - CHANGES
95
+ - Gemfile
227
96
  - LICENSE
228
97
  - README.de.rdoc
229
98
  - README.es.rdoc
@@ -275,10 +144,13 @@ files:
275
144
  - test/server_test.rb
276
145
  - test/settings_test.rb
277
146
  - test/sinatra_test.rb
147
+ - test/slim_test.rb
278
148
  - test/static_test.rb
279
149
  - test/templates_test.rb
280
150
  - test/textile_test.rb
281
- - test/views/ascii.haml
151
+ - test/views/a/in_a.str
152
+ - test/views/ascii.erb
153
+ - test/views/b/in_b.str
282
154
  - test/views/calc.html.erb
283
155
  - test/views/error.builder
284
156
  - test/views/error.erb
@@ -301,6 +173,7 @@ files:
301
173
  - test/views/hello.rdoc
302
174
  - test/views/hello.sass
303
175
  - test/views/hello.scss
176
+ - test/views/hello.slim
304
177
  - test/views/hello.str
305
178
  - test/views/hello.test
306
179
  - test/views/hello.textile
@@ -312,10 +185,11 @@ files:
312
185
  - test/views/layout2.mab
313
186
  - test/views/layout2.nokogiri
314
187
  - test/views/layout2.radius
188
+ - test/views/layout2.slim
315
189
  - test/views/layout2.str
316
190
  - test/views/layout2.test
317
191
  - test/views/nested.str
318
- - test/views/utf8.haml
192
+ - test/views/utf8.erb
319
193
  has_rdoc: true
320
194
  homepage: http://sinatra.rubyforge.org
321
195
  licenses: []
@@ -335,17 +209,23 @@ required_ruby_version: !ruby/object:Gem::Requirement
335
209
  requirements:
336
210
  - - ">="
337
211
  - !ruby/object:Gem::Version
212
+ hash: 3
213
+ segments:
214
+ - 0
338
215
  version: "0"
339
216
  required_rubygems_version: !ruby/object:Gem::Requirement
340
217
  none: false
341
218
  requirements:
342
219
  - - ">="
343
220
  - !ruby/object:Gem::Version
221
+ hash: 3
222
+ segments:
223
+ - 0
344
224
  version: "0"
345
225
  requirements: []
346
226
 
347
227
  rubyforge_project: sinatra
348
- rubygems_version: 1.6.2
228
+ rubygems_version: 1.5.2
349
229
  signing_key:
350
230
  specification_version: 2
351
231
  summary: Classy web-development dressed in a DSL
@@ -379,6 +259,7 @@ test_files:
379
259
  - test/server_test.rb
380
260
  - test/settings_test.rb
381
261
  - test/sinatra_test.rb
262
+ - test/slim_test.rb
382
263
  - test/static_test.rb
383
264
  - test/templates_test.rb
384
265
  - test/textile_test.rb