Class Amrita::TagInfo
In: lib/amrita/tag.rb
Parent: Object

This class provide information for formatting.

Methods

Classes and Modules

Class Amrita::TagInfo::TagInfoItem

Constants

DefaultTagInfo = TagInfoItem.new(nil).freeze

Public Class methods

[Source]

# File lib/amrita/tag.rb, line 140
    def initialize
      @dict = Hash.new(DefaultTagInfo)
    end

Public Instance methods

[](tagname)

Alias for get_tag_info

[Source]

# File lib/amrita/tag.rb, line 173
    def accept_child?(element, name)
      raise TypeError if !element.is_a?(Element)

      taginfo = get_tag_info(element.tagname_symbol)
      taginfo.tag = (taginfo.tag_class || Tag).new(element.tagname) if !taginfo.tag
      return taginfo.tag.accept_child(name)
    end

[Source]

# File lib/amrita/tag.rb, line 168
    def empty_tag?(element)
      raise TypeError if !element.is_a?(Element)
      get_tag_info(element.tagname_symbol).empty_tag
    end

[Source]

# File lib/amrita/tag.rb, line 144
    def freeze
      @dict.each do |k,v|
        k.freeze
        v.freeze
      end
      self
    end

[Source]

# File lib/amrita/tag.rb, line 152
    def get_tag_info(tagname)
      case tagname
      when Symbol
      when String
        tagname = tagname.downcase.intern
      else
        raise TypeError
      end
      if @dict.has_key?(tagname)
        @dict[tagname]
      else
        @dict[tagname] = TagInfoItem.new(tagname)
      end
    end

[Source]

# File lib/amrita/tag.rb, line 181
    def url_attr?(element, attr)
      raise TypeError if !element.is_a?(Element)
      raise TypeError if !attr.is_a?(Attr)
      get_tag_info(element.tagname_symbol).url_attr?(attr.key)
    end

[Validate]