module Infienity::Model

Public Instance Methods

paginate(per_page: 10, start: 0, search: nil, sort: nil) click to toggle source
# File lib/infienity/model.rb, line 3
def paginate(per_page: 10, start: 0, search: nil, sort: nil)
  entry_assign = self

  if search.present? && search.key?(:attribute) && search.key?(:search_string)
    entry_assign = entry_assign.search(attribute: search[:attribute], search_string: search[:search_string])
  end

  if sort.present?
    entry_assign = entry_assign.order(sort[0] => sort[1])
  end

  #paginate
  entry_assign.limit(per_page.to_i).offset(start.to_i * per_page.to_i)
end
paginate_count(search: nil) click to toggle source
# File lib/infienity/model.rb, line 18
def paginate_count(search: nil)
  entry_assign = self
  if search.present?
    if search.key?(:attribute) && search.key?(:search_string)
      entry_assign = entry_assign.search(attribute: search[:attribute], search_string: search[:search_string])
    end
  end

  entry_assign.count
end