Sha256: eedb6760f82abfa41b8bf0f77f3e9b2a71ff9f954d8559e3dc83c9419ebd9428

Contents?: true

Size: 693 Bytes

Versions: 15

Compression:

Stored size: 693 Bytes

Contents

module Solvable
  def submit_solution!(user, attributes={})
    assignment, _ = find_assignment_and_submit! user, attributes[:content].to_mumuki_solution(language)
    try_solve_discussions(user) if assignment.passed?
    assignment
  end

  def run_tests!(params)
    language.run_tests!(params.merge(locale: locale, expectations: expectations))
  end
end

class NilClass
  def to_mumuki_solution(language)
    Solution.new
  end
end

class String
  def to_mumuki_solution(language)
    Solution.new content: normalize_whitespaces
  end
end

class Hash
  def to_mumuki_solution(language)
    language
      .directives_sections
      .join(self)
      .to_mumuki_solution(language)
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
mumuki-laboratory-5.13.0 app/models/concerns/submittable/solvable.rb
mumuki-laboratory-5.12.1 app/models/concerns/submittable/solvable.rb
mumuki-laboratory-5.12.0 app/models/concerns/submittable/solvable.rb
mumuki-laboratory-5.11.0 app/models/concerns/submittable/solvable.rb
mumuki-laboratory-5.10.4 app/models/concerns/submittable/solvable.rb
mumuki-laboratory-5.10.3 app/models/concerns/submittable/solvable.rb
mumuki-laboratory-5.10.2 app/models/concerns/submittable/solvable.rb
mumuki-laboratory-5.10.1 app/models/concerns/submittable/solvable.rb
mumuki-laboratory-5.10.0 app/models/concerns/submittable/solvable.rb
mumuki-laboratory-5.9.1 app/models/concerns/submittable/solvable.rb
mumuki-laboratory-5.9.0 app/models/concerns/submittable/solvable.rb
mumuki-laboratory-5.8.3 app/models/concerns/submittable/solvable.rb
mumuki-laboratory-5.8.1 app/models/concerns/submittable/solvable.rb
mumuki-laboratory-5.8.0 app/models/concerns/submittable/solvable.rb
mumuki-laboratory-5.7.0 app/models/concerns/submittable/solvable.rb