Class: Lemans::Result::Phase
- Inherits:
-
Object
- Object
- Lemans::Result::Phase
- Defined in:
- lib/lemans/result.rb
Overview
:nodoc:
Instance Attribute Summary collapse
-
#finished_at ⇒ Object
(also: #finished?)
readonly
Returns the value of attribute finished_at.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#started_at ⇒ Object
readonly
Returns the value of attribute started_at.
Class Method Summary collapse
Instance Method Summary collapse
- #as_json ⇒ Object
- #finish!(time = nil) ⇒ Object
-
#initialize(name, started_at: nil, finished_at: nil) ⇒ Phase
constructor
A new instance of Phase.
Constructor Details
#initialize(name, started_at: nil, finished_at: nil) ⇒ Phase
Returns a new instance of Phase.
88 89 90 91 92 |
# File 'lib/lemans/result.rb', line 88 def initialize(name, started_at: nil, finished_at: nil) @name = name.to_sym @started_at = started_at || Time.now.utc @finished_at = finished_at end |
Instance Attribute Details
#finished_at ⇒ Object (readonly) Also known as: finished?
Returns the value of attribute finished_at.
84 85 86 |
# File 'lib/lemans/result.rb', line 84 def finished_at @finished_at end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
84 85 86 |
# File 'lib/lemans/result.rb', line 84 def name @name end |
#started_at ⇒ Object (readonly)
Returns the value of attribute started_at.
84 85 86 |
# File 'lib/lemans/result.rb', line 84 def started_at @started_at end |
Class Method Details
.from_json(data) ⇒ Object
106 107 108 109 110 111 112 113 |
# File 'lib/lemans/result.rb', line 106 def self.from_json(data) name, started_at_str, finished_at_str = data.values_at(:name, :started_at, :finished_at) started_at = Time.parse(started_at_str) if started_at_str finished_at = Time.parse(finished_at_str) if finished_at_str new(name, started_at:, finished_at:) end |
Instance Method Details
#as_json ⇒ Object
98 99 100 101 102 103 104 |
# File 'lib/lemans/result.rb', line 98 def as_json(**) { name:, started_at: started_at.iso8601(6), finished_at: finished_at&.iso8601(6) } end |
#finish!(time = nil) ⇒ Object
94 95 96 |
# File 'lib/lemans/result.rb', line 94 def finish!(time = nil) @finished_at = time || Time.now.utc end |