Sha256: 123a342d1ad10024d4f07c193d401f12e6fce5be4c99b713c8a7ac2f38401e8e

Contents?: true

Size: 783 Bytes

Versions: 7

Compression:

Stored size: 783 Bytes

Contents

require 'bootstrap_pager/models/active_record_model_extension'

module BootstrapPager
  module ActiveRecordExtension
    extend ActiveSupport::Concern
    included do
      # Future subclasses will pick up the model extension
      class << self
        def inherited_with_bootstrap_pager(kls) #:nodoc:
          inherited_without_bootstrap_pager kls
          kls.send(:include, BootstrapPager::ActiveRecordModelExtension) if kls.superclass == ActiveRecord::Base
        end
        alias_method_chain :inherited, :bootstrap_pager
      end

      # Existing subclasses pick up the model extension as well
      self.descendants.each do |kls|
        kls.send(:include, BootstrapPager::ActiveRecordModelExtension) if kls.superclass == ActiveRecord::Base
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
bootstrap_pager-0.11.0 lib/bootstrap_pager/models/active_record_extension.rb
bootstrap_pager-0.10.1 lib/bootstrap_pager/models/active_record_extension.rb
bootstrap_pager-0.10.0 lib/bootstrap_pager/models/active_record_extension.rb
bootstrap_pager-0.9.3 lib/bootstrap_pager/models/active_record_extension.rb
bootstrap_pager-0.9.2 lib/bootstrap_pager/models/active_record_extension.rb
bootstrap_pager-0.9.1 lib/bootstrap_pager/models/active_record_extension.rb
bootstrap_pager-0.9.0 lib/bootstrap_pager/models/active_record_extension.rb