class Sqlite::Checker

Public Instance Methods

check(result, solution) click to toggle source

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

# 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) click to toggle source
# 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) click to toggle source

Return error page rendered with results & solutions

# File lib/checker.rb, line 39
def render_error(result, solution, error)
  renderer.render_error result, solution, error
end
render_success(result, message) click to toggle source

Return success page rendered with results

# File lib/checker.rb, line 34
def render_success(result, message)
  renderer.render_success result, message
end
success(name, result) click to toggle source
# File lib/checker.rb, line 23
def success(name, result)
  message = I18n.t 'message.success.query'
  [name, :passed, render_success(result, message)]
end

Private Instance Methods

renderer() click to toggle source
# File lib/checker.rb, line 45
def renderer
  @renderer ||= Sqlite::HtmlRenderer.new
end