Sha256: cbc2d2cb7d9b430aff4115452dd820b3ddde3c08aa5f3726310063276fa29fe3

Contents?: true

Size: 1023 Bytes

Versions: 2

Compression:

Stored size: 1023 Bytes

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

2 entries across 2 versions & 1 rubygems

Version Path
menu_helper-0.3.1 lib/menu_helper/html_element.rb
menu_helper-0.3.0 lib/menu_helper/html_element.rb