# File lib/facets/core/kernel/set_with.rb, line 25 def set_with(*args) #:yield: harg = args.last.is_a?(Hash) ? args.pop : {} unless args.empty? # if not assoc array, eg. [ [], [], ... ] # preserves order of opertation unless args[0].is_a?(Array) i = 0; a = [] while i < args.size a << [ args[i], args[i+1] ] i += 2 end args = a end end args.each do |k,v| self.send( "#{k}=", v ) end harg.each do |k,v| self.send( "#{k}=", v ) end yield self if block_given? self end