Sha256: fc90237ce9ecb15d5498340c585e5d9911c09ce0d92af55927e485446fec8062

Contents?: true

Size: 976 Bytes

Versions: 102

Compression:

Stored size: 976 Bytes

Contents

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

class RDoc::Markup::Attribute

  ##
  # Special attribute type.  See RDoc::Markup#add_special

  SPECIAL = 1

  @@name_to_bitmap = { :_SPECIAL_ => SPECIAL }
  @@next_bitmap = 2

  ##
  # Returns a unique bit for +name+

  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

  ##
  # Returns a string representation of +bitmap+

  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

  ##
  # yields each attribute name in +bitmap+

  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

end

Version data entries

102 entries across 80 versions & 20 rubygems

Version Path
active_mailer-0.0.10 test/fixtures/dummyapp_rails_3.2/vendor/bundle/ruby/1.9.1/gems/rdoc-3.12.1/lib/rdoc/markup/attribute.rb
judge-2.0.5 vendor/bundle/ruby/2.1.0/gems/rdoc-3.12.2/lib/rdoc/markup/attribute.rb
active_mailer-0.0.9 test/fixtures/dummyapp_rails_3.2/vendor/bundle/ruby/1.9.1/gems/rdoc-3.12.1/lib/rdoc/markup/attribute.rb
active_mailer-0.0.8 test/fixtures/dummyapp_rails_3.2/vendor/bundle/ruby/1.9.1/gems/rdoc-3.12.1/lib/rdoc/markup/attribute.rb
active_mailer-0.0.7 test/fixtures/dummyapp_rails_3.2/vendor/bundle/ruby/1.9.1/gems/rdoc-3.12.1/lib/rdoc/markup/attribute.rb
active_mailer-0.0.6 test/fixtures/dummyapp_rails_3.2/vendor/bundle/ruby/1.9.1/gems/rdoc-3.12.1/lib/rdoc/markup/attribute.rb
font-awesome-rails-3.1.1.2 vendor/ruby/1.9.1/gems/rdoc-3.12.2/lib/rdoc/markup/attribute.rb
font-awesome-rails-3.1.1.2 vendor/ruby/2.0.0/gems/rdoc-3.12.2/lib/rdoc/markup/attribute.rb
font-awesome-rails-3.1.1.1 vendor/ruby/1.9.1/gems/rdoc-3.12.2/lib/rdoc/markup/attribute.rb
font-awesome-rails-3.1.1.1 vendor/ruby/2.0.0/gems/rdoc-3.12.2/lib/rdoc/markup/attribute.rb
challah-1.0.0.beta3 vendor/bundle/gems/rdoc-3.12.2/lib/rdoc/markup/attribute.rb
fc-webicons-0.0.4 vendor/bundle/ruby/1.9.1/gems/rdoc-3.12.2/lib/rdoc/markup/attribute.rb
challah-1.0.0.beta2 vendor/bundle/gems/rdoc-3.12.2/lib/rdoc/markup/attribute.rb
challah-1.0.0.beta vendor/bundle/gems/rdoc-3.12/lib/rdoc/markup/attribute.rb
challah-1.0.0.beta vendor/bundle/gems/rdoc-3.12.2/lib/rdoc/markup/attribute.rb
fc-webicons-0.0.3 vendor/bundle/ruby/1.9.1/gems/rdoc-3.12.2/lib/rdoc/markup/attribute.rb
fc-webicons-0.0.2 vendor/bundle/ruby/1.9.1/gems/rdoc-3.12.2/lib/rdoc/markup/attribute.rb
fc-webicons-0.0.1 vendor/bundle/ruby/1.9.1/gems/rdoc-3.12.2/lib/rdoc/markup/attribute.rb
rdoc-3.12.2 lib/rdoc/markup/attribute.rb
active_mailer-0.0.5 test/fixtures/dummyapp_rails_3.2/vendor/bundle/ruby/1.9.1/gems/rdoc-3.12.1/lib/rdoc/markup/attribute.rb