Sha256: 92f3bd1e0561b804e410e557614f37b1938098f549c41658f23d59952e070270

Contents?: true

Size: 778 Bytes

Versions: 7

Compression:

Stored size: 778 Bytes

Contents

# WillPaginateSearch
# Copyright (c) 2007 - 2011 Douglas F Shearer.
# http://douglasfshearer.com

module ActsAsIndexed

   module WillPaginate

     module Search

      def paginate_search(query, options)
        page, per_page, total_entries = wp_parse_options(options)

        total_entries ||= find_with_index(query,{},{:ids_only => true}).size

        returning ::WillPaginate::Collection.new(page, per_page, total_entries) do |pager|
          options.update :offset => pager.offset, :limit => pager.per_page

          options = options.delete_if {|key, value| [:page, :per_page].include?(key) }

          pager.replace find_with_index(query, options)
        end
      end

    end
  end
end

class ActiveRecord::Base
  extend ActsAsIndexed::WillPaginate::Search
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
acts_as_indexed-0.7.7 lib/will_paginate_search.rb
acts_as_indexed-0.7.6 lib/will_paginate_search.rb
acts_as_indexed-0.7.5 lib/will_paginate_search.rb
acts_as_indexed-0.7.3 lib/will_paginate_search.rb
acts_as_indexed-0.7.2 lib/will_paginate_search.rb
acts_as_indexed-0.7.1 lib/will_paginate_search.rb
acts_as_indexed-0.7.0 lib/will_paginate_search.rb