diff options
Diffstat (limited to 'lib/rdoc/attr.rb')
| -rw-r--r-- | lib/rdoc/attr.rb | 178 |
1 files changed, 0 insertions, 178 deletions
diff --git a/lib/rdoc/attr.rb b/lib/rdoc/attr.rb deleted file mode 100644 index 9b8c4562c2..0000000000 --- a/lib/rdoc/attr.rb +++ /dev/null @@ -1,178 +0,0 @@ -require 'rdoc/code_object' - -## -# An attribute created by \#attr, \#attr_reader, \#attr_writer or -# \#attr_accessor - -class RDoc::Attr < RDoc::CodeObject - - MARSHAL_VERSION = 0 # :nodoc: - - ## - # 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 - - ## - # Attributes are equal when their names and rw is identical - - def == other - self.class == other.class and - self.name == other.name and - self.rw == other.rw - end - - ## - # Returns nil, for duck typing with RDoc::AnyMethod - - def arglists - end - - ## - # Returns nil, for duck typing with RDoc::AnyMethod - - def block_params - end - - ## - # Returns nil, for duck typing with RDoc::AnyMethod - - def call_seq - end - - ## - # Partially bogus as Attr has no parent. For duck typing with - # RDoc::AnyMethod. - - def full_name - @full_name ||= "#{@parent ? @parent.full_name : '(unknown)'}##{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 - - ## - # Dumps this Attr for use by ri. See also #marshal_load - - def marshal_dump - [ MARSHAL_VERSION, - @name, - full_name, - @rw, - @visibility, - parse(@comment), - ] - end - - ## - # Loads this AnyMethod from +array+. For a loaded AnyMethod the following - # methods will return cached values: - # - # * #full_name - # * #parent_name - - def marshal_load array - @name = array[1] - @full_name = array[2] - @rw = array[3] - @visibility = array[4] - @comment = array[5] - - @parent_name = @full_name - end - - ## - # Name of our parent with special handling for un-marshaled methods - - def parent_name - @parent_name || super - end - - ## - # For duck typing with RDoc::AnyMethod, returns nil - - def params - nil - end - - ## - # URL path for this attribute - - def path - "#{@parent.path}##{@name}" - end - - ## - # For duck typing with RDoc::AnyMethod - - def singleton - false - end - - def to_s # :nodoc: - "#{type} #{name}\n#{comment}" - end - - ## - # Returns attr_reader, attr_writer or attr_accessor as appropriate - - def type - case @rw - when 'RW' then 'attr_accessor' - when 'R' then 'attr_reader' - when 'W' then 'attr_writer' - end - end - -end - |
