Class: Kitsune::Kit::Result

Inherits:
Object
  • Object
show all
Defined in:
lib/kitsune/kit/result.rb

Constant Summary collapse

STATUSES =
%i[success failure cancelled].freeze

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(status:, value: nil, warnings: [], metadata: {}) ⇒ Result

Returns a new instance of Result.

Raises:

  • (ArgumentError)


8
9
10
11
12
13
14
15
16
17
# File 'lib/kitsune/kit/result.rb', line 8

def initialize(status:, value: nil, warnings: [], metadata: {})
  raise ArgumentError, "unknown status: #{status}" unless STATUSES.include?(status.to_sym)

  super(
    status: status.to_sym,
    value: value,
    warnings: warnings.freeze,
    metadata: .freeze
  )
end

Class Method Details

.success(value = nil, warnings: [], metadata: {}) ⇒ Object



23
24
25
# File 'lib/kitsune/kit/result.rb', line 23

def self.success(value = nil, warnings: [], metadata: {})
  new(status: :success, value: value, warnings: warnings, metadata: )
end

Instance Method Details

#cancelled?Boolean

Returns:

  • (Boolean)


21
# File 'lib/kitsune/kit/result.rb', line 21

def cancelled? = status == :cancelled

#failure?Boolean

Returns:

  • (Boolean)


20
# File 'lib/kitsune/kit/result.rb', line 20

def failure? = status == :failure

#success?Boolean

Returns:

  • (Boolean)


19
# File 'lib/kitsune/kit/result.rb', line 19

def success? = status == :success