module Robot::Simulator::Direction
Constants
- DIRECTIONS
- TO_CONSTANTS
- TO_STRS
Public Class Methods
from_str(direction_str)
click to toggle source
# File lib/robot/simulator/direction.rb, line 30 def self.from_str(direction_str) key = (direction_str || "").upcase raise(ArgumentError, "Direction string '#{direction_str}' must be one of #{TO_CONSTANTS.keys}") unless TO_CONSTANTS.keys.include? key TO_CONSTANTS[key] end
left(direction)
click to toggle source
Direction
on the left when facing current direction @return [Direction]
# File lib/robot/simulator/direction.rb, line 10 def self.left(direction) validate direction DIRECTIONS[(direction + 1) % 4] end
right(direction)
click to toggle source
Direction
on the right when facing current direction @return [Direction]
# File lib/robot/simulator/direction.rb, line 18 def self.right(direction) validate direction DIRECTIONS[(direction - 1 + 4) % 4] end
to_str(direction)
click to toggle source
# File lib/robot/simulator/direction.rb, line 24 def self.to_str(direction) validate direction TO_STRS[direction] end
Private Class Methods
validate(direction)
click to toggle source
# File lib/robot/simulator/direction.rb, line 36 def self.validate(direction) raise(ArgumentError, "Direction must be one of #{DIRECTIONS}") unless DIRECTIONS.include?(direction) end