Sha256: aa7da165bb5c9bfdca2b539b95196ff97b39e1d7b69d73b83370757164a0abe0
Contents?: true
Size: 826 Bytes
Versions: 1
Compression:
Stored size: 826 Bytes
Contents
class ActiveRecordOperationsProcessor < JSONAPI::OperationsProcessor private def transaction if @transactional ActiveRecord::Base.transaction do yield end else yield end end def rollback raise ActiveRecord::Rollback if @transactional end def process_operation(operation) operation.apply rescue ActiveRecord::DeleteRestrictionError => e record_locked_error = JSONAPI::Exceptions::RecordLocked.new(e.message) return JSONAPI::ErrorsOperationResult.new(record_locked_error.errors[0].code, record_locked_error.errors) rescue ActiveRecord::RecordNotFound record_not_found = JSONAPI::Exceptions::RecordNotFound.new(operation.associated_key) return JSONAPI::ErrorsOperationResult.new(record_not_found.errors[0].code, record_not_found.errors) end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
jsonapi-resources-0.4.2 | lib/jsonapi/active_record_operations_processor.rb |