class Python3TryHook

Public Class Methods

new(config = nil) click to toggle source
Calls superclass method
# File lib/python3/try_hook.rb, line 4
def initialize(config = nil)
  super config
  @query_hook = Python3QueryHook.new
end

Public Instance Methods

checker_options() click to toggle source
# File lib/python3/try_hook.rb, line 51
def checker_options
  { strip_mode: :right_only }
end
compile_file_content(r) click to toggle source
# File lib/python3/try_hook.rb, line 9
  def compile_file_content(r)
    <<python
#{@query_hook.compile_file_header(r)}
print("#{query_separator}");
#{@query_hook.compile_query(r.query, '')}
print("#{goal_separator}");
#{@query_hook.compile_query(r.goal.indifferent_get(:query) || 'None', '')}
python
  end
goal_separator() click to toggle source
# File lib/python3/try_hook.rb, line 30
def goal_separator
  '!!!MUMUKI-GOAL-START!!!'
end
post_process_file(file, result, status) click to toggle source
Calls superclass method
# File lib/python3/try_hook.rb, line 22
def post_process_file(file, result, status)
  super file, *@query_hook.post_process_file(file, result, status)
end
query_separator() click to toggle source
# File lib/python3/try_hook.rb, line 26
def query_separator
  '!!!MUMUKI-QUERY-START!!!'
end
to_query_result(result, status) click to toggle source
# File lib/python3/try_hook.rb, line 47
def to_query_result(result, status)
  { result: result, status: status }
end
to_structured_results(_file, result, status) click to toggle source
# File lib/python3/try_hook.rb, line 34
  def to_structured_results(_file, result, status)
    result_match = result[/#{query_separator}
\K.*?(?=(#{goal_separator})|\z)/m]&.rstrip
    goal_match = result[/#{goal_separator}
\K.*\z/m]&.rstrip

    {
        query: to_query_result(result_match, status),
        goal: goal_match,
        status: status
    }
  end