All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Pragma::Filter was moved to a separate pragma-filter project
- Pragma::Macro was moved to a separate pragma-macro project
- Pragma::Decorator::Error was moved to Pragma::Decorator
- CRUD operations were moved to a separate pragma-resource project
- Expose
type
property for API errors - Expanded associations are now eager-loaded automatically
- Calling macros whose support classes are undefined will now raise a
MissingSkillError
- Fixed computation of classes for nested operations
- Implemented
Boolean
scope - Added support for additional policy context via
policy.context
- Added support for different capitalizations of API namespace
- Fixed an issue where each filter would override the previous one
- Added support for Kaminari in
Pagination
macro
- Dropped runtime dependency on will_paginate
- Fixed constant loading in Ruby 2.5
- Added ability to order by an association column
- Implemented the
action
option for thePolicy
macro - Implemented the
Where
filter - Implemented the
Scope
filter
- Pipetrees have been normalized to use strings and no exclamation marks
- Move macros to
Pragma::Macro
namespace and provide BC-compatibility - Default name of
Contract::Build
steps is nowcontract.[name].build
- Default name of
Contract::Persist
steps is nowcontract.[name].[method]
- Fixed handling of validation errors in
Contract::Validate
- Fixed handling of validation errors in
Contract::Persist
- Fixed root-level model class computation
- Implemented
expand.limit
andexpand.enabled
- Implemented the
Ordering
macro - Implemented the
Filtering
macro
- Fixed automatic lookup of nested model classes
First Pragma 2 release.