Sha256: 1965a984f0868c8dc42f718b1d439e04730a7c47d49c8509e7b53f4475727410
Contents?: true
Size: 620 Bytes
Versions: 24
Compression:
Stored size: 620 Bytes
Contents
# encoding: utf-8 # Singleton methods are defined here so zombie can pick them up module Mutant # Define instance of subclassed superclass as constant # # @param [Class] superclass # @param [Symbol] name # # @return [self] # # @api private # def self.singleton_subclass_instance(name, superclass, &block) klass = Class.new(superclass) do def inspect self.class.name end define_singleton_method(:name) do "#{superclass.name}::#{name}".freeze end end klass.class_eval(&block) superclass.const_set(name, klass.new) self end end # Mutant
Version data entries
24 entries across 24 versions & 1 rubygems