Class: Hermetic::Result

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

Overview

Superset of Silas::Sandbox::Result — the first three members are the ones Silas's run_code tool reads, so a Hermetic box drops into config.sandbox = <object> with zero Silas changes. trust/backend make the isolation posture legible on every result (see spec §3).

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#backendObject

Returns the value of attribute backend

Returns:

  • (Object)

    the current value of backend



6
7
8
# File 'lib/hermetic/result.rb', line 6

def backend
  @backend
end

#duration_msObject

Returns the value of attribute duration_ms

Returns:

  • (Object)

    the current value of duration_ms



6
7
8
# File 'lib/hermetic/result.rb', line 6

def duration_ms
  @duration_ms
end

#exit_statusObject

Returns the value of attribute exit_status

Returns:

  • (Object)

    the current value of exit_status



6
7
8
# File 'lib/hermetic/result.rb', line 6

def exit_status
  @exit_status
end

#stderrObject

Returns the value of attribute stderr

Returns:

  • (Object)

    the current value of stderr



6
7
8
# File 'lib/hermetic/result.rb', line 6

def stderr
  @stderr
end

#stdoutObject

Returns the value of attribute stdout

Returns:

  • (Object)

    the current value of stdout



6
7
8
# File 'lib/hermetic/result.rb', line 6

def stdout
  @stdout
end

#timed_outObject

Returns the value of attribute timed_out

Returns:

  • (Object)

    the current value of timed_out



6
7
8
# File 'lib/hermetic/result.rb', line 6

def timed_out
  @timed_out
end

#trustObject

Returns the value of attribute trust

Returns:

  • (Object)

    the current value of trust



6
7
8
# File 'lib/hermetic/result.rb', line 6

def trust
  @trust
end

Instance Method Details

#success?Boolean

Returns:

  • (Boolean)


11
# File 'lib/hermetic/result.rb', line 11

def success? = exit_status.to_i.zero? && !timed_out

#timed_out?Boolean

Returns:

  • (Boolean)


13
# File 'lib/hermetic/result.rb', line 13

def timed_out? = !!timed_out