Class: Timert::Duration

Inherits:
Object
  • Object
show all
Defined in:
lib/timert/duration.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(duration) ⇒ Duration

Returns a new instance of Duration.



5
6
7
8
9
10
# File 'lib/timert/duration.rb', line 5

def initialize(duration)
  @hours = duration / 3600
  @minutes = (duration % 3600) / 60
  @seconds = duration % 60
  @value = duration
end

Instance Attribute Details

#hoursObject (readonly)

Returns the value of attribute hours.



3
4
5
# File 'lib/timert/duration.rb', line 3

def hours
  @hours
end

#minutesObject (readonly)

Returns the value of attribute minutes.



3
4
5
# File 'lib/timert/duration.rb', line 3

def minutes
  @minutes
end

#secondsObject (readonly)

Returns the value of attribute seconds.



3
4
5
# File 'lib/timert/duration.rb', line 3

def seconds
  @seconds
end

#valueObject (readonly)

Returns the value of attribute value.



3
4
5
# File 'lib/timert/duration.rb', line 3

def value
  @value
end

Class Method Details

.from(hours, minutes, seconds) ⇒ Object



12
13
14
# File 'lib/timert/duration.rb', line 12

def self.from(hours, minutes, seconds)
  Duration.new(hours * 3600 + minutes * 60 + seconds)
end

Instance Method Details

#roundObject



16
17
18
# File 'lib/timert/duration.rb', line 16

def round
  ((value / 1800.0).round / 2.0).to_s
end

#to_sObject



20
21
22
# File 'lib/timert/duration.rb', line 20

def to_s
  "#{hours}h #{minutes}min #{seconds}sec"
end