module Typingpool::Utility::Castable::ClassMethods

Public Instance Methods

inherited(subklass) click to toggle source
# File lib/typingpool/utility/castable.rb, line 42
def inherited(subklass)
  subklasses[subklass.to_s.split("#{self.name}::").last.downcase.gsub(/::/, '_')] = subklass
end
relative_klass(key) click to toggle source
# File lib/typingpool/utility/castable.rb, line 54
def relative_klass(key)
  if subklasses[key]
    subklasses[key]
  elsif self.superclass.respond_to? :relative_klass
    self.superclass.relative_klass(key)
  end
end
subklass(subklass_key) click to toggle source
# File lib/typingpool/utility/castable.rb, line 50
def subklass(subklass_key)
  subklasses[subklass_key]
end
subklasses() click to toggle source
# File lib/typingpool/utility/castable.rb, line 46
def subklasses
  @subklasses ||= {}
end