transferred Code Ocean from original repository to GitHub
This commit is contained in:
20
lib/whistleblower.rb
Normal file
20
lib/whistleblower.rb
Normal file
@@ -0,0 +1,20 @@
|
||||
class Whistleblower
|
||||
PLACEHOLDER_REGEXP = /\$(\d)/
|
||||
|
||||
def find_hint(stderr)
|
||||
Hint.where(execution_environment_id: @execution_environment.id).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[$1.to_i] }
|
||||
end
|
||||
end
|
||||
|
||||
def initialize(options = {})
|
||||
@execution_environment = options[:execution_environment]
|
||||
end
|
||||
end
|
Reference in New Issue
Block a user