class CarCodes::Code
Attributes
word[R]
Public Class Methods
new(word = "")
click to toggle source
# File lib/car_codes/code.rb, line 7 def initialize(word = "") @word = word.upcase @category = CATEGORIES[word[0]] @type = TYPES[word[1]] @transmission = TRANSMISSIONS[word[2]] @fuel = FUEL[word[3]] end
Public Instance Methods
category()
click to toggle source
# File lib/car_codes/code.rb, line 20 def category ensure_validation @category end
fuel()
click to toggle source
# File lib/car_codes/code.rb, line 35 def fuel ensure_validation @fuel end
to_human()
click to toggle source
# File lib/car_codes/code.rb, line 15 def to_human ensure_validation "#{category} - #{type} - #{transmission} - #{fuel}" end
transmission()
click to toggle source
# File lib/car_codes/code.rb, line 30 def transmission ensure_validation @transmission end
type()
click to toggle source
# File lib/car_codes/code.rb, line 25 def type ensure_validation @type end
valid?()
click to toggle source
# File lib/car_codes/code.rb, line 40 def valid? !!(word.length == 4 && @category && @type && @transmission && @fuel) end
Private Instance Methods
ensure_validation()
click to toggle source
# File lib/car_codes/code.rb, line 50 def ensure_validation unless valid? raise ArgumentError, "Code is invalid" end end