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