class WordSearch::WordBank
Public Class Methods
new(file)
click to toggle source
Calls superclass method
# File lib/word_search/word_bank.rb, line 9 def initialize(file) return invalid_file unless valid_file?(file) words = [] CSV.foreach(file) do |row| row.each do |word| words << word.strip.downcase if word.strip.length > 1 end end super words.uniq end
Public Instance Methods
longest_length()
click to toggle source
# File lib/word_search/word_bank.rb, line 22 def longest_length @longest ||= collect(&:length).max.to_i end
longest_words()
click to toggle source
# File lib/word_search/word_bank.rb, line 26 def longest_words select do |word| word.length == longest_length end end
Private Instance Methods
invalid_file()
click to toggle source
# File lib/word_search/word_bank.rb, line 42 def invalid_file errors.add(:file, "is invalid") false end
valid_file?(file)
click to toggle source
# File lib/word_search/word_bank.rb, line 38 def valid_file?(file) File.file?(file) && File.extname(file) == ".csv" end
word_bank()
click to toggle source
# File lib/word_search/word_bank.rb, line 34 def word_bank errors.add(:base, "Word bank cannot be empty") if blank? end