class Object # Set setter methods and/or vars using a hash (or assoc array). # # require 'facet/object/set_with' # def set_with(*args) if args.first.is_a?(Hash) #or args[0].is_a?(Array) iv_val_pairs = args.first else raise ArgumentError, "Hash required for assigning multiple variables" if args.length > 2 iv_val_pairs = { args[0] => args[1] } end iv_val_pairs.each_pair do |k,v| self.send( "#{k}=", v ) #if respond_to?("#{k}=") end end end