Sha256: f0535e14066b8de6201cdd3a1eeac2b7104814a8a24216de468cb0e3eb002712

Contents?: true

Size: 533 Bytes

Versions: 22

Compression:

Stored size: 533 Bytes

Contents

module Restly::ConcernedInheritance
  extend ActiveSupport::Concern

  included do
    extend ClassMethods

    class_attribute :inherited_callbacks
    self.inherited_callbacks = []

    inherited do
      self.inherited_callbacks = inherited_callbacks
    end

  end

  module ClassMethods

    private

    def inherited(subclass = nil, &block)
      self.inherited_callbacks << block and return if block_given?

      inherited_callbacks.each do |call_block|
        subclass.class_eval(&call_block)
      end
    end

  end

end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
restly-0.0.1.beta.10 lib/restly/concerned_inheritance.rb
restly-0.0.1.beta.9 lib/restly/concerned_inheritance.rb
restly-0.0.1.beta.6 lib/restly/concerned_inheritance.rb
restly-0.0.1.beta.5 lib/restly/concerned_inheritance.rb
restly-0.0.1.beta.4 lib/restly/concerned_inheritance.rb
restly-0.0.1.beta.3 lib/restly/concerned_inheritance.rb
restly-0.0.1.beta.2 lib/restly/concerned_inheritance.rb
restly-0.0.1.beta.1 lib/restly/concerned_inheritance.rb
restly-0.0.1.alpha.22 lib/restly/concerned_inheritance.rb
restly-0.0.1.alpha.19 lib/restly/concerned_inheritance.rb
restly-0.0.1.alpha.18 lib/restly/concerned_inheritance.rb
restly-0.0.1.alpha.16 lib/restly/concerned_inheritance.rb
restly-0.0.1.alpha.12 lib/restly/concerned_inheritance.rb
restly-0.0.1.alpha.11 lib/restly/concerned_inheritance.rb
restly-0.0.1.alpha.10 lib/restly/concerned_inheritance.rb
restly-0.0.1.alpha.9 lib/restly/concerned_inheritance.rb
restly-0.0.1.alpha.8 lib/restly/concerned_inheritance.rb
restly-0.0.1.alpha.7 lib/restly/concerned_inheritance.rb
restly-0.0.1.alpha.6 lib/restly/concerned_inheritance.rb
restly-0.0.1.alpha.4 lib/restly/concerned_inheritance.rb