Class DefaultDisplay
In: ri/ri_display.rb
Parent: Object

A paging display module. Uses the ri_formatter class to do the actual presentation

Methods

Included Modules

RiDisplay

Public Class methods

[Source]

    # File ri/ri_display.rb, line 41
41:   def initialize(options)
42:     @options = options
43:     @formatter = @options.formatter.new(@options, "     ")
44:   end

Public Instance methods

[Source]

     # File ri/ri_display.rb, line 76
 76:   def display_class_info(klass, ri_reader)
 77:     page do 
 78:       superclass = klass.superclass_string
 79:       
 80:       if superclass
 81:         superclass = " < " + superclass
 82:       else
 83:         superclass = ""
 84:       end
 85:       
 86:       @formatter.draw_line(klass.display_name + ": " +
 87:                            klass.full_name + superclass)
 88:       
 89:       display_flow(klass.comment)
 90:       @formatter.draw_line 
 91:     
 92:       unless klass.includes.empty?
 93:         @formatter.blankline
 94:         @formatter.display_heading("Includes:", 2, "")
 95:         incs = []
 96:         klass.includes.each do |inc|
 97:           inc_desc = ri_reader.find_class_by_name(inc.name)
 98:           if inc_desc
 99:             str = inc.name + "("
100:             str << inc_desc.instance_methods.map{|m| m.name}.join(", ")
101:             str << ")"
102:             incs << str
103:           else
104:             incs << inc.name
105:           end
106:       end
107:         @formatter.wrap(incs.sort.join(', '))
108:       end
109:       
110:       unless klass.constants.empty?
111:         @formatter.blankline
112:         @formatter.display_heading("Constants:", 2, "")
113:         len = 0
114:         klass.constants.each { |c| len = c.name.length if c.name.length > len }
115:         len += 2
116:         klass.constants.each do |c|
117:           @formatter.wrap(c.value, 
118:                           @formatter.indent+((c.name+":").ljust(len)))
119:         end 
120:       end
121:       
122:       unless klass.class_methods.empty?
123:         @formatter.blankline
124:         @formatter.display_heading("Class methods:", 2, "")
125:         @formatter.wrap(klass.class_methods.map{|m| m.name}.sort.join(', '))
126:       end
127:       
128:       unless klass.instance_methods.empty?
129:         @formatter.blankline
130:         @formatter.display_heading("Instance methods:", 2, "")
131:         @formatter.wrap(klass.instance_methods.map{|m| m.name}.sort.join(', '))
132:       end
133:       
134:       unless klass.attributes.empty?
135:         @formatter.blankline
136:         @formatter.wrap("Attributes:", "")
137:         @formatter.wrap(klass.attributes.map{|a| a.name}.sort.join(', '))
138:       end
139:     end
140:   end

[Source]

     # File ri/ri_display.rb, line 156
156:   def display_class_list(namespaces)
157:     page do
158:       puts "More than one class or module matched your request. You can refine"
159:       puts "your search by asking for information on one of:\n\n"
160:       @formatter.wrap(namespaces.map {|m| m.full_name}.join(", "))
161:     end
162:   end

[Source]

    # File ri/ri_display.rb, line 58
58:   def display_method_info(method)
59:     page do
60:       @formatter.draw_line(method.full_name)
61:       display_params(method)
62:       @formatter.draw_line
63:       display_flow(method.comment)
64:       if method.aliases && !method.aliases.empty?
65:         @formatter.blankline
66:         aka = "(also known as "
67:         aka << method.aliases.map {|a| a.name }.join(", ") 
68:         aka << ")"
69:         @formatter.wrap(aka)
70:       end
71:     end
72:   end

Display a list of method names

[Source]

     # File ri/ri_display.rb, line 146
146:   def display_method_list(methods)
147:     page do
148:       puts "More than one method matched your request. You can refine"
149:       puts "your search by asking for information on one of:\n\n"
150:       @formatter.wrap(methods.map {|m| m.full_name} .join(", "))
151:     end
152:   end

[Source]

    # File ri/ri_display.rb, line 49
49:   def display_usage
50:     page do
51:       RI::Options::OptionList.usage(short_form=true)
52:     end
53:   end

[Source]

     # File ri/ri_display.rb, line 166
166:   def list_known_classes(classes)
167:     if classes.empty?
168:       warn_no_database
169:     else
170:       page do 
171:         @formatter.draw_line("Known classes and modules")
172:         @formatter.blankline
173:         @formatter.wrap(classes.sort.join(", "))
174:       end
175:     end
176:   end

[Source]

     # File ri/ri_display.rb, line 180
180:   def list_known_names(names)
181:     if names.empty?
182:       warn_no_database
183:     else
184:       page do 
185:         names.each {|n| @formatter.raw_print_line(n)}
186:       end
187:     end
188:   end

[Validate]