Class: Micro::Service::Result

Inherits:
Object
  • Object
show all
Defined in:
lib/micro/service/result.rb,
lib/micro/service/result/failure.rb,
lib/micro/service/result/helpers.rb,
lib/micro/service/result/success.rb

Direct Known Subclasses

Failure, Success

Defined Under Namespace

Modules: Helpers Classes: Failure, Success

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.[](value:, type: nil) ⇒ Object



19
20
21
# File 'lib/micro/service/result.rb', line 19

def self.[](value:, type: nil)
  new(value: value, type: Type[type])
end

Instance Method Details

#failure?Boolean

Returns:

  • (Boolean)


29
30
31
# File 'lib/micro/service/result.rb', line 29

def failure?
  !success?
end

#on_failure(arg = nil) ⇒ Object



37
38
39
# File 'lib/micro/service/result.rb', line 37

def on_failure(arg=nil)
  self.tap{ yield(value) if failure_type?(arg) }
end

#on_success(arg = nil) ⇒ Object



33
34
35
# File 'lib/micro/service/result.rb', line 33

def on_success(arg=nil)
  self.tap { yield(value) if success_type?(arg) }
end

#success?Boolean

Returns:

  • (Boolean)

Raises:

  • (NotImplementedError)


25
26
27
# File 'lib/micro/service/result.rb', line 25

def success?
  raise NotImplementedError
end