roda 2.8.0 → 2.9.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG +4 -0
- data/README.rdoc +1 -1
- data/doc/release_notes/2.9.0.txt +6 -0
- data/lib/roda/plugins/content_for.rb +9 -1
- data/lib/roda/plugins/not_allowed.rb +1 -3
- data/lib/roda/version.rb +1 -1
- data/spec/plugin/content_for_spec.rb +19 -0
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: db1595b9c872a259412f3038f5a0fb2840eeb3cf
|
4
|
+
data.tar.gz: f2b1ccafbdbbe5555ba7267aaa51711be0ea0f4e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 584b93e1c7fad7764b37835c5a902ae0fa6549eadd180792db2cdb8bcd6ddcccf6e1c0292e3962e0960e5f491dae6807308f76534a9e51f66698b62e3d794def
|
7
|
+
data.tar.gz: 47869cb66d33806d615dae3046dd0b372532811c00456c839e781d5e57912dcec6c09161f8802a66a37d401fa4dd685dc00327ce1389555ce20dee84419d406b
|
data/CHANGELOG
CHANGED
data/README.rdoc
CHANGED
@@ -759,7 +759,7 @@ application level using using the +default_headers+ plugin:
|
|
759
759
|
|
760
760
|
Content-Security-Policy/X-Content-Security-Policy :: Defines policy for how javascript and other
|
761
761
|
types of content can be used on the page.
|
762
|
-
Frame-Options/X-Frame-Options :: Provides click-jacking
|
762
|
+
Frame-Options/X-Frame-Options :: Provides click-jacking protection by not allowing usage inside
|
763
763
|
a frame.
|
764
764
|
Strict-Transport-Security :: Enforces SSL/TLS Connections to the application.
|
765
765
|
X-Content-Type-Options :: Forces some browsers to respect a declared Content-Type header.
|
@@ -14,6 +14,11 @@ class Roda
|
|
14
14
|
# Some content here.
|
15
15
|
# <% end %>
|
16
16
|
#
|
17
|
+
# You can also set the raw content as the second argument,
|
18
|
+
# instead of passing a block:
|
19
|
+
#
|
20
|
+
# <% content_for :foo, "Some content" %>
|
21
|
+
#
|
17
22
|
# In the template in which you want to retrieve content,
|
18
23
|
# call content_for without the block:
|
19
24
|
#
|
@@ -30,7 +35,7 @@ class Roda
|
|
30
35
|
# under the given key. If called without a block, retrieve
|
31
36
|
# stored content with the given key, or return nil if there
|
32
37
|
# is no content stored with that key.
|
33
|
-
def content_for(key, &block)
|
38
|
+
def content_for(key, value=nil, &block)
|
34
39
|
if block
|
35
40
|
outvar = render_opts[:template_opts][:outvar]
|
36
41
|
buf_was = instance_variable_get(outvar)
|
@@ -41,6 +46,9 @@ class Roda
|
|
41
46
|
@_content_for[key] = Tilt[render_opts[:engine]].new(&block).render
|
42
47
|
|
43
48
|
instance_variable_set(outvar, buf_was)
|
49
|
+
elsif value
|
50
|
+
@_content_for ||= {}
|
51
|
+
@_content_for[key] = value
|
44
52
|
elsif @_content_for
|
45
53
|
@_content_for[key]
|
46
54
|
end
|
@@ -60,9 +60,7 @@ class Roda
|
|
60
60
|
# In all cases where it uses a 405 response, it also sets the +Allow+
|
61
61
|
# header in the response to contain the request methods supported.
|
62
62
|
#
|
63
|
-
# This plugin depends on the all_verbs plugin.
|
64
|
-
# the verb methods, so it wouldn't work if loaded after the all_verbs
|
65
|
-
# plugin.
|
63
|
+
# This plugin depends on the all_verbs plugin.
|
66
64
|
module NotAllowed
|
67
65
|
# Depend on the all_verbs plugin, as this plugin overrides methods
|
68
66
|
# defined by it and calls super.
|
data/lib/roda/version.rb
CHANGED
@@ -19,6 +19,9 @@ describe "content_for plugin with erb" do
|
|
19
19
|
r.get 'a' do
|
20
20
|
view(:inline => "bar", :layout => { :inline => '<%= content_for(:foo) %> <%= yield %>' })
|
21
21
|
end
|
22
|
+
r.get 'b' do
|
23
|
+
view(:inline => '<% content_for(:foo, "foo") %>bar', :layout => { :inline => '<%= yield %> <%= content_for(:foo) %>' })
|
24
|
+
end
|
22
25
|
end
|
23
26
|
end
|
24
27
|
end
|
@@ -30,6 +33,10 @@ describe "content_for plugin with erb" do
|
|
30
33
|
it "should work if content is not set by the template" do
|
31
34
|
body('/a').strip.must_equal "bar"
|
32
35
|
end
|
36
|
+
|
37
|
+
it "should work if a raw string is set" do
|
38
|
+
body('/b').strip.must_equal "bar foo"
|
39
|
+
end
|
33
40
|
end
|
34
41
|
|
35
42
|
describe "content_for plugin with haml" do
|
@@ -42,12 +49,16 @@ describe "content_for plugin with haml" do
|
|
42
49
|
r.root do
|
43
50
|
view(:inline => "- content_for :foo do\n - capture_haml do\n foo\nbar", :layout => { :inline => "= yield\n=content_for :foo" })
|
44
51
|
end
|
52
|
+
r.get 'a' do
|
53
|
+
view(:inline => "- content_for :foo, 'foo'\nbar", :layout => { :inline => "= yield\n=content_for :foo" })
|
54
|
+
end
|
45
55
|
end
|
46
56
|
end
|
47
57
|
end
|
48
58
|
|
49
59
|
it "should work with alternate rendering engines" do
|
50
60
|
body.strip.must_equal "bar\nfoo"
|
61
|
+
body('/a').strip.must_equal "bar\nfoo"
|
51
62
|
end
|
52
63
|
end
|
53
64
|
|
@@ -61,12 +72,16 @@ describe "content_for plugin with mixed template engines" do
|
|
61
72
|
r.root do
|
62
73
|
view(:inline => "<% content_for :foo do %>foo<% end %>bar")
|
63
74
|
end
|
75
|
+
r.get 'a' do
|
76
|
+
view(:inline => "<% content_for :foo, 'foo' %>bar")
|
77
|
+
end
|
64
78
|
end
|
65
79
|
end
|
66
80
|
end
|
67
81
|
|
68
82
|
it "should work with alternate rendering engines" do
|
69
83
|
body.strip.must_equal "bar\nfoo"
|
84
|
+
body('/a').strip.must_equal "bar\nfoo"
|
70
85
|
end
|
71
86
|
end
|
72
87
|
|
@@ -80,12 +95,16 @@ describe "content_for plugin when overriding :engine" do
|
|
80
95
|
r.root do
|
81
96
|
view(:inline => "<% content_for :foo do %>foo<% end %>bar", :engine=>:erb)
|
82
97
|
end
|
98
|
+
r.get 'a' do
|
99
|
+
view(:inline => "<% content_for :foo, 'foo' %>bar", :engine=>:erb)
|
100
|
+
end
|
83
101
|
end
|
84
102
|
end
|
85
103
|
end
|
86
104
|
|
87
105
|
it "should work with alternate rendering engines" do
|
88
106
|
body.strip.must_equal "bar\nfoo"
|
107
|
+
body('/a').strip.must_equal "bar\nfoo"
|
89
108
|
end
|
90
109
|
end
|
91
110
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: roda
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeremy Evans
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-12-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rack
|
@@ -174,6 +174,7 @@ extra_rdoc_files:
|
|
174
174
|
- doc/release_notes/2.6.0.txt
|
175
175
|
- doc/release_notes/2.7.0.txt
|
176
176
|
- doc/release_notes/2.8.0.txt
|
177
|
+
- doc/release_notes/2.9.0.txt
|
177
178
|
files:
|
178
179
|
- CHANGELOG
|
179
180
|
- MIT-LICENSE
|
@@ -194,6 +195,7 @@ files:
|
|
194
195
|
- doc/release_notes/2.6.0.txt
|
195
196
|
- doc/release_notes/2.7.0.txt
|
196
197
|
- doc/release_notes/2.8.0.txt
|
198
|
+
- doc/release_notes/2.9.0.txt
|
197
199
|
- lib/roda.rb
|
198
200
|
- lib/roda/plugins/_erubis_escaping.rb
|
199
201
|
- lib/roda/plugins/all_verbs.rb
|