Sha256: 3002dccbf63dbddfa12339fb12d366846bd4a698ad43e224500014159eebb6e8

Contents?: true

Size: 912 Bytes

Versions: 7

Compression:

Stored size: 912 Bytes

Contents

require 'bootstrap_pager/models/mongoid_criteria_methods'

module BootstrapPager
  module MongoidExtension
    module Criteria
      extend ActiveSupport::Concern

      included do
        class_eval <<-RUBY, __FILE__, __LINE__ + 1
          def #{BootstrapPager.config.page_method_name}(*args)
            super(*args).criteria.merge(self)
          end
        RUBY
      end
    end

    module Document
      extend ActiveSupport::Concern
      include BootstrapPager::ConfigurationMethods

      included do
        # Fetch the values at the specified page number
        #   Model.page(5)
        scope BootstrapPager.config.page_method_name, Proc.new {|num|
          limit(default_per_page).offset(default_per_page * ([num.to_i, 1].max - 1))
        } do
          include BootstrapPager::MongoidCriteriaMethods
          include BootstrapPager::PageScopeMethods
        end
      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/mongoid_extension.rb
bootstrap_pager-0.10.1 lib/bootstrap_pager/models/mongoid_extension.rb
bootstrap_pager-0.10.0 lib/bootstrap_pager/models/mongoid_extension.rb
bootstrap_pager-0.9.3 lib/bootstrap_pager/models/mongoid_extension.rb
bootstrap_pager-0.9.2 lib/bootstrap_pager/models/mongoid_extension.rb
bootstrap_pager-0.9.1 lib/bootstrap_pager/models/mongoid_extension.rb
bootstrap_pager-0.9.0 lib/bootstrap_pager/models/mongoid_extension.rb