class WollokHook
Public Instance Methods
compilation_error?(issue)
click to toggle source
# File lib/wollok_hook.rb, line 29 def compilation_error?(issue) %w(org.eclipse.xtext.diagnostics.Diagnostic.Syntax org.eclipse.xtext.diagnostics.Diagnostic.Linking).include? issue['code'] end
compile(request)
click to toggle source
# File lib/wollok_hook.rb, line 7 def compile(request) {program: compile_program(request), programType: program_type} end
errored?(response)
click to toggle source
# File lib/wollok_hook.rb, line 16 def errored?(response) response['compilation'] && response['compilation']['issues'].any? do |issue| compilation_error? issue end end
extract_compilation_errors(response)
click to toggle source
# File lib/wollok_hook.rb, line 22 def extract_compilation_errors(response) response['compilation']['issues'] .select { |it| compilation_error? it } .map { |it| transform_compilation_error(it) } .join("\n") end
run!(request)
click to toggle source
# File lib/wollok_hook.rb, line 3 def run!(request) transform_response JSON.pretty_parse(RestClient.post(server_path, request.to_json)) end
server_path()
click to toggle source
# File lib/wollok_hook.rb, line 12 def server_path 'http://server.wollok.org:8080/run' end
transform_compilation_error(issue)
click to toggle source
# File lib/wollok_hook.rb, line 34 def transform_compilation_error(issue) "#{issue['severity']}: #{issue['message']}" end