Files
codeocean/lib/whistleblower.rb
2015-03-11 14:31:19 +01:00

21 lines
491 B
Ruby

class Whistleblower
PLACEHOLDER_REGEXP = /\$(\d)/
def find_hint(stderr)
@execution_environment.hints.detect do |hint|
@matches = Regexp.new(hint.regular_expression).match(stderr)
end
end
private :find_hint
def generate_hint(stderr)
if hint = find_hint(stderr)
hint.message.gsub(PLACEHOLDER_REGEXP) { @matches[Regexp.last_match(1).to_i] }
end
end
def initialize(options = {})
@execution_environment = options[:execution_environment]
end
end