Class: Scylla::Loader
- Inherits:
-
Object
- Object
- Scylla::Loader
- Defined in:
- lib/scylla/loader.rb
Constant Summary collapse
- @@dir =
DEFAULT_TARGET_DIR
Class Method Summary collapse
- .clear ⇒ Object
- .dir ⇒ Object
-
.language_map(path) ⇒ Object
Returns a single language map from a specified .lm file.
-
.languages ⇒ Object
Loads all maps from the .lm files, or loads them from memory if the files have already been read and loaded.
-
.load_language_maps ⇒ Object
Loads all the language maps once into memory using the .lm files located in lib/scylla/lm.
- .set_dir(dir) ⇒ Object
Class Method Details
.clear ⇒ Object
40 41 42 |
# File 'lib/scylla/loader.rb', line 40 def self.clear @languages = nil end |
.dir ⇒ Object
15 16 17 |
# File 'lib/scylla/loader.rb', line 15 def self.dir return @@dir end |
.language_map(path) ⇒ Object
Returns a single language map from a specified .lm file
19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/scylla/loader.rb', line 19 def self.language_map(path) rank, ngram = 1, Hash.new File.readlines(path).each do |line| line = line.strip.split("\t").first if(line =~ /^[^0-9\s]+/o) ngram[line] = rank rank += 1 end end return ngram end |
.languages ⇒ Object
Loads all maps from the .lm files, or loads them from memory if the files have already been read and loaded.
36 37 38 |
# File 'lib/scylla/loader.rb', line 36 def self.languages @languages ||= load_language_maps end |
.load_language_maps ⇒ Object
Loads all the language maps once into memory using the .lm files located in lib/scylla/lm
6 7 8 9 10 11 12 13 |
# File 'lib/scylla/loader.rb', line 6 def self.load_language_maps languages = Hash.new Dir.glob(File.join(@@dir, "*.lm")).each do |filepath| language = File.basename(filepath, ".lm") languages[language] = language_map(filepath) end return languages end |
.set_dir(dir) ⇒ Object
31 32 33 |
# File 'lib/scylla/loader.rb', line 31 def self.set_dir(dir) @@dir = dir end |