Class: Sqlite::Checker

Inherits:
Mumukit::Metatest::Checker
  • Object
show all
Defined in:
lib/checker.rb

Instance Method Summary collapse

Instance Method Details

#check(result, solution) ⇒ Object

Verify if solution dataset is equals than result when equals: Return passed & render success when distinct_columns: return failed & render error when distinct_rows: return failed & render error



8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/checker.rb', line 8

def check(result, solution)
  name = I18n.t 'dataset', number: solution[:id]

  case solution[:dataset].compare result[:dataset]
    when :equals
      success(name, result)
    when :distinct_columns
      failed(name, result, solution, 'columns')
    when :distinct_rows
      failed(name, result, solution, 'rows')
    else
      failed(name, result, solution, 'query')
  end
end

#failed(name, result, solution, error) ⇒ Object



28
29
30
31
# File 'lib/checker.rb', line 28

def failed(name, result, solution, error)
  error = I18n.t "message.failure.#{error}"
  [name, :failed, render_error(result, solution, error)]
end

#render_error(result, solution, error) ⇒ Object

Return error page rendered with results & solutions



39
40
41
# File 'lib/checker.rb', line 39

def render_error(result, solution, error)
  renderer.render_error result, solution, error
end

#render_success(result, message) ⇒ Object

Return success page rendered with results



34
35
36
# File 'lib/checker.rb', line 34

def render_success(result, message)
  renderer.render_success result, message
end

#success(name, result) ⇒ Object



23
24
25
26
# File 'lib/checker.rb', line 23

def success(name, result)
  message = I18n.t 'message.success.query'
  [name, :passed, render_success(result, message)]
end