cypriss/mutations

View on GitHub
CHANGELOG.md

Summary

Maintainability
Test Coverage
0.9.1
-----------
 - Treat blank strings as nil when `strip` and `empty_is_nil` options are set (#148, @saverio-kantox)
 - Don't use full key in nested error messages (#149, @eugeneius)
 - Don't remove unknown characters in string filter (#150, @eugeneius)

0.9.0
-----------
 - Retain `_id` suffix in error keys (#129, @khalilovcmd)
 - Add a symbol filter: `symbol :color, in: %i(red blue green)` (#119, @estraph)
 - Add `empty_is_nil` option to string filter (#135, @skylerwshaw)

0.8.3
-----------
 - Add `min_length` and `max_length` options to array filter (#128, @jwoertink)
 - Add `empty_is_nil` option to date filter (#122, @jamesacarr)
 - Respect `Mutations.cache_constants` in array filters (#125, @eugeneius)

0.8.2
-----------
 - Add `:error_key` filter option to allow error messages to be customised. (#115, @mwhatters)
 - Accept hash inputs that respond to `to_hash`. (#126, @antoniobg)

0.8.1
-----------
 - Ruby 2.4 support added

0.8.0
-----------
 - Add Time filter: ```time :start_time```
 - Remove unprintable characters from `string` by default.
 - Add bigdecimal and float as non-strict string input options
 - Additonal filters that are used in arrays can now have block arguments
 - Add `empty_is_nil` option to integer filter.

0.7.2
-----------

- Bug fix: discards_empty broke on non-strings. Fix that.

0.7.1
-----------

- Bug fix: If your optional filter discards_empty and strips, then discard whitespace.

0.7.0
-----------

- Ruby 2.1 support added.
- Ruby 1.8.7 support removed.
- Rubinius support updated.
- Gemfile.lock removed (Rails 4 support, etc)
- API change: Add ability to implement a 'validate' method
- ```discard_invalid``` option added
- AdditionFilters: Gain ability to pass blocks to filters.

0.6.0
-----------

- Add pluggable filters.
- Add ruby 1.8.7 support [#19]
- Add a date filter: ```date :start_date``` (/via @eliank and @geronimo)
- ```Mutations.cache_constants = false``` if you want to work in Rails dev mode which redefines constants. [#23]

0.5.12
-----------

- Added a duck filter: ```duck :lengthy, methods: :length``` to ensure all values respond_to? :length [#14]
- Added a file filter: ```file :data``` to ensure the data is a File-like object [#15]
- Allow raw_inputs to be used as method inside of execute to access the original data passed in. (@tomtaylor)
- integer filter now allows the ```in``` option. Eg: ```integer :http_code, in: (200, 404, 401)```   (/via @tomtaylor)
- Added a changelog. [#10]

0.5.11
-----------

- Float filter (@aq1018)
- Clean up public API + code (@blambeau)
- Model filters should lazily resolve their classes so that mocks can be used (@edwinv)
- Filtered inputs should be included in the Outcome
- Fix typos (@frodsan)

0.5.10 and earlier
-----------

- Initial versions