Sha256: d50048e91310f8254f5a4fa96ada059be35b46312b8230f3275939b0b505b119

Contents?: true

Size: 791 Bytes

Versions: 37

Compression:

Stored size: 791 Bytes

Contents

module RailsDb
  module TablePagination
    DEFAULT_PAGINATION_PER_PAGE = 10

    def next_page
      current_page < total_pages ? (current_page + 1) : nil
    end

    def paginate(options = {})
      self.per_page     = (options[:per_page] || DEFAULT_PAGINATION_PER_PAGE).to_i
      self.current_page = (options[:page] || 1).to_i
      self.offset       = (current_page * per_page) - per_page
      self.sort_column  = options[:sort_column]
      self.sort_order   = options[:sort_order]
      table
    end

    def previous_page
      current_page > 1 ? (current_page - 1) : nil
    end

    def total_entries
      @total_entries ||= count
    end

    def total_pages
      total_entries.zero? ? 1 : (total_entries / per_page.to_f).ceil
    end

  end
end

Version data entries

37 entries across 37 versions & 1 rubygems

Version Path
rails_db-2.4.5 lib/rails_db/table_pagination.rb
rails_db-2.4.4 lib/rails_db/table_pagination.rb
rails_db-2.4.3 lib/rails_db/table_pagination.rb
rails_db-2.4.2 lib/rails_db/table_pagination.rb
rails_db-2.4.1 lib/rails_db/table_pagination.rb
rails_db-2.4.0 lib/rails_db/table_pagination.rb
rails_db-2.3.1 lib/rails_db/table_pagination.rb
rails_db-2.3.0 lib/rails_db/table_pagination.rb
rails_db-2.2.1 lib/rails_db/table_pagination.rb
rails_db-2.2.0 lib/rails_db/table_pagination.rb
rails_db-2.1.1 lib/rails_db/table_pagination.rb
rails_db-2.1.0 lib/rails_db/table_pagination.rb
rails_db-2.0.6 lib/rails_db/table_pagination.rb
rails_db-2.0.5 lib/rails_db/table_pagination.rb
rails_db-2.0.4 lib/rails_db/table_pagination.rb
rails_db-2.0.3 lib/rails_db/table_pagination.rb
rails_db-2.0.2 lib/rails_db/table_pagination.rb
rails_db-2.0.1 lib/rails_db/table_pagination.rb
rails_db-2.0.0 lib/rails_db/table_pagination.rb
rails_db-1.6.0 lib/rails_db/table_pagination.rb