In Files

  • rdoc/markup/attributes.rb

Parent

Class/Module Index [+]

Quicksearch

RDoc::Markup::Attributes

We manage a set of attributes. Each attribute has a symbol name and a bit value.

Attributes

special[R]

The special attribute type. See RDoc::Markup#add_special

Public Class Methods

new() click to toggle source

Creates a new attributes set.

 
               # File rdoc/markup/attributes.rb, line 15
def initialize
  @special = 1

  @name_to_bitmap = [
    [:_SPECIAL_, @special],
  ]

  @next_bitmap = @special << 1
end
            

Public Instance Methods

as_string(bitmap) click to toggle source

Returns a string representation of bitmap

 
               # File rdoc/markup/attributes.rb, line 45
def as_string bitmap
  return 'none' if bitmap.zero?
  res = []

  @name_to_bitmap.each do |name, bit|
    res << name if (bitmap & bit) != 0
  end

  res.join ','
end
            
bitmap_for(name) click to toggle source

Returns a unique bit for name

 
               # File rdoc/markup/attributes.rb, line 28
def bitmap_for name
  bitmap = @name_to_bitmap.assoc name

  unless bitmap then
    bitmap = @next_bitmap
    @next_bitmap <<= 1
    @name_to_bitmap << [name, bitmap]
  else
    bitmap = bitmap.last
  end

  bitmap
end
            
each_name_of(bitmap) click to toggle source

yields each attribute name in bitmap

 
               # File rdoc/markup/attributes.rb, line 59
def each_name_of bitmap
  return enum_for __method__, bitmap unless block_given?

  @name_to_bitmap.each do |name, bit|
    next if bit == @special

    yield name.to_s if (bitmap & bit) != 0
  end
end
            

Commenting is here to help enhance the documentation. For example, code samples, or clarification of the documentation.

If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.

If you wish to post a correction of the docs, please do so, but also file bug report so that it can be corrected for the next release. Thank you.

If you want to help improve the Ruby documentation, please visit Documenting-ruby.org.

blog comments powered by Disqus