33 lines
564 B
Ruby
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 |