Class: Micro::Service::Result

Inherits:
Object
  • Object
show all
Defined in:
lib/micro/service/result.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#typeObject (readonly)

Returns the value of attribute type.



6
7
8
# File 'lib/micro/service/result.rb', line 6

def type
  @type
end

#valueObject (readonly)

Returns the value of attribute value.



6
7
8
# File 'lib/micro/service/result.rb', line 6

def value
  @value
end

Instance Method Details

#__set__(is_success, value, type, service) ⇒ Object



8
9
10
11
12
13
14
15
# 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?Boolean

Returns:

  • (Boolean)


21
22
23
# File 'lib/micro/service/result.rb', line 21

def failure?
  !success?
end

#on_failure(arg = nil) ⇒ Object



35
36
37
# 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) ⇒ Object



31
32
33
# File 'lib/micro/service/result.rb', line 31

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

#serviceObject



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

def service
  return @service if failure?

  raise Error::InvalidAccessToTheServiceObject
end

#success?Boolean

Returns:

  • (Boolean)


17
18
19
# File 'lib/micro/service/result.rb', line 17

def success?
  @success
end