Class: RDoc::Markup::Attribute
Overview
We manage a set of attributes. Each attribute has a symbol name and a bit value.
Constant Summary
- SPECIAL =
Special attribute type. See RDoc::Markup#add_special
1- @@name_to_bitmap =
{ :_SPECIAL_ => SPECIAL }
- @@next_bitmap =
2
Class Method Summary (collapse)
-
+ (Object) as_string(bitmap)
Returns a string representation of bitmap.
-
+ (Object) bitmap_for(name)
Returns a unique bit for name.
-
+ (Object) each_name_of(bitmap)
yields each attribute name in bitmap.
Class Method Details
+ (Object) as_string(bitmap)
Returns a string representation of bitmap
34 35 36 37 38 39 40 41 |
# File 'lib/rdoc/markup/inline.rb', line 34 def self.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 |
+ (Object) bitmap_for(name)
Returns a unique bit for name
21 22 23 24 25 26 27 28 29 |
# File 'lib/rdoc/markup/inline.rb', line 21 def self.bitmap_for(name) bitmap = @@name_to_bitmap[name] unless bitmap then bitmap = @@next_bitmap @@next_bitmap <<= 1 @@name_to_bitmap[name] = bitmap end bitmap end |
+ (Object) each_name_of(bitmap)
yields each attribute name in bitmap
46 47 48 49 50 51 |
# File 'lib/rdoc/markup/inline.rb', line 46 def self.each_name_of(bitmap) @@name_to_bitmap.each do |name, bit| next if bit == SPECIAL yield name.to_s if (bitmap & bit) != 0 end end |