Releases: annkissam/rummage_ecto
Pre-release for 2.0
Version 2.0.0-rc.0
-
Change in namespace/module names:
- Replace
Rummage.Ecto.HookswithRummage.Ecto.Hook. - Replace
Rummage.Ecto.CustomHookswithRummage.Ecto.CustomHook.
- Replace
-
Introducing
Rummage.Ecto.Schema: -
Changes to
Rummage.Ecto.Hook.Search: -
Changes to
Rummage.Ecto.Hook.Sort: -
Changes to
Rummage.Ecto.Hook.Paginate: -
Changes in Configurations:
Release Candidate with Schema
This Release has ways to abstract and override schema/rummage functionalities.
First Release Candidate for 1.3.0
Revamped Rummage
-
Better Behaviour definition for Hooks.
- Add
__using__macro, instead of using module_attribute@behviour. - Use better function names
run/2andformat_params, - Use
defoverridablefor@behaviourcallbacks.
- Add
-
Make Native hooks more generalized instead of targeted for
phoenix.- Use
atomsoverstringsfor 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__/1macro.- This allows
rummage_ectoto 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_whereandnot_wherequeries. - Defaults to
where.
- This allows usage of
-
Search hook has
search_type:is_null- This allows for searching for
NULLorNOT NULL
- This allows for searching for
-
Tested/Examples with different
field_types,boolean,float,stringetc. -
Paginate hook works with or without a
primary_key:- the default paginate hook used to work only for Schemas with
idas 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.
More Functional
Changes to Rummage as whole:
-
This release is to illustrate the actual behavior of Rummage, which is functional:
- Instead of
EctoSchema.rummage(query, rummage), callRummage.Ecto.rummage(query, rummage)
- Instead of
-
Default
Hookscan handle any number of associations.
Changes to complexity:
Hooksare more independent of each other due to a newly introducedbefore_hookfeature. This
allows us to formatrummage_paramsbased on what a hook is expecting and keep the code clean.
In Progress:
- A
CustomHookwithkey-setpagination based on this link.
Better search and sort features
- Fully tested
- Added associations sort feature
- Added association search feature
- Added like, case-insensitive like, greater than, less than, equals etc features to search hooks
- Added examples of custom hooks
0.6.0 (Fully functioning with Rummage.Phoenix)
Has Rummage.Phoenix support
First working version
Fully configurable.
The hooks are independent, yet work well on top of each other.