/scalate-jruby/src/main/resources/haml-3.0.25/lib/haml/helpers/action_view_extensions.rb
http://github.com/scalate/scalate · Ruby · 57 lines · 18 code · 3 blank · 36 comment · 0 complexity · 65a7848175c56c979bb5bdaaefc62531 MD5 · raw file
- module Haml
- module Helpers
- @@action_view_defined = true
- # 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
- # 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, old = true, @_haml_concat_raw
- yield
- ensure
- @_haml_concat_raw = old
- end
- end
- include ActionViewExtensions
- end
- end