Class | DefaultDisplay |
In: |
ri/ri_display.rb
|
Parent: | Object |
A paging display module. Uses the ri_formatter class to do the actual presentation
# File ri/ri_display.rb, line 41 41: def initialize(options) 42: @options = options 43: @formatter = @options.formatter.new(@options, " ") 44: end
# 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
# 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
# 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
# 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
# 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
# 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