Newb in need - trying to subtract from an array? or table?

Here is my problem in english.

I have an INVOICE table which has orders with a quantity. I need to take those orders out and make new 12 pack boxes from the original invoice. For example:

Invoice 1 is an order for 3 widgets

Invoice 2 is an order for 12 widgets

Invoice 3 is an order for 6 widgets

What should happen is the 3 widgets from order one is combined with 9 widgets in order two to make a packing slip for 12 widgets. The remaining total is less that 12 so nothing happens with the rest. The transaction would need to be logged as weel but that is another issue.

I was initially planning on just turning every invoice into rows and the just grabbing the top 12 or with a do 12 times or whatever. That way I get only what I need. I am just wondering if there is a way without creating so many records in the database.

Thanks in advance!

brendan

you could combine the arrays of widgets into one array then use the rails helper in_groups_of to go through them

a = [1,2,3]

=> [1, 2, 3]

b = [4,5,6,7,8]

=> [4, 5, 6, 7, 8]

c = [9,10,11,12]

=> [9, 10, 11, 12]

n = a + b + c

=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]

n.in_groups_of(7)

=> [[1, 2, 3, 4, 5, 6, 7], [8, 9, 10, 11, 12, nil, nil]]