Sha256: d5e9bfcb350c33d95ff509742a22365bc6f5ce8824d0cf201fc1c1cb27462dc7

Contents?: true

Size: 589 Bytes

Versions: 1

Compression:

Stored size: 589 Bytes

Contents

# frozen_string_literal: true

require 'magic/core_ext'

module Magic # :nodoc:
	module CoreExt # :nodoc:
		module Kernel
			# Some classes copy Kernel methods on initialization instead of
			# including Kernel itself. Thus, new methods should be defined
			# explicitly for them.
			MODULES = [ # classes/modules including Kernel methods
					::Kernel,
					(Delegator if defined? Delegator),
			].compact.freeze
		end

		module_function

		def kernel(&)
			Module.new(&).tap do |kernel|
				Kernel::MODULES.each { _1.include kernel }
			end
		end
	end

	CoreExt.require_all __FILE__
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
magic-support-0.1.0 lib/magic/core_ext/kernel.rb