Class: Gruf::Timer::Result

Inherits:
Object
  • Object
show all
Defined in:
lib/gruf/timer.rb

Overview

Represents a timer result that contains both the elapsed time and the result of the block

result = Timer.time { do_my_thing }
result.time # => 1.10123
result.result # => 'my_thing_is_done'

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(result, time) ⇒ Result

Initialize the result object

Parameters:

  • result (Object)

    The result of the block that was called

  • time (Float)

    The time, in ms, of the block execution



42
43
44
45
# File 'lib/gruf/timer.rb', line 42

def initialize(result, time)
  @result = result
  @time = time.to_f
end

Instance Attribute Details

#resultObject (readonly)

Returns result The result of the block that was called.

Returns:

  • (Object)

    result The result of the block that was called



32
33
34
# File 'lib/gruf/timer.rb', line 32

def result
  @result
end

#timeFloat (readonly)

Returns time The time, in ms, of the block execution.

Returns:

  • (Float)

    time The time, in ms, of the block execution



34
35
36
# File 'lib/gruf/timer.rb', line 34

def time
  @time
end

Instance Method Details

#success?Boolean

Was this result a successful result?

Returns:

  • (Boolean)

    Whether or not this result was a success



52
53
54
# File 'lib/gruf/timer.rb', line 52

def success?
  !result.is_a?(GRPC::BadStatus) && !result.is_a?(StandardError) && !result.is_a?(GRPC::Core::CallError)
end