Sha256: c41b0cb2d774d796f624eb5c4d5618c6cc796834e85b6e2617e5d6c89d376bd8

Contents?: true

Size: 1.34 KB

Versions: 6

Compression:

Stored size: 1.34 KB

Contents

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

        # :stopdoc:
        alias_method :generate_content_class_names, :page_class
        # :startdoc:
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
haml-1.7.2 lib/haml/helpers/action_view_extensions.rb
haml-1.7.1 lib/haml/helpers/action_view_extensions.rb
haml-1.7.0 lib/haml/helpers/action_view_extensions.rb
haml-1.8.0 lib/haml/helpers/action_view_extensions.rb
haml-1.8.1 lib/haml/helpers/action_view_extensions.rb
haml-1.8.2 lib/haml/helpers/action_view_extensions.rb