class ChallengeResult
Constants
- PASS_CHAR
- STATUSES
Attributes
result[R]
Public Class Methods
new(challenge)
click to toggle source
# File lib/unixoid/challenge_result.rb, line 7 def initialize(challenge) @result = parse(challenge) end
Public Instance Methods
failures()
click to toggle source
# File lib/unixoid/challenge_result.rb, line 17 def failures failing_test_numbers.compact end
status()
click to toggle source
# File lib/unixoid/challenge_result.rb, line 11 def status STATUSES.find do |status| send("#{status}?") end end
Private Instance Methods
attempted?()
click to toggle source
# File lib/unixoid/challenge_result.rb, line 29 def attempted? passes.any? end
complete?()
click to toggle source
# File lib/unixoid/challenge_result.rb, line 25 def complete? passes.length == total_tests end
failing_test_numbers()
click to toggle source
# File lib/unixoid/challenge_result.rb, line 53 def failing_test_numbers @result.map.with_index do |test, index| next if passed(test) index + 1 end end
parse(challenge)
click to toggle source
# File lib/unixoid/challenge_result.rb, line 37 def parse(challenge) challenge.chomp("\n").chars end
passed(test)
click to toggle source
# File lib/unixoid/challenge_result.rb, line 45 def passed(test) test == PASS_CHAR end
passes()
click to toggle source
# File lib/unixoid/challenge_result.rb, line 41 def passes result.select { |test| passed(test) } end
total_tests()
click to toggle source
# File lib/unixoid/challenge_result.rb, line 49 def total_tests result.length end
unattempted?()
click to toggle source
# File lib/unixoid/challenge_result.rb, line 33 def unattempted? passes.empty? end