Down to 160, but with warnings:

def b
"#{N>0?N: 'No more'} bottle#{'s'if N!=1} of beer"end
(N=99).times{w=" on the wall";puts"#{b+w}, #{b}\nTake one down, pass it around\n";N-=1;puts(b+w+'.')}