Class: CreamCheese::Knife

Inherits:
Object
  • Object
show all
Defined in:
lib/CreamCheese.rb

Class Method Summary collapse

Class Method Details

.spread(list, size = list.length, spacer = nil) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/CreamCheese.rb', line 3

def self.spread(list, size=list.length, spacer=nil)
  length = list.length
  spaces = size - length

  spaces_each = spaces / length
  spaces = spaces % length

  merge = []

  list.each_with_index do |item, i|
    if item != :SPREAD_SPACER
      spaces_this = spaces_each
      if spaces > 0
        spaces_this += 1
        spaces -= 1
      end
      (0..spaces_this-1).each do
        list.insert(i+1, :SPREAD_SPACER)
      end
    end
  end
  list.map {|item| item == :SPREAD_SPACER ? spacer : item}
end