module MoreMath::RankingCommon

def each # :yields: perm

:yields: perm
The mixed in methods from the Enumerable module rely on this method.

step.
yielding to a freshly created instance for every iteration
last (rank == #last) ranked instance while
first (rank == 0) ranked instance and ending with the
Iterates over all instances starting with the
def each # :yields: perm
  0.upto(last) do |r|
    klon = clone
    klon.rank = r
    yield klon
  end
  self
end