Sha256: 6a106da3d7b406ff277dd2906fa602bb071faa7ba87f703094b02e576316bee6
Contents?: true
Size: 623 Bytes
Versions: 26
Compression:
Stored size: 623 Bytes
Contents
# rubocop:disable Style/Not class Simple::SQL::Connection::Scope # Set pagination def paginate(per:, page:) duplicate.send(:paginate!, per: per, page: page) end # Is this a paginated scope? def paginated? not @per.nil? end private def paginate!(per:, page:) @per = per @page = page self end def apply_pagination(sql, pagination:) return sql unless pagination == :auto && @per && @page raise ArgumentError, "per must be > 0" unless @per > 0 raise ArgumentError, "page must be > 0" unless @page > 0 "#{sql} LIMIT #{@per} OFFSET #{(@page - 1) * @per}" end end
Version data entries
26 entries across 26 versions & 1 rubygems