class ServiceResult
Attributes
error[R]
Public Class Methods
error(err)
click to toggle source
# File lib/generators/service/install/templates/services/service_result.rb, line 59 def self.error(err) result = allocate result.instance_variable_set(:@error, err) result end
new() { || ... }
click to toggle source
# File lib/generators/service/install/templates/services/service_result.rb, line 6 def initialize @value = yield @error = nil rescue StandardError => e @error = e end
Public Instance Methods
ok?()
click to toggle source
# File lib/generators/service/install/templates/services/service_result.rb, line 55 def ok? !@error end
rescue() { |error| ... }
click to toggle source
# File lib/generators/service/install/templates/services/service_result.rb, line 32 def rescue return self if ok? result = yield(@error) raise TypeError, 'block invoked in Result#rescue did not return Result' unless result.is_a?(Result) result end
then() { |value| ... }
click to toggle source
# File lib/generators/service/install/templates/services/service_result.rb, line 23 def then return self unless ok? result = yield(@value) raise TypeError, 'block invoked in Result#then did not return Result' unless result.is_a?(Result) result end
to_s()
click to toggle source
# File lib/generators/service/install/templates/services/service_result.rb, line 13 def to_s if ok? format('#<Result:0x%x value: %s>', object_id, @value.inspect) else format('#<Result:0x%x error: %s>', object_id, @error.inspect) end end
Also aliased as: inspect
value() { |error| ... }
click to toggle source
# File lib/generators/service/install/templates/services/service_result.rb, line 41 def value raise ArgumentError, 'must provide a block to Result#value to be invoked in case of error' unless block_given? return @value if ok? yield(@error) end
value!()
click to toggle source
# File lib/generators/service/install/templates/services/service_result.rb, line 49 def value! raise @error unless ok? @value end