Привет всем :) Подскажите как красиво решить следующую задачу
Есть модели FileParser, DataHandler, Logger
В каждом из них могут рейзаться разные ошибки. Хочу вынести это в отдельный класс, от которого будут наследоваться 3 вышепречисленных. В итоге в каждом из 3 файлов будет вызываться метод raise_error(:error_code).
Может есть какие то красивые решения - паттерны, которые можно было бы заюзать?
Потому что родительский класс у меня получается:
module LogParser
class ParserBase
AVAILABLE_ERRORS = {
unexpected_error: 'Unexpected error',
}.freeze
protected
def raise_error(error_code)
raise errors(error_code)
end
private
def errors(error_code)
AVAILABLE_ERRORS[error_code] || AVAILABLE_ERRORS[:unexpected_error]
end
end
end
есть ли в нем смысл сомневаюсь, может лучше без него обойтись? :)