class Rorr::DontAskMe
Public Class Methods
new()
click to toggle source
# File lib/rorr/dont_ask_me.rb, line 3 def initialize @dir = %w(ruby rails) @questions = [] create_questions end
Public Instance Methods
start()
click to toggle source
# File lib/rorr/dont_ask_me.rb, line 9 def start system 'clear' UI.puts "\nWelcome to #{"\"Don't ask me Ruby or Rails\"".light_cyan}" UI.puts "Let's check whether you remember where Ruby ends and Rails\n" Score.start @questions.each.with_index(1) do |question, index| UI.question(question[:qu], index) Score.init(index) UI.puts "ruby or rails? (Type the #{'ruby'.green} or #{'rails'.green} to answer, #{UI.skip}, #{UI.exit})\n\n" while answer = UI.gets case answer.downcase when question[:ans] UI.puts "Yes, this is #{question[:ans]}!".green Score.add_correct break when 'ruby', 'rails' UI.puts "No, this is not #{answer}!".red Score.add_wrong break when 'skip' UI.puts 'Skip the Question!'.light_blue Score.add_skip break when 'exit' then exit when '' then UI.puts_with_delay 'Please enter again!'.light_blue else UI.puts_with_delay 'Error, Please enter again!'.light_red Score.add_retry end end Score.add_report UI.solution(question[:sol]) end Score.finish UI.report end
Private Instance Methods
create_questions()
click to toggle source
# File lib/rorr/dont_ask_me.rb, line 48 def create_questions @dir.each do |dir| Dir[File.expand_path("../../../topic/#{dir}/*.rb", __FILE__)].each do |file| content = File.open(file).read.split('# solution') qu = UI.coderay(content[0]) sol = UI.coderay(content[1]) @questions << { qu: qu, ans: dir, sol: sol } end end @questions = @questions.shuffle[0..Config.number] end