class Scylla::Loader

Public Class Methods

clear() click to toggle source
# File lib/scylla/loader.rb, line 40
def self.clear
  @languages = nil
end
dir() click to toggle source
# File lib/scylla/loader.rb, line 15
def self.dir
  return @@dir
end
language_map(path) click to toggle source

Returns a single language map from a specified .lm file

# 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() click to toggle source

Loads all maps from the .lm files, or loads them from memory if the files have already been read and loaded.

# File lib/scylla/loader.rb, line 36
def self.languages
  @languages ||= load_language_maps
end
load_language_maps() click to toggle source

Loads all the language maps once into memory using the .lm files located in lib/scylla/lm

# 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) click to toggle source
# File lib/scylla/loader.rb, line 31
def self.set_dir(dir)
  @@dir = dir
end