2003-12-16 00:44:25 -05:00
|
|
|
require 'yaml'
|
|
|
|
|
2003-12-16 15:28:44 -05:00
|
|
|
# Descriptions are created by RDoc (in ri_generator) and
|
|
|
|
# written out in serialized form into the documentation
|
|
|
|
# tree. ri then reads these to generate the documentation
|
|
|
|
|
2003-12-16 00:44:25 -05:00
|
|
|
module RI
|
|
|
|
Alias = Struct.new(:old_name, :new_name)
|
|
|
|
AliasName = Struct.new(:name)
|
|
|
|
Attribute = Struct.new(:name, :rw, :comment)
|
|
|
|
Constant = Struct.new(:name, :value, :comment)
|
|
|
|
IncludedModule = Struct.new(:name)
|
|
|
|
|
|
|
|
class MethodSummary
|
|
|
|
attr_accessor :name
|
|
|
|
def initialize(name="")
|
|
|
|
@name = name
|
|
|
|
end
|
|
|
|
|
|
|
|
def <=>(other)
|
|
|
|
self.name <=> other.name
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
class Description
|
|
|
|
attr_accessor :name
|
|
|
|
attr_accessor :full_name
|
|
|
|
attr_accessor :comment
|
|
|
|
|
|
|
|
def serialize
|
|
|
|
self.to_yaml
|
|
|
|
end
|
|
|
|
|
|
|
|
def Description.deserialize(from)
|
|
|
|
YAML.load(from)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
class ClassDescription < Description
|
|
|
|
|
2003-12-16 15:28:44 -05:00
|
|
|
attr_accessor :class_methods
|
|
|
|
attr_accessor :instance_methods
|
2003-12-16 00:44:25 -05:00
|
|
|
attr_accessor :attributes
|
|
|
|
attr_accessor :constants
|
|
|
|
attr_accessor :superclass
|
|
|
|
attr_accessor :includes
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
class MethodDescription < Description
|
|
|
|
|
|
|
|
attr_accessor :is_class_method
|
|
|
|
attr_accessor :visibility
|
|
|
|
attr_accessor :block_params
|
|
|
|
attr_accessor :is_singleton
|
|
|
|
attr_accessor :aliases
|
|
|
|
attr_accessor :is_alias_for
|
|
|
|
attr_accessor :params
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
end
|