Sha256: 1b1515465938bee07717970cd476df68bb4d51e4fdbdbbe43cdef5ea7fe2ea8b
Contents?: true
Size: 681 Bytes
Versions: 21
Compression:
Stored size: 681 Bytes
Contents
module Ecoportal module API module Common module BaseClass def class_resolver(name, klass) define_singleton_method(name) { resolve_class(klass) } define_method(name) { self.class.resolve_class(klass) } end def resolve_class(klass) @resolved ||= {} @resolved[klass] ||= case klass when Class klass when String Kernel.const_get(klass) when Symbol resolve_class(self.send(klass)) else raise "Unknown class: #{klass}" end end end end end end
Version data entries
21 entries across 21 versions & 1 rubygems