Skip to content

Instantly share code, notes, and snippets.

@laurenkruczyk
Created March 3, 2014 20:48
Show Gist options
  • Save laurenkruczyk/9334333 to your computer and use it in GitHub Desktop.
Save laurenkruczyk/9334333 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
def empty?
if @capacity==0
false
else
true
end
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)
puts whiteboard.contents
puts whiteboard.contents.length
puts whiteboard.erase
puts whiteboard.contents.length
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment