Class: Randexp::Dictionary
- Inherits:
-
Object
- Object
- Randexp::Dictionary
- Defined in:
- lib/randexp/dictionary.rb
Class Method Summary collapse
Class Method Details
.load_dictionary ⇒ Object
2 3 4 5 6 7 8 9 10 |
# File 'lib/randexp/dictionary.rb', line 2 def self.load_dictionary if File.exists?("/usr/share/dict/words") File.read("/usr/share/dict/words").split elsif File.exists?("/usr/dict/words") File.read("/usr/dict/words").split else raise "Words file not found. Check if it is installed in (/usr/share/dict/words or /usr/dict/words) " end end |
.words(options = {}) ⇒ Object
12 13 14 15 16 17 18 |
# File 'lib/randexp/dictionary.rb', line 12 def self.words( = {}) if .has_key?(:length) words_by_length[[:length]] else @@words ||= load_dictionary end end |
.words_by_length ⇒ Object
20 21 22 23 24 25 |
# File 'lib/randexp/dictionary.rb', line 20 def self.words_by_length @@words_by_length ||= begin hash = Hash.new {|h,k| h[k] = [] } words.inject(hash) {|h, w| h[w.size] << w; h } end end |