class Activerecord::Transactionable::Result
Attributes
attempt[R]
context[R]
error[R]
nested[R]
result[R]
type[R]
value[R]
Public Class Methods
new(value, context:, transaction_open:, attempt:, error: nil, type: nil)
click to toggle source
# File lib/activerecord/transactionable/result.rb, line 5 def initialize(value, context:, transaction_open:, attempt:, error: nil, type: nil) @value = value @result = fail? ? 'fail' : 'success' @context = context @nested = transaction_open ? true : false @attempt = attempt @error = error @type = type end
Public Instance Methods
fail?()
click to toggle source
# File lib/activerecord/transactionable/result.rb, line 15 def fail? value == false end
success?()
click to toggle source
# File lib/activerecord/transactionable/result.rb, line 19 def success? value == true end
to_h(skip_error: nil)
click to toggle source
# File lib/activerecord/transactionable/result.rb, line 23 def to_h(skip_error: nil) diagnostic_data = { result: result, type: type, context: context, nested: nested, attempt: attempt, } diagnostic_data.merge!( error: error.class.to_s, message: error.message, ) if !skip_error && error diagnostic_data end
to_s(skip_error: nil)
click to toggle source
# File lib/activerecord/transactionable/result.rb, line 38 def to_s(skip_error: nil) to_h(skip_error: skip_error).to_s end