Class: MPS::Elements::Log
- Inherits:
-
Object
- Object
- MPS::Elements::Log
show all
- Includes:
- MPS::Element
- Defined in:
- lib/mps/elements/log.rb
Constant Summary
collapse
- SIGNATURE_STAMP =
"log"
- SIGNATURE_REGEX =
/\Alog\z/
MPS::Element::PADDING
Instance Attribute Summary
Attributes included from MPS::Element
#body_str, #disp_str, #parsed_args, #raw_args
Class Method Summary
collapse
Instance Method Summary
collapse
#display_str, #initialize, split_args, #tags
Class Method Details
.parse_args(raw) ⇒ Object
10
11
12
13
|
# File 'lib/mps/elements/log.rb', line 10
def self.parse_args(raw)
p = Element.split_args(raw)
{ tags: p[:tags], start: p[:attrs][:start], end: p[:attrs][:end] }
end
|
Instance Method Details
#duration_minutes ⇒ Object
15
16
17
18
19
20
21
22
|
# File 'lib/mps/elements/log.rb', line 15
def duration_minutes
s = parsed_args[:start]
e = parsed_args[:end]
return nil unless s && e
sh, sm = s.split(":").map(&:to_i)
eh, em = e.split(":").map(&:to_i)
(eh * 60 + em) - (sh * 60 + sm)
end
|
#duration_str ⇒ Object
24
25
26
27
28
29
|
# File 'lib/mps/elements/log.rb', line 24
def duration_str
mins = duration_minutes
return nil unless mins && mins > 0
h, m = mins.divmod(60)
m > 0 ? "#{h}h#{m}m" : "#{h}h"
end
|