Sha256: 5192db08fadb7fad2f33e796c58720cd56b376a5e40b0b5e3c778ea5be1bf34d

Contents?: true

Size: 931 Bytes

Versions: 3

Compression:

Stored size: 931 Bytes

Contents

class Class
  # just runs ri against the class, outputs a big
  def desc_class options = {}
    # want_output = false, verbose = false
    begin
      puts "begin RI"
      require 'rdoc'
      require 'rdoc/ri/driver'
      RDoc::RI::Driver.run [to_s, '--no-pager']
      puts 'end ri'
    rescue SystemExit
      # not found
    end

    class_methods = methods(false)
    for ancestor in ancestors[1..-1] # skip the first one, which is yourself
      class_methods -= ancestor.methods(false)
    end

    doc = []
    doc << to_s
    doc += ["non inherited methods:", instance_methods(false).sort.join(", ")]
    doc += ['non inherited class methods:', class_methods.sort.join(', ')]
    doc += ["ancestors:", ancestors.join(', ')] if options[:verbose]
    doc += ["Constants (possible sub classes):",  constants.join(', ')] if constants.length > 0 && options[:verbose]
    puts doc
    doc if options[:want_output]
  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
ri_for-0.6.1 lib/ri_for/class_desc.rb
ri_for-0.6.0 lib/ri_for/class_desc.rb
ri_for-0.5.1 lib/ri_for/class_desc.rb