Skip to content

Instantly share code, notes, and snippets.

@radavis
Created August 26, 2013 19:15
Show Gist options
  • Select an option

  • Save radavis/6345394 to your computer and use it in GitHub Desktop.

Select an option

Save radavis/6345394 to your computer and use it in GitHub Desktop.
class Whiteboard
attr_accessor :contents
def initialize(contents = [])
@contents = contents
end
def erase
@contents = []
end
end
class DryEraseMarker
attr_reader :color, :capacity
def initialize(color)
@color = color
@capacity = 100
end
INK_USE_PER_CHARACTER = 0.01
def write(contents, whiteboard)
@capacity = @capacity - (INK_USE_PER_CHARACTER * contents.length)
whiteboard.contents << contents
end
end
whiteboard = Whiteboard.new
black_marker = DryEraseMarker.new('black')
black_marker.write("Hello Launchers", whiteboard)
black_marker.write("My name is Slim Shady", whiteboard)
p black_marker
p whiteboard
whiteboard.erase
p whiteboard
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment