Class: Cucumber::Core::Test::Result::Duration

Inherits:
Object
  • Object
show all
Includes:
Messages::Helpers::TimeConversion
Defined in:
lib/cucumber/core/test/result.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(nanoseconds) ⇒ Duration

Returns a new instance of Duration.



431
432
433
# File 'lib/cucumber/core/test/result.rb', line 431

def initialize(nanoseconds)
  @nanoseconds = nanoseconds
end

Instance Attribute Details

#nanosecondsObject (readonly)

Returns the value of attribute nanoseconds.



429
430
431
# File 'lib/cucumber/core/test/result.rb', line 429

def nanoseconds
  @nanoseconds
end

Instance Method Details

#seconds_to_duration(seconds_float) ⇒ Object



440
441
442
443
444
# File 'lib/cucumber/core/test/result.rb', line 440

def seconds_to_duration(seconds_float)
  seconds, second_modulus = seconds_float.divmod(1)
  nanos = second_modulus * NANOSECONDS_PER_SECOND
  { seconds: seconds, nanos: nanos.to_i }
end

#to_message_durationObject



435
436
437
438
# File 'lib/cucumber/core/test/result.rb', line 435

def to_message_duration
  duration_hash = seconds_to_duration(nanoseconds.to_f / NANOSECONDS_PER_SECOND)
  Cucumber::Messages::Duration.new(seconds: duration_hash[:seconds], nanos: duration_hash[:nanos])
end