Class: Lingo::Database::Source::MultiValue
- Inherits:
-
Lingo::Database::Source
- Object
- Lingo::Database::Source
- Lingo::Database::Source::MultiValue
- Defined in:
- lib/lingo/database/source/multi_value.rb
Overview
Abgeleitet von Source behandelt die Klasse Dateien mit dem Format MultiValue. Eine Zeile "Triumph;Sieg;Erfolg\n" wird gewandelt in [ nil, ['triumph', 'sieg', 'erfolg'] ]. Der Trenner zwischen Schlüssel und Projektion kann über den Parameter separator geändert werden.
Instance Attribute Summary
Attributes inherited from Lingo::Database::Source
Instance Method Summary (collapse)
-
- (MultiValue) initialize(id, lingo)
constructor
A new instance of MultiValue.
- - (Object) set(db, key, val)
Methods inherited from Lingo::Database::Source
Constructor Details
- (MultiValue) initialize(id, lingo)
A new instance of MultiValue
39 40 41 42 |
# File 'lib/lingo/database/source/multi_value.rb', line 39 def initialize(id, lingo) super @pat, @idx = /^#{@wrd}(?:#{Regexp.escape(@sep ||= ';')}#{@wrd})*$/, -1 end |
Instance Method Details
- (Object) set(db, key, val)
44 45 46 47 |
# File 'lib/lingo/database/source/multi_value.rb', line 44 def set(db, key, val) db[key = "#{IDX_REF}#{@idx += 1}"] = val val.each { |v| db[v] = [key] } end |