summaryrefslogtreecommitdiff
path: root/lib/rdoc/ri/ri_descriptions.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rdoc/ri/ri_descriptions.rb')
-rw-r--r--lib/rdoc/ri/ri_descriptions.rb58
1 files changed, 58 insertions, 0 deletions
diff --git a/lib/rdoc/ri/ri_descriptions.rb b/lib/rdoc/ri/ri_descriptions.rb
new file mode 100644
index 0000000..e80b4eb
--- /dev/null
+++ b/lib/rdoc/ri/ri_descriptions.rb
@@ -0,0 +1,58 @@
+require 'yaml'
+
+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
+
+ attr_accessor :method_list
+ 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