#------------------------------------------------------ # Integer.returns_many #====================================================== # # (c) 2007 Ben Vinegar (http://www.benlog.org) # # This work is distributed under an MIT License: # http://www.opensource.org/licenses/mit-license.php require 'rubygems' require 'active_support' def Integer.returns_many(type) klass = Kernel.const_get(type.singularize.capitalize) Integer.class_eval do define_method(type) do |*values| bucket = [] self.times do bucket << klass.new(values) end return bucket end end alias_method(type.singularize, type) return true end # Example usage: # # Integer.returns_many('apples') # => true # # 8.apples # => [ ... ]