Sha256: c62313769572f783dde515df3c4e73d0184e8b80d7cde5bff9ec71171904bf09
Contents?: true
Size: 595 Bytes
Versions: 2
Compression:
Stored size: 595 Bytes
Contents
# frozen_string_literal: true # TODO: add tests module Ringu module Resolver extend self def create(deps) Module.new do define_method(:deps) { deps } def self.included(klass) klass.extend ClassMethods end end end module ClassMethods def resolve(name) define_method(name) do var_name = "@#{name}" return instance_variable_get(var_name) \ if instance_variable_defined?(var_name) instance_variable_set(var_name, deps.resolve(name)) end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ringu-0.1.1.pre.alpha | lib/ringu/resolver.rb |
ringu-0.1.0.pre.alpha | lib/ringu/resolver.rb |