From fa74ce05fdee3e38b2e321e9fa729c2ebba47e84 Mon Sep 17 00:00:00 2001 From: Adi Iyengar Date: Mon, 8 Oct 2018 15:48:04 -0400 Subject: [PATCH] Fix rummage params and queryable bug --- lib/rummage_ecto.ex | 9 +++++---- test/rummage_ecto_test.exs | 4 ++-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/lib/rummage_ecto.ex b/lib/rummage_ecto.ex index 18b3fb6..4da766f 100644 --- a/lib/rummage_ecto.ex +++ b/lib/rummage_ecto.ex @@ -157,10 +157,11 @@ defmodule Rummage.Ecto do sort: Keyword.get(opts, :sort, RConfig.sort()), paginate: Keyword.get(opts, :paginate, RConfig.paginate())] - rummage = - Enum.reduce(hooks, rummage, &format_hook_params(&1, &2, queryable, opts)) - - {Enum.reduce(hooks, queryable, &run_hook(&1, &2, rummage)), rummage} + Enum.reduce(hooks, {queryable, rummage}, fn(hook, {queryable, rummage}) -> + rummage = format_hook_params(hook, rummage, queryable, opts) + queryable = run_hook(hook, queryable, rummage) + {queryable, rummage} + end) end defp format_hook_params({_, nil}, rummage, _, _), do: rummage diff --git a/test/rummage_ecto_test.exs b/test/rummage_ecto_test.exs index 48da562..6643df7 100644 --- a/test/rummage_ecto_test.exs +++ b/test/rummage_ecto_test.exs @@ -234,7 +234,7 @@ defmodule Rummage.EctoTest do search: %{price: %{search_type: :lteq, search_term: 10, assoc: [], search_expr: :where}}, sort: %{field: :name, order: :asc, assoc: []}, - paginate: %{per_page: 2, page: 2, max_page: 4, total_count: 8}, + paginate: %{per_page: 2, page: 2, max_page: 1, total_count: 2}, } end @@ -263,7 +263,7 @@ defmodule Rummage.EctoTest do search: %{name: %{assoc: [inner: :category], search_term: "1", search_type: :like, search_expr: :where}}, sort: %{field: :name, order: :asc, assoc: [inner: :category]}, - paginate: %{per_page: 2, page: 1, max_page: 4, total_count: 8} + paginate: %{per_page: 2, page: 1, max_page: 1, total_count: 2} } end