Last active
May 18, 2016 13:32
-
-
Save Rukomoynikov/a84436f2ba9760c550eca83aa0c291b7 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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