First Release Candidate for 1.3.0
Pre-release
Pre-release
·
111 commits
to master
since this release
Revamped Rummage
-
Better Behaviour definition for Hooks.
- Add
__using__
macro, instead of using module_attribute@behviour
. - Use better function names
run/2
andformat_params
, - Use
defoverridable
for@behaviour
callbacks.
- Add
-
Make Native hooks more generalized instead of targeted for
phoenix
.- Use
atoms
overstrings
for keys in maps and params. - Keep hooks more agnostic of configurations.
- Make Rummage.Ecto delegate configurations to hooks.
- Use
-
The return of
Rummage.Ecto.__using__/1
macro.- This allows
rummage_ecto
to resolve configurations at compile time. - This allows better/easier usage of
Rummage.Ecto
.
- This allows
-
App specific configurations.
config :appname, Rummage.Ecto .....
instead ofconfig: :rummage_ecto, Rummage.Ecto
.- This allows using rummage with two different apps in an umbrella app with different rummage configurations.
- These configurations are loaded with the help of
__using__
macro, based on the application the module belongs to.
-
Search hook has
search_expr
.- This allows usage of
or_where
andnot_where
queries. - Defaults to
where
.
- This allows usage of
-
Search hook has
search_type
:is_null
- This allows for searching for
NULL
orNOT NULL
- This allows for searching for
-
Tested/Examples with different
field_types
,boolean
,float
,string
etc. -
Paginate hook works with or without a
primary_key
:- the default paginate hook used to work only for Schemas with
id
as primary keys, now it works for all and even Schemas without a primary key.
- the default paginate hook used to work only for Schemas with
-
Keyset Pagination CustomHook.
- Adds faster/lighter weight pagination option.
- Documentation specifies when to use it and when not to.
-
SimpleSort and SimpleSearch CustomHook updates.
- Same as sort and search, but without associations, so cleaner and faster.
-
Better documentation.
- Search and Sort associations are better documented.
- CustomHooks are better documented.