module Enumerable
Public Instance Methods
each_with_rank() { |number, rank| ... }
click to toggle source
# File lib/extension/enumerable.rb, line 2 def each_with_rank rank = 1 last_number = nil self.each_with_index do |number, index| if last_number != number rank = index + 1 last_number = number end yield [number, rank] end end
each_with_rank_by(symbol) { |object, rank| ... }
click to toggle source
# File lib/extension/enumerable.rb, line 14 def each_with_rank_by(symbol) rank = 1 last_number = nil self.each_with_index do |object, index| number = object.send(symbol) if last_number != number rank = index + 1 last_number = number end yield [object, rank] end end