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
search(attribute: , search_string:)
click to toggle source
case sensitive or no?
# File lib/infienity/model.rb, line 30 def search(attribute: , search_string:) where("#{attribute} ILIKE ?", "%#{search_string}%") end