class Lingo::Database::Source::WordClass

Abgeleitet von Source behandelt die Klasse Dateien mit dem Format WordClass. Eine Zeile "essen,essen #v essen #o esse #s\n" wird gewandelt in [ 'essen', ['esse#s', 'essen#v', 'essen#o'] ]. Der Trenner zwischen Schlüssel und Projektion kann über den Parameter separator geändert werden.

Public Class Methods

new(id, lingo) click to toggle source
# File lib/lingo/database/source/word_class.rb, line 38
def initialize(id, lingo)
  super
  @pat = %r^(#{@wrd})#{Regexp.escape(@sep ||= ',')}((?:#{@wrd}#\w)+)$/
end

Private Instance Methods

convert_line(line, key, val) click to toggle source
# File lib/lingo/database/source/word_class.rb, line 45
def convert_line(line, key, val)
  [key = key.strip, val.strip.scan(%r(\S.+?)\s*#(\w)/).map! { |v, c|
    "#{v unless key == v}##{c}"
  }]
end