Class: WordScramble::Descrambler
- Inherits:
-
Object
- Object
- WordScramble::Descrambler
- Defined in:
- lib/word_scramble/descrambler.rb
Instance Method Summary collapse
- #descramble ⇒ Object
-
#initialize(scrambled_word) ⇒ Descrambler
constructor
A new instance of Descrambler.
- #matching_words ⇒ Object
- #same_length_words ⇒ Object
Constructor Details
#initialize(scrambled_word) ⇒ Descrambler
Returns a new instance of Descrambler.
3 4 5 6 |
# File 'lib/word_scramble/descrambler.rb', line 3 def initialize(scrambled_word) @scrambled_word = WordScramble::ScrambledWord.new(scrambled_word) @matching_words = [] end |
Instance Method Details
#descramble ⇒ Object
15 16 17 18 19 20 21 22 23 |
# File 'lib/word_scramble/descrambler.rb', line 15 def descramble same_length_words.each do |word| if @scrambled_word.can_make?(word) @matching_words.push(word) end end @matching_words.sort! { |a,b| b.length <=> a.length } @already_descrambled = true end |
#matching_words ⇒ Object
8 9 10 11 12 13 |
# File 'lib/word_scramble/descrambler.rb', line 8 def matching_words unless @already_descrambled descramble end @matching_words end |
#same_length_words ⇒ Object
25 26 27 28 29 30 31 |
# File 'lib/word_scramble/descrambler.rb', line 25 def same_length_words if WordScramble::DICTIONARY[@scrambled_word.length].nil? [] else WordScramble::DICTIONARY[@scrambled_word.length] end end |