class Hiragana
Hiragana
Class
Public Class Methods
new()
click to toggle source
# File lib/kita/hiragana.rb, line 26 def initialize @previous = [] end
Public Instance Methods
question()
click to toggle source
# File lib/kita/hiragana.rb, line 30 def question # Keep selecting a new character at random until it's # different to any in the 'previous' array chars = HIRAGANA.sample(4) chars = HIRAGANA.sample(4) while @previous.include? chars[0] question = build_question(chars) # Log character to ensure no character from the last 10 is repeated log_character(chars[0]) question end
Private Instance Methods
build_question(chars)
click to toggle source
# File lib/kita/hiragana.rb, line 48 def build_question(chars) { question: chars[0], type: 'hiragana', answer: chars[0].romaji, choices: [ chars[1].romaji, chars[2].romaji, chars[3].romaji ] } end
log_character(character)
click to toggle source
# File lib/kita/hiragana.rb, line 43 def log_character(character) @previous.shift if @previous.size > 9 @previous.push character end