def zoom_in_by(factor)
raise ArgumentError, "Factor MUST be an Integer greater than or equal to 2!" unless factor.is_a?(Integer) && factor >= 2
number_of_rows = size
number_of_cols = first.size
bigger_grid = Array.new(number_of_rows * factor) { Array.new(number_of_cols * factor) }
each_with_index do |row, row_index|
row.each_with_index do |cell, col_index|
factor.times do |shift_row_index|
factor.times do |shift_col_index|
bigger_grid[(row_index * factor) + shift_row_index][(col_index * factor) + shift_col_index] = cell
end
end
end
end
bigger_grid
end