Sha256: 2fc36aae1f94c7ff83d4042de0dc35a9817da129148ccbac35afcbd923ea44a8
Contents?: true
Size: 1019 Bytes
Versions: 4
Compression:
Stored size: 1019 Bytes
Contents
# frozen_string_literal: true require_relative '../operation' module LedgerSync module Domains class Operation class Update include LedgerSync::Domains::Operation::Mixin private def operate return failure('Resource not found') unless resource if resource.update(params.except(:id)) success else failure( 'Please review the problems below:', data: serialize(resource: resource) ) end end def resource @resource ||= resource_class.find_by(id: params[:id]) end def success super( serialize(resource: resource) ) end def failure(message, data: nil) super( LedgerSync::Error::OperationError.new( operation: self, message: message, response: data ) ) end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems