vendor/plugins/haml/lib/haml/helpers/action_view_extensions.rb in radiant-0.8.2 vs vendor/plugins/haml/lib/haml/helpers/action_view_extensions.rb in radiant-0.9.0.rc2

- old
+ new

@@ -1,45 +1,55 @@ require 'haml/helpers/action_view_mods' -if defined?(ActionView) - module Haml - module Helpers - # This module contains various useful helper methods - # that either tie into ActionView or the rest of the ActionPack stack, - # or are only useful in that context. - # Thus, the methods defined here are only available - # if ActionView is installed. - module ActionViewExtensions - # Returns a value for the "class" attribute - # unique to this controller/action pair. - # This can be used to target styles specifically at this action or controller. - # For example, if the current action were EntryController#show, - # - # %div{:class => page_class} My Div - # - # would become - # - # <div class="entry show">My Div</div> - # - # Then, in a stylesheet - # (shown here as Sass), - # you could refer to this specific action: - # - # .entry.show - # :font-weight bold - # - # or to all actions in the entry controller: - # - # .entry - # :color #00f - # - def page_class - controller.controller_name + " " + controller.action_name - end +module Haml + module Helpers + # This module contains various useful helper methods + # that either tie into ActionView or the rest of the ActionPack stack, + # or are only useful in that context. + # Thus, the methods defined here are only available + # if ActionView is installed. + module ActionViewExtensions + # Returns a value for the "class" attribute + # unique to this controller/action pair. + # This can be used to target styles specifically at this action or controller. + # For example, if the current action were `EntryController#show`, + # + # %div{:class => page_class} My Div + # + # would become + # + # <div class="entry show">My Div</div> + # + # Then, in a stylesheet (shown here as {Sass}), + # you could refer to this specific action: + # + # .entry.show + # font-weight: bold + # + # or to all actions in the entry controller: + # + # .entry + # color: #00f + # + # @return [String] The class name for the current page + def page_class + controller.controller_name + " " + controller.action_name + end + alias_method :generate_content_class_names, :page_class - # :stopdoc: - alias_method :generate_content_class_names, :page_class - # :startdoc: + # Treats all input to \{Haml::Helpers#haml\_concat} within the block + # as being HTML safe for Rails' XSS protection. + # This is useful for wrapping blocks of code that concatenate HTML en masse. + # + # This has no effect if Rails' XSS protection isn't enabled. + # + # @yield A block in which all input to `#haml_concat` is treated as raw. + # @see Haml::Util#rails_xss_safe? + def with_raw_haml_concat + @_haml_concat_raw = true + yield + ensure + @_haml_concat_raw = false end end end end