Class: JavascriptQueryHook

Inherits:
Mumukit::Templates::FileHook
  • Object
show all
Defined in:
lib/query_hook.rb

Instance Method Summary collapse

Instance Method Details

#command_line(filename) ⇒ Object



41
42
43
# File 'lib/query_hook.rb', line 41

def command_line(filename)
  "node #{filename}"
end


36
37
38
39
# File 'lib/query_hook.rb', line 36

def compile_cookie(cookie)
  return if cookie.blank?
  cookie.map { |query| "try { #{query} } catch (e) {}" }.join("\n")
end

#compile_file_content(r) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/query_hook.rb', line 9

def compile_file_content(r)
"'use strict';\n\nfunction mumukiConsolePrettyPrint(e) {\n  if (e instanceof Function) return '<function>';\n  return JSON.stringify(e);\n }\n\n\#{r.extra}\n\n\#{r.content}\n\n\#{compile_cookie(r.cookie)}\n\n\#{compile_query(r.query)}\n"
end

#compile_query(query) ⇒ Object



28
29
30
31
32
33
34
# File 'lib/query_hook.rb', line 28

def compile_query(query)
  if query.start_with? 'var '
    "#{query}\nconsole.log('=> undefined')"
  else
    "console.log('=> ' + mumukiConsolePrettyPrint(#{query}))"
  end
end

#tempfile_extensionObject



4
5
6
# File 'lib/query_hook.rb', line 4

def tempfile_extension
  '.js'
end