1##
2# A normal module, like NormalClass
3
4class RDoc::NormalModule < RDoc::ClassModule
5
6  def inspect # :nodoc:
7    "#<%s:0x%x module %s includes: %p extends: %p attributes: %p methods: %p aliases: %p>" % [
8      self.class, object_id,
9      full_name, @includes, @extends, @attributes, @method_list, @aliases
10    ]
11  end
12
13  ##
14  # The definition of this module, <tt>module MyModuleName</tt>
15
16  def definition
17    "module #{full_name}"
18  end
19
20  ##
21  # This is a module, returns true
22
23  def module?
24    true
25  end
26
27  def pretty_print q # :nodoc:
28    q.group 2, "[module #{full_name}: ", "]" do
29      q.breakable
30      q.text "includes:"
31      q.breakable
32      q.seplist @includes do |inc| q.pp inc end
33      q.breakable
34
35      q.breakable
36      q.text "constants:"
37      q.breakable
38      q.seplist @constants do |const| q.pp const end
39
40      q.text "attributes:"
41      q.breakable
42      q.seplist @attributes do |attr| q.pp attr end
43      q.breakable
44
45      q.text "methods:"
46      q.breakable
47      q.seplist @method_list do |meth| q.pp meth end
48      q.breakable
49
50      q.text "aliases:"
51      q.breakable
52      q.seplist @aliases do |aliaz| q.pp aliaz end
53      q.breakable
54
55      q.text "comment:"
56      q.breakable
57      q.pp comment
58    end
59  end
60
61  ##
62  # Modules don't have one, raises NoMethodError
63
64  def superclass
65    raise NoMethodError, "#{full_name} is a module"
66  end
67
68end
69
70