Module: Enumerable
- Defined in:
- lib/jocelyn/enumerable_methods.rb
Instance Method Summary collapse
Instance Method Details
#jostle(amount = 0.2) ⇒ Object
2 3 4 5 6 7 8 9 10 |
# File 'lib/jocelyn/enumerable_methods.rb', line 2 def jostle(amount = 0.2) raise ArgumentError, 'amount must be between 0 and 1' \ unless (0..1.0).cover?(amount) items = map.with_index(1) do |item, i| [item, (i * 1.0 / size) * (1.0 - amount) + rand * amount] end items.sort_by(&:last).map(&:first) end |