class WordSearch::Generator
Public Class Methods
new(file, x, y, z = nil)
click to toggle source
Calls superclass method
# File lib/word_search/generator.rb, line 11 def initialize(file, x, y, z = nil) plane = Plane.make_from_coordinates(x, y, z) obj = if z.present? ThreeDimensional::Generator.new(plane, WordBank.new(file)) else TwoDimensional::Generator.new(plane, WordBank.new(file)) end super obj end
Public Instance Methods
object()
click to toggle source
# File lib/word_search/generator.rb, line 34 def object __getobj__ end
perform()
click to toggle source
Calls superclass method
# File lib/word_search/generator.rb, line 23 def perform super if valid? plane.add_letters plane else false end end
Private Instance Methods
can_words_fit?()
click to toggle source
# File lib/word_search/generator.rb, line 40 def can_words_fit? errors.add(:base, words_too_long) if plane.max < word_bank.longest_length end
valid_plane?()
click to toggle source
# File lib/word_search/generator.rb, line 50 def valid_plane? return if plane.valid? plane.errors.full_messages.each do |msg| errors.add(:base, msg) end end
valid_word_bank?()
click to toggle source
# File lib/word_search/generator.rb, line 58 def valid_word_bank? return if word_bank.valid? word_bank.errors.full_messages.each do |msg| errors.add(:base, msg) end end
words_too_long()
click to toggle source
# File lib/word_search/generator.rb, line 44 def words_too_long "#{word_bank.longest_words.join(' and ')} "\ "#{'is'.pluralize(word_bank.longest_words.count)} "\ "too long for the word search" end