Class: GoDuration::Generator

Inherits:
Object
  • Object
show all
Defined in:
lib/go_duration/generator.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(seconds) ⇒ Generator

Returns a new instance of Generator.



5
6
7
# File 'lib/go_duration/generator.rb', line 5

def initialize(seconds)
  @seconds = seconds
end

Instance Attribute Details

#secondsObject (readonly)

Returns the value of attribute seconds.



3
4
5
# File 'lib/go_duration/generator.rb', line 3

def seconds
  @seconds
end

Instance Method Details

#to_sObject



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/go_duration/generator.rb', line 9

def to_s
  seconds_remaining = seconds

  minutes = seconds_remaining / 60
  seconds_remaining = seconds_remaining % 60

  hours = minutes / 60
  minutes = minutes % 60

  buffer = ""
  buffer.prepend "#{seconds_remaining.to_i}s" if seconds_remaining.nonzero?
  buffer.prepend "#{minutes.to_i}m" if minutes.nonzero?
  buffer.prepend "#{hours.to_i}h" if hours.nonzero?
  buffer = "0s" if buffer == ""
  buffer
end