Sha256: 31904460eec58b2d0ec0ff0cf33951abafdf480a4bdfd90666faff434766ca79

Contents?: true

Size: 477 Bytes

Versions: 18

Compression:

Stored size: 477 Bytes

Contents

module Kabutops

  module Extensions

    # inspired by ActiveSupport::Concern

    module Includable
      def append_features(base)
        super
        base.extend const_get(:ClassMethods) if const_defined?(:ClassMethods)
        base.class_eval(&@_included) if instance_variable_defined?(:@_included)
      end

      def included(base = nil, &block)
        if base.nil?
          @_included = block
        else
          super
        end
      end
    end

  end

end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
kabutops-0.3.0 lib/kabutops/extensions/includable.rb
kabutops-0.2.0 lib/kabutops/extensions/includable.rb
kabutops-0.1.7 lib/kabutops/extensions/includable.rb
kabutops-0.1.6 lib/kabutops/extensions/includable.rb
kabutops-0.1.5 lib/kabutops/extensions/includable.rb
kabutops-0.1.4 lib/kabutops/extensions/includable.rb
kabutops-0.1.3 lib/kabutops/extensions/includable.rb
kabutops-0.1.2 lib/kabutops/extensions/includable.rb
kabutops-0.1.1 lib/kabutops/extensions/includable.rb
kabutops-0.1.0 lib/kabutops/extensions/includable.rb
kabutops-0.0.15 lib/kabutops/extensions/includable.rb
kabutops-0.0.14 lib/kabutops/extensions/includable.rb
kabutops-0.0.13 lib/kabutops/extensions/includable.rb
kabutops-0.0.12 lib/kabutops/extensions/includable.rb
kabutops-0.0.11 lib/kabutops/extensions/includable.rb
kabutops-0.0.10 lib/kabutops/extensions/includable.rb
kabutops-0.0.9 lib/kabutops/extensions/includable.rb
kabutops-0.0.8 lib/kabutops/extensions/includable.rb