diff options
| -rw-r--r-- | lib/rover.rb | 19 | ||||
| -rw-r--r-- | spec/rover_specs.rb | 3 |
2 files changed, 8 insertions, 14 deletions
diff --git a/lib/rover.rb b/lib/rover.rb index 90d7757..8b992e9 100644 --- a/lib/rover.rb +++ b/lib/rover.rb @@ -1,11 +1,11 @@ class Rover attr_reader :location def initialize(heading, coordinates) - @heading = Direction.find(heading) + @heading = heading @location = coordinates end def heading - @heading.direction + @heading.to_sym end def turn_right @heading = @heading.turn_right @@ -19,7 +19,7 @@ class Rover end class North - def direction + def to_sym :north end def turn_right @@ -33,7 +33,7 @@ class North end end class East - def direction + def to_sym :east end def turn_right @@ -47,7 +47,7 @@ class East end end class West - def direction + def to_sym :west end def turn_right @@ -61,7 +61,7 @@ class West end end class South - def direction + def to_sym :south end def turn_right @@ -74,10 +74,3 @@ class South current_location[:y] = current_location[:y]-1 end end - -class Direction - @@directions = {:north => North.new, :east => East.new, :west => West.new, :south => South.new} - def self.find(heading) - @@directions[heading] - end -end diff --git a/spec/rover_specs.rb b/spec/rover_specs.rb index a54e2c2..9dc73d0 100644 --- a/spec/rover_specs.rb +++ b/spec/rover_specs.rb @@ -2,7 +2,8 @@ require 'rover' describe Rover do def create_sut(heading, x = 0, y = 0) - Rover.new heading,{ :x =>x,:y => y } + directions = {:north => North.new, :east => East.new, :west => West.new, :south => South.new} + Rover.new directions[heading],{ :x =>x,:y => y } end describe "when facing north" do |
