Sha256: 9d3fa41956c1e24780f08463a8d723759500a35bc8038f814609ed123a2263e1

Contents?: true

Size: 702 Bytes

Versions: 396

Compression:

Stored size: 702 Bytes

Contents

class Clock

  @at: (hour, minute=0) =>
    new Clock(hour, minute)

  constructor: (@hour, @minute) ->

  toString:->
    "#{clean(@hour)}:#{clean(@minute)}"

  plus: (num) ->
    @minute += num
    while @minute > 59
      @hour += Math.floor(@minute / 60)
      @minute = @minute % 60
    while @hour > 23
      @hour = @hour % 24
    this

  minus: (num) ->
    @minute -= num
    while @minute < 0
      @minute = 60 + @minute
      @hour -= 1
    while @hour < 0
      @hour = 24 + @hour
    this

  equals: (otherClock) ->
    this.toString() == otherClock.toString()

  clean = (num) ->
    str = num.toString()
    if str.length < 2
      '0' + str
    else
      str


module.exports = Clock

Version data entries

396 entries across 396 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/coffeescript/exercises/clock/example.coffee
trackler-2.2.1.179 tracks/coffeescript/exercises/clock/example.coffee
trackler-2.2.1.178 tracks/coffeescript/exercises/clock/example.coffee
trackler-2.2.1.177 tracks/coffeescript/exercises/clock/example.coffee
trackler-2.2.1.176 tracks/coffeescript/exercises/clock/example.coffee
trackler-2.2.1.175 tracks/coffeescript/exercises/clock/example.coffee
trackler-2.2.1.174 tracks/coffeescript/exercises/clock/example.coffee
trackler-2.2.1.173 tracks/coffeescript/exercises/clock/example.coffee
trackler-2.2.1.172 tracks/coffeescript/exercises/clock/example.coffee
trackler-2.2.1.171 tracks/coffeescript/exercises/clock/example.coffee
trackler-2.2.1.170 tracks/coffeescript/exercises/clock/example.coffee
trackler-2.2.1.169 tracks/coffeescript/exercises/clock/example.coffee
trackler-2.2.1.167 tracks/coffeescript/exercises/clock/example.coffee
trackler-2.2.1.166 tracks/coffeescript/exercises/clock/example.coffee
trackler-2.2.1.165 tracks/coffeescript/exercises/clock/example.coffee
trackler-2.2.1.164 tracks/coffeescript/exercises/clock/example.coffee
trackler-2.2.1.163 tracks/coffeescript/exercises/clock/example.coffee
trackler-2.2.1.162 tracks/coffeescript/exercises/clock/example.coffee
trackler-2.2.1.161 tracks/coffeescript/exercises/clock/example.coffee
trackler-2.2.1.160 tracks/coffeescript/exercises/clock/example.coffee