class Micro::Service::Result
Attributes
type[R]
value[R]
Public Instance Methods
__set__(is_success, value, type, service)
click to toggle source
# File lib/micro/service/result.rb, line 8 def __set__(is_success, value, type, service) raise Error::InvalidResultType unless type.is_a?(Symbol) raise Error::InvalidService if !is_success && !is_a_service?(service) @success, @value, @type, @service = is_success, value, type, service self end
failure?()
click to toggle source
# File lib/micro/service/result.rb, line 21 def failure? !success? end
on_failure(arg = nil) { |value, service| ... }
click to toggle source
# File lib/micro/service/result.rb, line 35 def on_failure(arg = nil) self.tap{ yield(value, @service) if failure_type?(arg) } end
on_success(arg = nil) { |value| ... }
click to toggle source
# File lib/micro/service/result.rb, line 31 def on_success(arg = nil) self.tap { yield(value) if success_type?(arg) } end
service()
click to toggle source
# File lib/micro/service/result.rb, line 25 def service return @service if failure? raise Error::InvalidAccessToTheServiceObject end
success?()
click to toggle source
# File lib/micro/service/result.rb, line 17 def success? @success end
Private Instance Methods
failure_type?(arg)
click to toggle source
# File lib/micro/service/result.rb, line 45 def failure_type?(arg) failure? && (arg.nil? || arg == type) end
is_a_service?(arg)
click to toggle source
# File lib/micro/service/result.rb, line 49 def is_a_service?(arg) (arg.is_a?(Class) && arg < Service::Base) || arg.is_a?(Service::Base) end
success_type?(arg)
click to toggle source
# File lib/micro/service/result.rb, line 41 def success_type?(arg) success? && (arg.nil? || arg == type) end