Sha256: b5c7b2986db4f3cbcb771aa37f63144fcbcfede2c77aac517afbd05fe0808814
Contents?: true
Size: 547 Bytes
Versions: 7
Compression:
Stored size: 547 Bytes
Contents
module Fiveruns::Dash module Typable def self.included(base) name = base.name.demodulize.underscore base.class_eval %{ def self.#{name}_type @#{name}_type ||= name.demodulize.underscore.sub(/_#{name}$/, '').to_sym end } base.extend ClassMethods end module ClassMethods def inherited(klass) types[klass.__send__("#{name.demodulize.underscore}_type")] = klass end def types @types ||= {} end end end end
Version data entries
7 entries across 7 versions & 1 rubygems