Sha256: 9298c9ef92610ff8841cc8c4e2f89c34f404d4ab80ec8b5ba3b40c312cee8d1f
Contents?: true
Size: 697 Bytes
Versions: 4
Compression:
Stored size: 697 Bytes
Contents
# frozen_string_literal: true module Aid module Inheritable def self.included(klass) klass.instance_eval do extend ClassMethods def self.inherited(subklass) Aid::Script.script_classes << subklass end end end module ClassMethods def script_classes @script_classes ||= [] end def reset_script_classes! @scripts = nil @script_classes = [] end def scripts @scripts ||= load_scripts_deferred end def load_scripts_deferred script_classes.each_with_object({}) do |klass, result| result[klass.name] = klass end end end end end
Version data entries
4 entries across 4 versions & 2 rubygems
Version | Path |
---|---|
aid-0.2.2 | lib/aid/inheritable.rb |
abtion-aid-0.3.2 | lib/aid/inheritable.rb |
abtion-aid-0.3.1 | lib/aid/inheritable.rb |
abtion-aid-0.2.0 | lib/aid/inheritable.rb |