def add(size, content)
      raise ArgumentError.new("Bin size must be greater than zero") if size <= 0

      @elements << {:size => size.to_i, :content => content}
      @needs_packing = true
    end
def add(size, content)
      raise ArgumentError.new("Bin size must be greater than zero") if size <= 0

      @elements << {:size => size.to_i, :content => content}
      @needs_packing = true
    end
Uses a fixed number of bins (total_bins).

 Options:
 :algorithm        specify a different bin packing algorithm (default :best_fit_decreasing)
                   available algorithms are :best_fit_decreasing, :best_fit_increasing

 :shuffle_in_col   after packing columns, shuffle the elements in each column (defaults to true)

 Adds element to be packed.