Sha256: de44f650380889ee8bbd0d916c2954ba509216ab3bedac7d1c6c00685cf7b8e9
Contents?: true
Size: 665 Bytes
Versions: 1
Compression:
Stored size: 665 Bytes
Contents
require "expand/version" module Expand class Manager def initialize(namespace) @managed = namespace end def create_module(name, &block) mod = Module.new(&block) @managed.const_set(name, mod) mod end def create_class(name, parent: Object, &block) klass = Class.new(parent, &block) @managed.const_set(name, klass) klass end end def namespace(context, &block) unless context.is_a?(Module) context = context.to_s.split('::').inject(Object) do |base, mod| base.const_get(mod) end end Manager.new(context).instance_eval(&block) end alias expand namespace end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
expand-1.0.1 | lib/expand.rb |