module Sbuilder module Powerset # @see http://www.entish.org/wordpress/?p=676 def self.powerset( arr ) return arr.inject([[]]){|c,y|c.inject([]){|r,i|r+=[i,i+[y]]}} end end end