class Rextester

Attributes

errors[R]
mem_peak[R]
result[R]
run_time[R]
warnings[R]

Public Class Methods

new(lang_id: 12, code: '', input: '', compiler_args: '') click to toggle source
# File lib/rextester.rb, line 9
def initialize(lang_id: 12, code: '', input: '', compiler_args: '')
  @options = { 'LanguageChoice': lang_id,
               'Program': code,
               'Input': input,
               'CompilerArgs': compiler_args }
end

Public Instance Methods

run() click to toggle source
# File lib/rextester.rb, line 16
def run
  response = request.parsed_response
  return if response['Errors'] == 'Too many requests...'

  @run_time = response['Stats'][23..25].to_f
  @mem_peak = response['Stats'][65..90].to_i

  @errors = response['Errors']
  @warnings = response['Warnings']
  @result = response['Result']
end

Private Instance Methods

request() click to toggle source
# File lib/rextester.rb, line 30
def request
  self.class.post('/rundotnet/api', body: @options)
end