engine/lib/locomotive/haml.rb
2012-04-26 12:46:31 +02:00

52 lines
1.8 KiB
Ruby

require 'haml/helpers/action_view_mods'
<<<<<<< HEAD
# Only preserve whitespace in the tag's content: https://github.com/nex3/haml/pull/503
module ActionView
module Helpers #:nodoc:
module TagHelper
=======
module ActionView
module Helpers
module TagHelper
# Only preserve whitespace in the tag's content: https://github.com/nex3/haml/pull/503
>>>>>>> master
def content_tag_with_haml_and_preserve(name, content_or_options_with_block = nil, *args, &block)
return content_tag_without_haml(name, content_or_options_with_block, *args, &block) unless is_haml?
preserve = haml_buffer.options[:preserve].include?(name.to_s)
if block_given?
if block_is_haml?(block) && preserve
content_tag_without_haml(name, content_or_options_with_block, *args) {preserve(&block)}
else
content_tag_without_haml(name, content_or_options_with_block, *args, &block)
end
else
<<<<<<< HEAD
if preserve && content_or_options_with_block
content_or_options_with_block = Haml::Helpers.preserve(content_or_options_with_block)
end
content = content_tag_without_haml(name, content_or_options_with_block, *args, &block)
end
end
=======
if name == 'textarea'
tab_down(haml_buffer.tabulation)
elsif preserve && content_or_options_with_block
content_or_options_with_block = Haml::Helpers.preserve(content_or_options_with_block)
end
content_tag_without_haml(name, content_or_options_with_block, *args, &block)
end
end
alias_method :content_tag_without_haml_and_preserve, :content_tag
alias_method :content_tag, :content_tag_with_haml_and_preserve
>>>>>>> master
alias_method :content_tag_with_haml, :content_tag_with_haml_and_preserve
end
end
end