summaryrefslogtreecommitdiff
path: root/lib/rdoc/attr.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rdoc/attr.rb')
-rw-r--r--lib/rdoc/attr.rb178
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
-