diff options
author | Lin Jen-Shin <godfat@godfat.org> | 2019-04-19 18:39:12 +0300 |
---|---|---|
committer | Lin Jen-Shin <godfat@godfat.org> | 2019-04-22 12:16:32 +0300 |
commit | a96507bf002f39c7119d91f45c872065a05ad389 (patch) | |
tree | 802be19e15b166f302e62f9a7893cd418a1c6048 /app/services/service_response.rb | |
parent | 98f898d3cdcc79daad91c538551760295c0123e4 (diff) |
Introduce ServiceResponse to wrap around response
See https://gitlab.com/gitlab-org/gitlab-ce/issues/60730
Diffstat (limited to 'app/services/service_response.rb')
-rw-r--r-- | app/services/service_response.rb | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/app/services/service_response.rb b/app/services/service_response.rb new file mode 100644 index 00000000000..1de30e68d87 --- /dev/null +++ b/app/services/service_response.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +class ServiceResponse + def self.success(message: nil) + new(status: :success, message: message) + end + + def self.error(message:, http_status: nil) + new(status: :error, message: message, http_status: http_status) + end + + attr_reader :status, :message, :http_status + + def initialize(status:, message: nil, http_status: nil) + self.status = status + self.message = message + self.http_status = http_status + end + + def success? + status == :success + end + + def error? + status == :error + end + + private + + attr_writer :status, :message, :http_status +end |