Skip to content

Instantly share code, notes, and snippets.

@kangkyu
Last active September 27, 2015 01:33
Show Gist options
  • Save kangkyu/6ea744e1d2a575f8aae8 to your computer and use it in GitHub Desktop.
Save kangkyu/6ea744e1d2a575f8aae8 to your computer and use it in GitHub Desktop.
Warm-Up 09-21-15
# http://exercism.io/exercises/ruby/clock/readme
class Clock
def self.at(hours=0, minutes=0)
new(hours, minutes)
end
def initialize(hours=0, minutes=0)
array = minutes.divmod 60
@minutes = array[1]
@hours = array[0] + hours
end
def to_s
hour_string = @hours.to_s.rjust(2, "0")
minute_string = @minutes.to_s.rjust(2, "0")
"#{hour_string}:#{minute_string}"
end
def + minutes
@minutes += minutes
num, @minutes = @minutes.divmod 60
@hours = num + @hours
@hours = @hours % 24
self
end
def - minutes
@minutes -= minutes
num, @minutes = @minutes.divmod 60
@hours = num + @hours
@hours = @hours % 24
self
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment