Skip to content

Releases: annkissam/rummage_ecto

Pre-release for 2.0

05 Sep 00:57
Compare
Choose a tag to compare
Pre-release for 2.0 Pre-release
Pre-release

Version 2.0.0-rc.0

  • Change in namespace/module names:

    • Replace Rummage.Ecto.Hooks with Rummage.Ecto.Hook.
    • Replace Rummage.Ecto.CustomHooks with Rummage.Ecto.CustomHook.
  • 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

03 Jun 12:15
5267970
Compare
Choose a tag to compare
Pre-release

This Release has ways to abstract and override schema/rummage functionalities.

First Release Candidate for 1.3.0

09 Jan 19:24
79aca21
Compare
Choose a tag to compare
Pre-release

Revamped Rummage

  • Better Behaviour definition for Hooks.

    • Add __using__ macro, instead of using module_attribute @behviour.
    • Use better function names run/2 and format_params,
    • Use defoverridable for @behaviour callbacks.
  • Make Native hooks more generalized instead of targeted for phoenix.

    • Use atoms over strings for keys in maps and params.
    • Keep hooks more agnostic of configurations.
    • Make Rummage.Ecto delegate configurations to hooks.
  • 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.
  • App specific configurations.

    • config :appname, Rummage.Ecto ..... instead of config: :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 and not_where queries.
    • Defaults to where.
  • Search hook has search_type : is_null

    • This allows for searching for NULL or NOT NULL
  • 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.
  • 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

20 Mar 23:56
Compare
Choose a tag to compare

Changes to Rummage as whole:

  • This release is to illustrate the actual behavior of Rummage, which is functional:

    • Instead of EctoSchema.rummage(query, rummage), call Rummage.Ecto.rummage(query, rummage)
  • Default Hooks can handle any number of associations.

Changes to complexity:

  • Hooks are more independent of each other due to a newly introduced before_hook feature. This
    allows us to format rummage_params based on what a hook is expecting and keep the code clean.

In Progress:

  • A CustomHook with key-set pagination based on this link.

Better search and sort features

05 Mar 18:44
Compare
Choose a tag to compare
  • 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)

16 Feb 23:35
Compare
Choose a tag to compare

First working version

13 Feb 05:27
Compare
Choose a tag to compare

Fully configurable.
The hooks are independent, yet work well on top of each other.