Sha256: 9c0a9186962fec53ff28bf510afe59bf05e7fa267c1dbbd685e162fd351dcce0
Contents?: true
Size: 599 Bytes
Versions: 3
Compression:
Stored size: 599 Bytes
Contents
class Class # Creates a subclass of the current class parametrized with a given set of # parameters. The parameters have form { symbol: value } and they cause # singleton method(s) named "symbol" be defined on the subclass, returning # "value". # def parametrize **parameters, &block Class.new( self ).tap do |subclass| parameters.each_pair { |symbol, value| subclass.define_singleton_method symbol do value end } subclass.define_singleton_method inspect do subclass.superclass.inspect + "<" end subclass.class_exec &block if block end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
y_support-2.1.16 | lib/y_support/core_ext/class/misc.rb |
y_support-2.1.13 | lib/y_support/core_ext/class/misc.rb |
y_support-2.1.12 | lib/y_support/core_ext/class/misc.rb |