fluke/devops-service/lib/helpers/result_object.rb
2016-03-25 14:50:22 +03:00

33 lines
564 B
Ruby

module Devops
module Helpers
class ResultObject
# this method should be overrided in descendents
def self.result_codes
{ok: 0}
end
attr_reader :code
def initialize(code)
@code = code
end
def ok?
@code == 0
end
def reason
self.class.result_codes.key(@code) || :unknown_error
end
def self.code_of_reason(reason)
result_codes.fetch(reason)
end
def self.from_reason(reason)
new(code_of_reason(reason))
end
end
end
end