drewolson / scrivener

Pagination for the Elixir ecosystem

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

calling Repo.paginate with `page_number` option always give page_number of 1

dallincrane opened this issue · comments

Because of this code here

  def new(module, defaults, options) do
    options = normalize_options(options)
    page_number = options["page"] |> to_int(1)

    %Scrivener.Config{
      caller: Map.get(options, "caller", self()),
      module: module,
      options: merged_options(defaults, options),
      page_number: page_number,
      page_size: page_size(defaults, options)
    }
  end

When something like Repo.paginate(query, page_number: 2) is called it is always overridden by options["page"] |> to_int(1) to be 1. Given that :page_number is a key on the %Scrivener.Config{} struct and :page is not this is super confusing and not easily noticeable.