Class: RDoc::AnyMethod

Inherits:
Object
  • Object
show all
Includes:
Comparable
Defined in:
lib/rdoc/generator/latex_markup.rb

Instance Method Summary collapse

Instance Method Details

#<=>(other) ⇒ Object

Compares two methods with each other. A method is considered smaller than another if it is a class method. If self and other are both of the same type (either "class" or "instance"), they’re compared alphabetically. ==Parameter [other] The other method to compare with. ==Return value -1 if self is smaller than other, 0 if they’re equal and +1 if self is bigger than other. nil if other isn’t a RDoc::AnyMethod. ==Example m1.name #=> foo m1.type #=> instance m2.name #=> bar m2.type #=> instance m3.name #=> foo m3.type #=> class

m1 <=> m2 #=> 1 m2 <=> m1 #=> -1 m1 <=> m3 #=> 1 m3 <=> m1 #=> -1 m2 <=> m2 #=> 0



189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
# File 'lib/rdoc/generator/latex_markup.rb', line 189

def <=>(other)
  return nil unless other.kind_of?(RDoc::AnyMethod)
  
  if type == "class" and other.type == "class" #RDoc uses strings, not symbols?
    name <=> other.name
  elsif type == "class" and other.type == "instance"
    -1
  elsif type == "instance" and other.type == "class"
      1
  elsif type == "instance" and other.type == "instance"
    name <=> other.name
  else #Shouldn’t be
    nil
  end
end