Sha256: ea98517da0e725f5deab85f562f58ca0cd3eb192d564d778ce3b0667eec8e495

Contents?: true

Size: 1.35 KB

Versions: 36

Compression:

Stored size: 1.35 KB

Contents

require 'action_view'
require 'woople_theme_i18n'

class SubmittedAssessmentFormPresenter < AssessmentFormPresenter
  include ActionView::Helpers::NumberHelper
  include ActionView::Helpers::TagHelper

  enforce_definitions :completed_at,
                      :passed?,
                      :correct_questions,
                      :score

  def title
    I18n.t('woople_theme.assessment.result')
  end

  def css_classes
    [:results]
  end

  def questions
    ThemePresentation.wrap_collection(@delegate.questions, WoopleTheme::SubmittedQuestionPresenter)
  end

  def render_result_status
    status_message = I18n.t('woople_theme.assessment.result_status', {
      completed_at: WoopleThemeI18n.l(completed_at.to_date),
      status: status,
      correct_questions: correct_questions,
      total_questions: total_questions,
      score: number_to_percentage(score, :precision => 0),
      count: total_questions
    })

    yield OpenStruct.new(message: status_message, classes: result_status_classes)
  end

  def footer_partial
    'woople-theme/assessment_form_return'
  end

  def result_status_classes
    css_classes = [:alert]
    css_classes << (passed? ? 'alert-success' : 'alert-error')
  end

  def status
    passed? ? I18n.t('woople_theme.assessment.passed') : I18n.t('woople_theme.assessment.failed')
  end

  def total_questions
    questions.length
  end
end

Version data entries

36 entries across 36 versions & 1 rubygems

Version Path
woople-theme-0.10.0 app/presenters/submitted_assessment_form_presenter.rb
woople-theme-0.9.0 app/presenters/submitted_assessment_form_presenter.rb
woople-theme-0.8.19 app/presenters/submitted_assessment_form_presenter.rb
woople-theme-0.8.18 app/presenters/submitted_assessment_form_presenter.rb
woople-theme-0.8.17 app/presenters/submitted_assessment_form_presenter.rb
woople-theme-0.8.16 app/presenters/submitted_assessment_form_presenter.rb
woople-theme-0.8.15 app/presenters/submitted_assessment_form_presenter.rb
woople-theme-0.8.14 app/presenters/submitted_assessment_form_presenter.rb
woople-theme-0.8.13 app/presenters/submitted_assessment_form_presenter.rb
woople-theme-0.8.12 app/presenters/submitted_assessment_form_presenter.rb
woople-theme-0.8.11 app/presenters/submitted_assessment_form_presenter.rb
woople-theme-0.8.10 app/presenters/submitted_assessment_form_presenter.rb
woople-theme-0.8.9 app/presenters/submitted_assessment_form_presenter.rb
woople-theme-0.8.8 app/presenters/submitted_assessment_form_presenter.rb
woople-theme-0.8.7 app/presenters/submitted_assessment_form_presenter.rb
woople-theme-0.8.6 app/presenters/submitted_assessment_form_presenter.rb
woople-theme-0.8.5 app/presenters/submitted_assessment_form_presenter.rb
woople-theme-0.8.4 app/presenters/submitted_assessment_form_presenter.rb
woople-theme-0.8.3 app/presenters/submitted_assessment_form_presenter.rb
woople-theme-0.8.2 app/presenters/submitted_assessment_form_presenter.rb