class Backframe::Service
Public Class Methods
build(*args)
click to toggle source
# File lib/backframe/service.rb, line 9 def build(*args) new(*args) end
perform(*args)
click to toggle source
# File lib/backframe/service.rb, line 13 def perform(*args) service = build(*args) message = nil errors = {} result = nil ActiveRecord::Base.transaction do begin result = service.perform rescue StandardError => e message = e.message # errors = e.errors service.before_rollback raise ActiveRecord::Rollback end service.before_commit end if message.nil? service.after_commit else service.after_rollback end return (message.present?) ? Result::Failure.new(message: message, errors: errors) : Result::Success.new(result) end
Public Instance Methods
after_commit()
click to toggle source
# File lib/backframe/service.rb, line 55 def after_commit end
after_rollback()
click to toggle source
# File lib/backframe/service.rb, line 49 def after_rollback end
before_commit()
click to toggle source
# File lib/backframe/service.rb, line 52 def before_commit end
before_rollback()
click to toggle source
# File lib/backframe/service.rb, line 46 def before_rollback end
perform()
click to toggle source
# File lib/backframe/service.rb, line 43 def perform end