Sha256: ecad307e98171cb011cfd77498d9531aa5261059974b92311d622b495d31ecaf
Contents?: true
Size: 710 Bytes
Versions: 11
Compression:
Stored size: 710 Bytes
Contents
module Erector module AfterInitialize def self.included(base) base.extend ClassMethods end module ClassMethods def after_initialize(instance=nil, &blk) if blk after_initialize_parts << blk elsif instance if superclass.respond_to?(:after_initialize) superclass.after_initialize instance end after_initialize_parts.each do |part| instance.instance_eval &part end else raise ArgumentError, "You must provide either an instance or a block" end end protected def after_initialize_parts @after_initialize_parts ||= [] end end end end
Version data entries
11 entries across 11 versions & 1 rubygems