Skip to content

Instantly share code, notes, and snippets.

@Rukomoynikov
Last active May 18, 2016 13:32
Show Gist options
  • Save Rukomoynikov/a84436f2ba9760c550eca83aa0c291b7 to your computer and use it in GitHub Desktop.
Save Rukomoynikov/a84436f2ba9760c550eca83aa0c291b7 to your computer and use it in GitHub Desktop.
require "./modules/manufacturer"
require "./modules/validator"
class Carriage
extend Validator
include Manufacturer
def initialize(manufacturer = "Untitled carriage manufacturer")
@manufacturer = manufacturer
validate!
end
def self.debug(message)
p "DEBUG!!!! #{message}"
end
def to_s
"Вагон типа #{self.class::TYPE}"
end
def valid?
validate?
end
private
def validate?
raise "Carriage havent manufacturer" if @manufacturer.nil?
raise "Carriage havent type" if self.class.to_s !~ /PassengerCarriage|CargoCarriage/
return true
end
end
class PassengerCarriage < Carriage
TYPE ="пассажирский"
end
class CargoCarriage < Carriage
TYPE ="грузовой"
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment