v0.1.0
This release adds callbacks to resources based on ActiveSupport::Callbacks. See the README for more details.
This release breaks the existing callback scheme for JSONAPI:: OperationsProcessor. The old callbacks have been replaced with the callback system based on ActiveSupport::Callbacks.
Conversion should be simple. Here's an example. This:
class ApprovingOperationsProcessor < JSONAPI::ActiveRecordOperationsProcessor
def before_operation(context, operation)
operation.resource_klass.approve_operation(context, operation)
end
endwill need to be converted to this:
class ApprovingOperationsProcessor < JSONAPI::ActiveRecordOperationsProcessor
before_operation :approve_operation
def approve_operation
@operation.resource_klass.approve_operation(@context, @operation)
end
endA key difference is that the parameters are no longer passed in to the callback. Instead they are accessible as instance variables on the OperationsProcessor. You also have access to @result, @results, and @operations instance variables.
In addition there are callbacks for the set of operations as well as the individual operations. And all callbacks support before, after and around.