Sha256: 6b1aaa08cbea342e1248b96cf41f9aa137908040a1f9ddee218803a3843407eb

Contents?: true

Size: 1.03 KB

Versions: 1

Compression:

Stored size: 1.03 KB

Contents

module MenuHelper
  # Represents an HTML element
  # 
  # == Modifying HTML options
  # 
  # HTML options can normally be specified when creating the element.
  # However, if they need to be modified after the element has been created,
  # you can access the properties like so:
  # 
  #   m = Menu.new
  #   m[:style] = 'display: none;'
  # 
  # or for a menu bar:
  # 
  #   b = MenuBar.new
  #   b[:style] = 'display: none;'
  class HtmlElement
    include ActionView::Helpers::TagHelper
    
    delegate  :[],
              :[]=,
                :to => '@html_options'
    
    def initialize(html_options = {}) #:nodoc:
      @html_options = html_options.symbolize_keys
    end
    
    # Generates the html representing this element
    def html
      content_tag(tag_name, content, @html_options)
    end
    
    private
      # The name of the element tag to use (e.g. td, th, tr, etc.)
      def tag_name
        ''
      end
      
      # The content that will be displayed inside of the tag
      def content
        ''
      end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
menu_helper-0.2.0 lib/menu_helper/html_element.rb