haml-edge 2.3.159 → 2.3.160
Sign up to get free protection for your applications and to get access to all the features.
- data/EDGE_GEM_VERSION +1 -1
- data/VERSION +1 -1
- data/lib/haml/helpers/action_view_extensions.rb +2 -2
- data/lib/haml/helpers/action_view_mods.rb +1 -1
- data/lib/haml/helpers.rb +4 -4
- data/lib/haml/template/plugin.rb +5 -2
- data/lib/haml/template.rb +2 -1
- data/lib/sass/files.rb +1 -1
- data/lib/sass/plugin/rack.rb +2 -2
- data/lib/sass/plugin/rails.rb +3 -2
- data/test/haml/template_test.rb +14 -0
- metadata +1 -1
data/EDGE_GEM_VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.3.
|
1
|
+
2.3.160
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.3.
|
1
|
+
2.3.160
|
@@ -45,10 +45,10 @@ module Haml
|
|
45
45
|
# @yield A block in which all input to `#haml_concat` is treated as raw.
|
46
46
|
# @see Haml::Util#rails_xss_safe?
|
47
47
|
def with_raw_haml_concat
|
48
|
-
@_haml_concat_raw = true
|
48
|
+
@_haml_concat_raw, old = true, @_haml_concat_raw
|
49
49
|
yield
|
50
50
|
ensure
|
51
|
-
@_haml_concat_raw =
|
51
|
+
@_haml_concat_raw = old
|
52
52
|
end
|
53
53
|
end
|
54
54
|
end
|
@@ -125,7 +125,7 @@ module ActionView
|
|
125
125
|
@template_object.send :is_haml?
|
126
126
|
end
|
127
127
|
|
128
|
-
unless defined?(ActionView::Helpers::ActiveRecordInstanceTag)
|
128
|
+
unless defined?(ActionView::Helpers) && defined?(ActionView::Helpers::ActiveRecordInstanceTag)
|
129
129
|
alias_method :content_tag_without_haml, :content_tag
|
130
130
|
alias_method :content_tag, :content_tag_with_haml
|
131
131
|
end
|
data/lib/haml/helpers.rb
CHANGED
@@ -539,12 +539,12 @@ MESSAGE
|
|
539
539
|
# @yield A block in which the given buffer should be used
|
540
540
|
def with_haml_buffer(buffer)
|
541
541
|
@haml_buffer, old_buffer = buffer, @haml_buffer
|
542
|
-
old_buffer.active,
|
543
|
-
@haml_buffer.active = true
|
542
|
+
old_buffer.active, old_was_active = false, old_buffer.active? if old_buffer
|
543
|
+
@haml_buffer.active, was_active = true, @haml_buffer.active?
|
544
544
|
yield
|
545
545
|
ensure
|
546
|
-
@haml_buffer.active =
|
547
|
-
old_buffer.active =
|
546
|
+
@haml_buffer.active = was_active
|
547
|
+
old_buffer.active = old_was_active if old_buffer
|
548
548
|
@haml_buffer = old_buffer
|
549
549
|
end
|
550
550
|
|
data/lib/haml/template/plugin.rb
CHANGED
@@ -3,8 +3,11 @@
|
|
3
3
|
|
4
4
|
module Haml
|
5
5
|
class Plugin < Haml::Util.av_template_class(:Handler)
|
6
|
-
if defined?(ActionView::TemplateHandlers
|
7
|
-
defined?(ActionView::
|
6
|
+
if (defined?(ActionView::TemplateHandlers) &&
|
7
|
+
defined?(ActionView::TemplateHandlers::Compilable)) ||
|
8
|
+
(defined?(ActionView::Template) &&
|
9
|
+
defined?(ActionView::Template::Handlers) &&
|
10
|
+
defined?(ActionView::Template::Handlers::Compilable))
|
8
11
|
include Haml::Util.av_template_class(:Handlers)::Compilable
|
9
12
|
end
|
10
13
|
|
data/lib/haml/template.rb
CHANGED
@@ -46,7 +46,8 @@ end
|
|
46
46
|
# Decide how we want to load Haml into Rails.
|
47
47
|
# Patching was necessary for versions <= 2.0.1,
|
48
48
|
# but we can make it a normal handler for higher versions.
|
49
|
-
if defined?(ActionView::TemplateHandler) ||
|
49
|
+
if defined?(ActionView::TemplateHandler) ||
|
50
|
+
(defined?(ActionView::Template) && defined?(ActionView::Template::Handler))
|
50
51
|
require 'haml/template/plugin'
|
51
52
|
else
|
52
53
|
require 'haml/template/patch'
|
data/lib/sass/files.rb
CHANGED
@@ -98,7 +98,7 @@ END
|
|
98
98
|
return unless f.readline("\n").strip == sha
|
99
99
|
return Marshal.load(f.read)
|
100
100
|
end
|
101
|
-
rescue TypeError, ArgumentError => e
|
101
|
+
rescue EOFError, TypeError, ArgumentError => e
|
102
102
|
warn "Warning. Error encountered while reading cache #{compiled_filename}: #{e}"
|
103
103
|
end
|
104
104
|
|
data/lib/sass/plugin/rack.rb
CHANGED
@@ -48,12 +48,12 @@ module Sass
|
|
48
48
|
# This is automatically done once the Rack plugin is activated.
|
49
49
|
# This is done so that the stylesheets aren't checked twice for each request.
|
50
50
|
def self.disable_native_plugin!
|
51
|
-
if defined?(Merb::Rack::Application) &&
|
51
|
+
if defined?(Merb::Rack) && defined?(Merb::Rack::Application) &&
|
52
52
|
Haml::Util.has?(:instance_method, Merb::Rack::Application, :call_without_sass)
|
53
53
|
Merb::Rack::Application.instance_eval {alias_method :call, :call_without_sass}
|
54
54
|
end
|
55
55
|
|
56
|
-
if defined?(ActionDispatch::Callbacks.to_prepare)
|
56
|
+
if defined?(ActionDispatch::Callbacks) && defined?(ActionDispatch::Callbacks.to_prepare)
|
57
57
|
ActionDispatch::Callbacks.skip_callback(:prepare, :__sass_process)
|
58
58
|
elsif defined?(ActionController::Base) &&
|
59
59
|
Haml::Util.has?(:instance_method, ActionController::Base, :sass_old_process)
|
data/lib/sass/plugin/rails.rb
CHANGED
@@ -7,11 +7,12 @@ unless defined?(Sass::RAILS_LOADED)
|
|
7
7
|
:always_check => Haml::Util.rails_env != "production",
|
8
8
|
:full_exception => Haml::Util.rails_env != "production")
|
9
9
|
|
10
|
-
if defined?(Rails.configuration.middleware)
|
10
|
+
if defined?(Rails.configuration) && defined?(Rails.configuration.middleware)
|
11
11
|
# Rails >= 3.0
|
12
12
|
require 'sass/plugin/rack'
|
13
13
|
Rails.configuration.middleware.use(Sass::Plugin::Rack)
|
14
|
-
elsif defined?(ActionController::Dispatcher
|
14
|
+
elsif defined?(ActionController::Dispatcher) &&
|
15
|
+
defined?(ActionController::Dispatcher.middleware)
|
15
16
|
# Rails >= 2.3
|
16
17
|
require 'sass/plugin/rack'
|
17
18
|
ActionController::Dispatcher.middleware.use(Sass::Plugin::Rack)
|
data/test/haml/template_test.rb
CHANGED
@@ -309,6 +309,20 @@ END
|
|
309
309
|
|
310
310
|
## Regression
|
311
311
|
|
312
|
+
def test_xss_protection_with_nested_haml_tag
|
313
|
+
assert_equal(<<HTML, render(<<HAML, :action_view))
|
314
|
+
<div>
|
315
|
+
<ul>
|
316
|
+
<li>Content!</li>
|
317
|
+
</ul>
|
318
|
+
</div>
|
319
|
+
HTML
|
320
|
+
- haml_tag :div do
|
321
|
+
- haml_tag :ul do
|
322
|
+
- haml_tag :li, "Content!"
|
323
|
+
HAML
|
324
|
+
end
|
325
|
+
|
312
326
|
def test_xss_protection_with_form_for
|
313
327
|
assert_equal(<<HTML, render(<<HAML, :action_view))
|
314
328
|
<form action="" method="post">
|