Sha256: 21eaf9ba0aa8ebf8a63cd34c603ebb49557f3c3fd60d26e43742fc8de7b84049

Contents?: true

Size: 495 Bytes

Versions: 3

Compression:

Stored size: 495 Bytes

Contents

require "iolite/lazy"

module Iolite module Placeholders
	def args
		Lazy.new { |*args|
			args
		}
	end
	module_function :args

	def argument index
		Lazy.new { |*args|
			args[index-1]
		}
	end
	module_function :argument

	def prepare n
		1.upto(n).each { |i|
			const_set("ARG#{i}", argument(i))
			define_method("arg#{i}") do
				Placeholders.const_get("ARG#{i}")
			end
			module_function "arg#{i}"
			alias_method "_#{i}", "arg#{i}"
		}
	end
	module_function :prepare
	prepare(10)
end end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
iolite-0.0.3 lib/iolite/placeholders.rb
iolite-0.0.2 lib/iolite/placeholders.rb
iolite-0.0.1 lib/iolite/placeholders.rb