diff options
author | Robin Houston <robin@lenny.robin> | 2011-08-24 18:09:33 +0100 |
---|---|---|
committer | Robin Houston <robin@lenny.robin> | 2011-08-24 18:09:33 +0100 |
commit | 95ed2bc24312699cfce9bb6f9bc1418b15718bb1 (patch) | |
tree | 6639e8b140b0d74a8f93c2ab00d7a7faba41d6d7 /vendor/gems/rdoc-2.4.3/lib/rdoc/attr.rb | |
parent | 68a5989094f63a7e32fd6745b1c5739e038339f3 (diff) |
Add rdoc 2.4.3 to vendor/gems
Diffstat (limited to 'vendor/gems/rdoc-2.4.3/lib/rdoc/attr.rb')
-rw-r--r-- | vendor/gems/rdoc-2.4.3/lib/rdoc/attr.rb | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/vendor/gems/rdoc-2.4.3/lib/rdoc/attr.rb b/vendor/gems/rdoc-2.4.3/lib/rdoc/attr.rb new file mode 100644 index 000000000..235a5ab23 --- /dev/null +++ b/vendor/gems/rdoc-2.4.3/lib/rdoc/attr.rb @@ -0,0 +1,79 @@ +require 'rdoc/code_object' + +## +# An attribute created by \#attr, \#attr_reader, \#attr_writer or +# \#attr_accessor + +class RDoc::Attr < RDoc::CodeObject + + ## + # Name of the attribute + + attr_accessor :name + + ## + # Is the attribute readable, writable or both? + + attr_accessor :rw + + ## + # Source file token stream + + attr_accessor :text + + ## + # public, protected, private + + attr_accessor :visibility + + def initialize(text, name, rw, comment) + super() + @text = text + @name = name + @rw = rw + @visibility = :public + self.comment = comment + end + + ## + # Attributes are ordered by name + + def <=>(other) + self.name <=> other.name + end + + ## + # An HTML id-friendly representation of #name + + def html_name + @name.gsub(/[^a-z]+/, '-') + end + + def inspect # :nodoc: + attr = case rw + when 'RW' then :attr_accessor + when 'R' then :attr_reader + when 'W' then :attr_writer + else + " (#{rw})" + end + + "#<%s:0x%x %s.%s :%s>" % [ + self.class, object_id, + parent_name, attr, @name, + ] + end + + ## + # URL path for this attribute + + def path + "#{@parent.path}##{@name}" + end + + def to_s # :nodoc: + "attr: #{self.name} #{self.rw}\n#{self.comment}" + end + +end + |