# frozen_string_literal: true module ActionMan class Result attr_reader :status, :params, :errors, :output class << self def success(params: {}, output: nil) new(:success, params:, output:) end def failure(errors: {}, output: nil) new(:failure, errors:, output:) end end def initialize(status, params: {}, errors: {}, output: nil) @status = status.to_sym @params = params @errors = errors @output = output end def success? @status == :success end def failure? @status == :failure end end end