class FastJsonapi::MultiToJson::Result
Result
object pattern is from johnnunemaker.com/resilience-in-ruby/ e.g. github.com/github/github-ds/blob/fbda5389711edfb4c10b6c6bad19311dfcb1bac1/lib/github/result.rb
Public Class Methods
new(*rescued_exceptions) { || ... }
click to toggle source
# File lib/fast_jsonapi/multi_to_json.rb, line 16 def initialize(*rescued_exceptions) @rescued_exceptions = if rescued_exceptions.empty? [StandardError] else rescued_exceptions end @value = yield @error = nil rescue *rescued_exceptions => e @error = e end
Public Instance Methods
ok?()
click to toggle source
# File lib/fast_jsonapi/multi_to_json.rb, line 29 def ok? @error.nil? end
rescue() { |error| ... }
click to toggle source
# File lib/fast_jsonapi/multi_to_json.rb, line 41 def rescue return self if ok? Result.new(*@rescued_exceptions) { yield(@error) } end
value!()
click to toggle source
# File lib/fast_jsonapi/multi_to_json.rb, line 33 def value! if ok? @value else raise @error end end