Class: Wasval::Result

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

Constant Summary collapse

VALID_STATUSES =
%i[success syntax_error runtime_error timeout memory_limit sandbox_error].freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(status:, output:, stderr:, error_message:) ⇒ Result

Returns a new instance of Result.

Raises:

  • (ArgumentError)


9
10
11
12
13
14
15
16
17
18
# File 'lib/wasval/result.rb', line 9

def initialize(status:, output:, stderr:, error_message:)
  raise ArgumentError, "invalid status: #{status}" unless VALID_STATUSES.include?(status)

  @status = status
  @output = output.to_s
  @stderr = stderr.to_s
  @error_message = error_message

  freeze
end

Instance Attribute Details

#error_messageObject (readonly)

Returns the value of attribute error_message.



7
8
9
# File 'lib/wasval/result.rb', line 7

def error_message
  @error_message
end

#outputObject (readonly)

Returns the value of attribute output.



7
8
9
# File 'lib/wasval/result.rb', line 7

def output
  @output
end

#statusObject (readonly)

Returns the value of attribute status.



7
8
9
# File 'lib/wasval/result.rb', line 7

def status
  @status
end

#stderrObject (readonly)

Returns the value of attribute stderr.



7
8
9
# File 'lib/wasval/result.rb', line 7

def stderr
  @stderr
end

Instance Method Details

#error_typeObject



28
29
30
31
32
# File 'lib/wasval/result.rb', line 28

def error_type
  return nil if @status == :success

  @status
end

#success?Boolean

Returns:

  • (Boolean)


20
21
22
# File 'lib/wasval/result.rb', line 20

def success?
  @status == :success
end

#timeout?Boolean

Returns:

  • (Boolean)


24
25
26
# File 'lib/wasval/result.rb', line 24

def timeout?
  @status == :timeout
end