lingo 1.8.3 → 1.8.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/ChangeLog +24 -2
- data/README +16 -10
- data/Rakefile +15 -6
- data/en/lingo-irr.txt +60 -60
- data/lib/lingo.rb +14 -6
- data/lib/lingo/app.rb +3 -0
- data/lib/lingo/attendee.rb +6 -0
- data/lib/lingo/attendee/abbreviator.rb +1 -1
- data/lib/lingo/attendee/multi_worder.rb +1 -1
- data/lib/lingo/attendee/noneword_filter.rb +14 -5
- data/lib/lingo/attendee/sequencer.rb +63 -37
- data/lib/lingo/attendee/text_reader.rb +14 -15
- data/lib/lingo/attendee/text_writer.rb +3 -3
- data/lib/lingo/attendee/vector_filter.rb +5 -5
- data/lib/lingo/call.rb +1 -1
- data/lib/lingo/cli.rb +2 -2
- data/lib/lingo/ctl.rb +3 -1
- data/lib/lingo/database.rb +1 -1
- data/lib/lingo/database/show_progress.rb +15 -2
- data/lib/lingo/database/source.rb +6 -1
- data/lib/lingo/error.rb +28 -4
- data/lib/lingo/language/grammar.rb +7 -7
- data/lib/lingo/language/word.rb +6 -2
- data/lib/lingo/language/word_form.rb +1 -1
- data/lib/lingo/show_progress.rb +3 -2
- data/lib/lingo/srv.rb +15 -6
- data/lib/lingo/srv/lingosrv.cfg +1 -1
- data/lib/lingo/version.rb +1 -1
- data/lib/lingo/web.rb +40 -10
- data/lib/lingo/web/lingoweb.cfg +1 -1
- data/lib/lingo/web/public/lingoweb.css +7 -4
- data/lib/lingo/web/views/index.erb +97 -39
- data/lingo.cfg +1 -1
- data/lir.cfg +1 -1
- data/test/attendee/ts_abbreviator.rb +22 -0
- data/test/attendee/ts_sequencer.rb +278 -1
- data/test/attendee/ts_text_reader.rb +34 -0
- data/test/attendee/ts_text_writer.rb +1 -1
- metadata +139 -133
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 1d421a91c70b5c7264e741720987a83fbfabf2a0
|
4
|
+
data.tar.gz: cd3ffe0052580f9f5272ed46e9d745331f208f1c
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 6db7cea54eac2afbf05403505826dde4007ef9734adfcf75667767e0743f37e24197240c78b2e55377758c6e38b00a8f32de43cfa3c066993a224c7e09c885f9
|
7
|
+
data.tar.gz: f55b0a26ed92b4a7f4362ee376fffb3d3dd7ae907467932a084cc0ab796ba4e06eaf9b4f9db90511592a4af27880c67c8da4c50812523f86699619b1f57f3399
|
data/ChangeLog
CHANGED
@@ -1,5 +1,27 @@
|
|
1
|
+
# markup: rd
|
2
|
+
|
1
3
|
= Revision history for Lingo
|
2
4
|
|
5
|
+
== 1.8.4 [2013-10-18]
|
6
|
+
|
7
|
+
* Attendee::Sequencer accepts regular expression patterns.
|
8
|
+
* Attendee::Sequencer substitutes +0+ in the format string for the matched
|
9
|
+
pattern.
|
10
|
+
* Attendee::NonewordFilter learned +dict+ option to print nonewords in
|
11
|
+
dictionary format.
|
12
|
+
* Added progress reporting to Attendee::TextReader for STDIN.
|
13
|
+
* <tt>lingoctl demo</tt> reports successful initialization.
|
14
|
+
* Russian localization for Lingo Web. (Yulia Dorokhova, Thomas Müller)
|
15
|
+
* Lingo Web learned parameter +hl+ to set UI language.
|
16
|
+
* Lingo Web displays the configuration in use.
|
17
|
+
* Lingo Srv accepts array of query strings in addition to single query string.
|
18
|
+
* Meeting config takes precedence over language config.
|
19
|
+
* When dictionary entries are rejected during conversion, the location of the
|
20
|
+
reject file will be shown.
|
21
|
+
* LIR record number defaults to match string in absence of capture group.
|
22
|
+
* Optionally prevent Lingo from sorting any results by setting the
|
23
|
+
+LINGO_NO_SORT+ environment variable.
|
24
|
+
|
3
25
|
== 1.8.3 [2012-09-20]
|
4
26
|
|
5
27
|
* Fixed regression introduced in 1.8.2 where reading input from STDIN was no
|
@@ -9,14 +31,14 @@
|
|
9
31
|
* Fixed length limit handling for multibyte characters in SDBM store.
|
10
32
|
* Fixed encoding issue in SDBM store.
|
11
33
|
* Fixed issue with BOM in config files.
|
12
|
-
* Modified character handling to accept *any* Unicode letter (
|
34
|
+
* Modified character handling to accept *any* Unicode letter (_Alphabetic_)
|
13
35
|
and digit (<i>Decimal Number</i>).
|
14
36
|
* Modified Attendee::Tokenizer to use only hard-coded tokenization rules.
|
15
37
|
* Modified Attendee::VectorFilter's +lexicals+ option to be case-sensitive.
|
16
38
|
* Improved overall performance and memory usage; Attendee::Sequencer changed
|
17
39
|
the order sequences are inserted into the stream.
|
18
40
|
* Eliminated performance penalty caused by Attendee::Abbreviator.
|
19
|
-
* Added Russian language support (Yulia Dorokhova, Thomas Müller)
|
41
|
+
* Added Russian language support. (Yulia Dorokhova, Thomas Müller)
|
20
42
|
* Added +fields+ option to Attendee::TextReader to cut off field labels;
|
21
43
|
defaults to +true+ in record (LIR) mode.
|
22
44
|
* Added +skip+ option to Attendee::TextReader to skip lines matching the given
|
data/README
CHANGED
@@ -25,7 +25,7 @@
|
|
25
25
|
|
26
26
|
== VERSION
|
27
27
|
|
28
|
-
This documentation refers to Lingo version 1.8.
|
28
|
+
This documentation refers to Lingo version 1.8.4
|
29
29
|
|
30
30
|
|
31
31
|
== DESCRIPTION
|
@@ -85,7 +85,7 @@ a file begins and when it ends. This can (and will) be an important piece of
|
|
85
85
|
information for other attendees that will be added later.
|
86
86
|
|
87
87
|
To try out Lingo's functionality without installing it first, have a look at
|
88
|
-
{Lingo Web}[http://
|
88
|
+
{Lingo Web}[http://ixtrieve.fh-koeln.de/lingoweb]. There you can enter some
|
89
89
|
text and see the debug output Lingo generated, including tokenization, word
|
90
90
|
identification, decomposition, etc.
|
91
91
|
|
@@ -173,15 +173,21 @@ to run that command with administrator privileges, depending on your
|
|
173
173
|
environment). Then you can call the +lingo+ executable to process your
|
174
174
|
data. See <tt>lingo --help</tt> for starters.
|
175
175
|
|
176
|
-
Please note that Lingo requires Ruby version 1.9
|
177
|
-
|
176
|
+
Please note that Lingo requires Ruby version 1.9.2 or higher to run
|
177
|
+
(2.0.0[http://ruby-lang.org/en/downloads/] is the currently recommended
|
178
178
|
version). If you want to use Lingo on Ruby 1.8, please refer to the legacy
|
179
179
|
version (see below).
|
180
180
|
|
181
|
+
Since Lingo depends on native extensions, you need to make sure that
|
182
|
+
development files for your Ruby version are installed. On Debian-based
|
183
|
+
Linux platforms they are included in the package <tt>ruby1.9.1-dev</tt>;
|
184
|
+
other distributions may have a similarly named package. On Windows those
|
185
|
+
development files are currently not required.
|
186
|
+
|
181
187
|
Prior to version 1.8.0, Lingo expected to be run from its installation
|
182
188
|
directory. This is no longer necessary. But if you prefer that use case,
|
183
189
|
you can either download and extract an
|
184
|
-
{archive file}[http://github.com/lex-lingo/lingo/
|
190
|
+
{archive file}[http://github.com/lex-lingo/lingo/releases] or unpack the
|
185
191
|
Gem archive (<tt>gem unpack lingo</tt>); or you can install the legacy
|
186
192
|
version of Lingo (see below).
|
187
193
|
|
@@ -224,8 +230,8 @@ the development efforts will be directed towards Lingo 1.8+.
|
|
224
230
|
|
225
231
|
To install the legacy version, download and extract the ZIP archive from
|
226
232
|
RubyForge[http://rubyforge.org/frs/?group_id=5663]. No additional dependencies
|
227
|
-
are required. This version of Lingo works with both Ruby 1.8 (1.8.5 or
|
228
|
-
and 1.9 (1.9.2 or
|
233
|
+
are required. This version of Lingo works with both Ruby 1.8 (1.8.5 or higher)
|
234
|
+
and 1.9 (1.9.2 or higher).
|
229
235
|
|
230
236
|
The executable is named +lingo.rb+. It's located at the root of the installation
|
231
237
|
directory and may only be run from there. See <tt>ruby lingo.rb -h</tt> for
|
@@ -285,7 +291,7 @@ the full test suite.
|
|
285
291
|
|
286
292
|
<b></b>
|
287
293
|
Website:: http://lex-lingo.de
|
288
|
-
Demo:: http://
|
294
|
+
Demo:: http://ixtrieve.fh-koeln.de/lingoweb
|
289
295
|
Documentation:: http://lex-lingo.github.com/lingo
|
290
296
|
Source code:: http://github.com/lex-lingo/lingo
|
291
297
|
RubyGem:: http://rubygems.org/gems/lingo
|
@@ -314,7 +320,7 @@ Lingo is based on a collective development by Klaus Lepsky and John Vorhauer.
|
|
314
320
|
=== Authors
|
315
321
|
|
316
322
|
* John Vorhauer <mailto:lingo@vorhauer.de>
|
317
|
-
* Jens Wille <mailto:jens.wille@
|
323
|
+
* Jens Wille <mailto:jens.wille@gmail.com>
|
318
324
|
|
319
325
|
=== Contributors
|
320
326
|
|
@@ -327,7 +333,7 @@ Lingo is based on a collective development by Klaus Lepsky and John Vorhauer.
|
|
327
333
|
== LICENSE AND COPYRIGHT
|
328
334
|
|
329
335
|
Copyright (C) 2005-2007 John Vorhauer
|
330
|
-
Copyright (C) 2007-
|
336
|
+
Copyright (C) 2007-2013 John Vorhauer, Jens Wille
|
331
337
|
|
332
338
|
Lingo is free software: you can redistribute it and/or modify it under the
|
333
339
|
terms of the GNU Affero General Public License as published by the Free
|
data/Rakefile
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
__DIR__ = File.expand_path('..', __FILE__)
|
4
4
|
|
5
5
|
require 'rake/clean'
|
6
|
-
require 'nuggets/
|
6
|
+
require 'nuggets/ruby'
|
7
7
|
require File.join(__DIR__, %w[lib lingo version])
|
8
8
|
|
9
9
|
PACKAGE_NAME = 'lingo'
|
@@ -25,7 +25,8 @@ begin
|
|
25
25
|
version: Lingo::VERSION,
|
26
26
|
summary: 'The full-featured automatic indexing system',
|
27
27
|
authors: ['John Vorhauer', 'Jens Wille'],
|
28
|
-
email: ['lingo@vorhauer.de', 'jens.wille@
|
28
|
+
email: ['lingo@vorhauer.de', 'jens.wille@gmail.com'],
|
29
|
+
license: 'AGPL',
|
29
30
|
homepage: 'http://lex-lingo.de',
|
30
31
|
description: <<-EOT,
|
31
32
|
Lingo is an open source indexing system for research and teachings.
|
@@ -43,10 +44,18 @@ The main functions of Lingo are:
|
|
43
44
|
'{de,en,ru}.lang', '{de,en,ru}/{lingo-*,user-dic,test_*}.txt',
|
44
45
|
'txt/{artikel{,-en,-ru},lir}.txt', 'lib/lingo/{srv,web}/**/*'
|
45
46
|
].to_a,
|
46
|
-
required_ruby_version:
|
47
|
-
dependencies:
|
48
|
-
|
49
|
-
|
47
|
+
required_ruby_version: '>= 1.9.2',
|
48
|
+
dependencies: [
|
49
|
+
'highline',
|
50
|
+
['ruby-nuggets', '>= 0.9.2'],
|
51
|
+
'sinatra',
|
52
|
+
'sinatra-contrib',
|
53
|
+
'unicode'
|
54
|
+
],
|
55
|
+
development_dependencies: [
|
56
|
+
['diff-lcs', '>= 1.1.3'],
|
57
|
+
'open4'
|
58
|
+
]
|
50
59
|
}
|
51
60
|
}}
|
52
61
|
rescue LoadError => err
|
data/en/lingo-irr.txt
CHANGED
@@ -6,14 +6,18 @@
|
|
6
6
|
ate=eat #v
|
7
7
|
awoke=awake #v
|
8
8
|
awoken=awake #v
|
9
|
+
bade=bid #v
|
9
10
|
beat=beat #v
|
10
11
|
became=become #v
|
11
12
|
become=become #v
|
13
|
+
been=be #v
|
12
14
|
began=begin #v
|
13
15
|
begun=begin #v
|
14
16
|
bent=bend #v
|
15
17
|
beset=beset #v
|
16
18
|
bet=bet #v
|
19
|
+
bid=bid #v
|
20
|
+
bidden=bid #v
|
17
21
|
bit=bite #v
|
18
22
|
bitten=bite #v
|
19
23
|
bled=bleed #v
|
@@ -29,6 +33,8 @@ broke=break #v
|
|
29
33
|
broken=break #v
|
30
34
|
brought=bring #v
|
31
35
|
built=build #v
|
36
|
+
burned=burn #v
|
37
|
+
burnt=burn #v
|
32
38
|
burst=burst #v
|
33
39
|
came=come #v
|
34
40
|
cast=cast #v
|
@@ -42,9 +48,13 @@ crept=creep #v
|
|
42
48
|
cut=cut #v
|
43
49
|
dealt=deal #v
|
44
50
|
did=do #v
|
51
|
+
dived=dive #v
|
45
52
|
done=do #v
|
53
|
+
dove=dive #v
|
46
54
|
drank=drink #v
|
47
55
|
drawn=draw #v
|
56
|
+
dreamed=dream #v
|
57
|
+
dreamt=dream #v
|
48
58
|
drew=draw #v
|
49
59
|
driven=drive #v
|
50
60
|
drove=drive #v
|
@@ -62,6 +72,8 @@ flown=fly #v
|
|
62
72
|
flung=fling #v
|
63
73
|
forbade=forbid #v
|
64
74
|
forbidden=forbid #v
|
75
|
+
foregone=forego #v
|
76
|
+
forewent=forego #v
|
65
77
|
forgave=forgive #v
|
66
78
|
forgiven=forgive #v
|
67
79
|
forgot=forget #v
|
@@ -82,8 +94,8 @@ ground=grind #v
|
|
82
94
|
grown=grow #v
|
83
95
|
heard=hear #v
|
84
96
|
held=hold #v
|
85
|
-
hidden=hide #v
|
86
97
|
hid=hide #v
|
98
|
+
hidden=hide #v
|
87
99
|
hit=hit #v
|
88
100
|
hung=hang #v
|
89
101
|
hurt=hurt #v
|
@@ -95,16 +107,26 @@ know=know #v
|
|
95
107
|
laid=lay #v
|
96
108
|
lain=lie #v
|
97
109
|
lay=lie #v
|
110
|
+
leaped=leap #v
|
111
|
+
learned=learn #v
|
112
|
+
learnt=learn #v
|
98
113
|
led=lead #v
|
99
114
|
left=leave #v
|
100
115
|
lent=lend #v
|
116
|
+
lept=leap #v
|
101
117
|
let=let #v
|
118
|
+
lighted=light #v
|
119
|
+
lit=light #v
|
102
120
|
lost=lose #v
|
103
121
|
made=make #v
|
104
122
|
meant=mean #v
|
105
123
|
met=meet #v
|
124
|
+
misspelled=misspell #v
|
125
|
+
misspelt=misspell #v
|
106
126
|
mistaken=mistake #v
|
107
127
|
mistook=mistake #v
|
128
|
+
mowed=mow #v
|
129
|
+
mown=mow #v
|
108
130
|
overcame=overcome #v
|
109
131
|
overcome=overcome #v
|
110
132
|
overdid=overdo #v
|
@@ -115,33 +137,45 @@ overthrown=overthrow #v
|
|
115
137
|
overtook=overtake #v
|
116
138
|
paid=pay #v
|
117
139
|
pled=plead #v
|
140
|
+
proved=prove #v
|
141
|
+
proven=prove #v
|
118
142
|
put=put #v
|
119
143
|
quit=quit #v
|
120
|
-
rang=ring #v
|
121
144
|
ran=run #v
|
145
|
+
rang=ring #v
|
122
146
|
read=read #v
|
123
|
-
ridden=ride #v
|
124
147
|
rid=rid #v
|
148
|
+
ridden=ride #v
|
125
149
|
risen=rise #v
|
126
150
|
rode=ride #v
|
127
151
|
rose=rise #v
|
128
|
-
rung=ring #v
|
129
152
|
run=run #v
|
153
|
+
rung=ring #v
|
130
154
|
said=say #v
|
131
155
|
sang=sing #v
|
132
156
|
sank=sink #v
|
133
157
|
sat=sit #v
|
134
158
|
saw=see #v
|
159
|
+
sawed=saw #v
|
160
|
+
sawn=saw #v
|
135
161
|
seen=see #v
|
136
162
|
sent=send #v
|
137
163
|
set=set #v
|
164
|
+
sewed=sew #v
|
165
|
+
sewn=sew #v
|
138
166
|
shaken=shake #v
|
167
|
+
shaved=shave #v
|
168
|
+
shaven=shave #v
|
139
169
|
shed=shed #v
|
170
|
+
shod=shoe #v
|
171
|
+
shoed=shoe #v
|
140
172
|
shone=shine #v
|
141
173
|
shook=shake #v
|
142
174
|
shore=shear #v
|
143
175
|
shorn=shear #v
|
144
176
|
shot=shoot #v
|
177
|
+
showed=show #v
|
178
|
+
shown=show #v
|
145
179
|
shrank=shrink #v
|
146
180
|
shrunk=shrink #v
|
147
181
|
shut=shut #v
|
@@ -155,16 +189,24 @@ smitten=smite #v
|
|
155
189
|
smote=smite #v
|
156
190
|
sold=sell #v
|
157
191
|
sought=seek #v
|
192
|
+
sowed=sow #v
|
193
|
+
sown=sow #v
|
194
|
+
spat=spit #v
|
158
195
|
sped=speed #v
|
159
196
|
spent=spend #v
|
197
|
+
spilled=spill #v
|
198
|
+
spilt=spill #v
|
199
|
+
spit=spit #v
|
160
200
|
split=split #v
|
161
|
-
spoken=speak #v
|
162
201
|
spoke=speak #v
|
202
|
+
spoken=speak #v
|
203
|
+
sprang=spring #v
|
163
204
|
spread=spread #v
|
205
|
+
sprung=spring #v
|
164
206
|
spun=spin #v
|
165
207
|
stank=stink #v
|
166
|
-
stolen=steal #v
|
167
208
|
stole=steal #v
|
209
|
+
stolen=steal #v
|
168
210
|
stood=stand #v
|
169
211
|
stridden=stride #v
|
170
212
|
striven=strive #v
|
@@ -178,7 +220,9 @@ stunk=stink #v
|
|
178
220
|
sung=sing #v
|
179
221
|
sunk=sink #v
|
180
222
|
swam=swim #v
|
223
|
+
swelled=swell #v
|
181
224
|
swept=sweep #v
|
225
|
+
swollen=swell #v
|
182
226
|
swore=swear #v
|
183
227
|
sworn=swear #v
|
184
228
|
swum=swim #v
|
@@ -187,80 +231,36 @@ taken=take #v
|
|
187
231
|
taught=teach #v
|
188
232
|
thought=think #v
|
189
233
|
threw=throw #v
|
234
|
+
thrived=thrive #v
|
235
|
+
thriven=thrive #v
|
236
|
+
throve=thrive #v
|
190
237
|
thrown=throw #v
|
191
238
|
thrust=thrust #v
|
192
239
|
told=tell #v
|
193
240
|
took=take #v
|
194
241
|
tore=tear #v
|
195
242
|
torn=tear #v
|
196
|
-
trodden=tread #v
|
197
243
|
trod=tread #v
|
244
|
+
trodden=tread #v
|
198
245
|
understood=understand #v
|
199
246
|
upheld=uphold #v
|
200
247
|
upset=upset #v
|
248
|
+
was=be #v
|
249
|
+
weaved=weave #v
|
201
250
|
wed=wed #v
|
202
251
|
went=go #v
|
203
252
|
wept=weep #v
|
253
|
+
were=be #v
|
204
254
|
withheld=withhold #v
|
205
255
|
withstood=withstand #v
|
206
|
-
woken=wake #v
|
207
256
|
woke=wake #v
|
257
|
+
woken=wake #v
|
208
258
|
won=win #v
|
209
259
|
wore=wear #v
|
210
260
|
worn=wear #v
|
211
261
|
wound=wind #v
|
262
|
+
wove=weave #v
|
263
|
+
woven=weave #v
|
212
264
|
written=write #v
|
213
265
|
wrote=write #v
|
214
266
|
wrung=wring #v
|
215
|
-
bade=bid #v
|
216
|
-
been=be #v
|
217
|
-
bid=bid #v
|
218
|
-
bidden=bid #v
|
219
|
-
burned=burn #v
|
220
|
-
burnt=burn #v
|
221
|
-
dived=dive #v
|
222
|
-
dove=dive #v
|
223
|
-
dreamed=dream #v
|
224
|
-
dreamt=dream #v
|
225
|
-
foregone=forego #v
|
226
|
-
forewent=forego #v
|
227
|
-
leaped=leap #v
|
228
|
-
learned=learn #v
|
229
|
-
learnt=learn #v
|
230
|
-
lept=leap #v
|
231
|
-
lighted=light #v
|
232
|
-
lit=light #v
|
233
|
-
misspelled=misspell #v
|
234
|
-
misspelt=misspell #v
|
235
|
-
mowed=mow #v
|
236
|
-
mown=mow #v
|
237
|
-
proved=prove #v
|
238
|
-
proven=prove #v
|
239
|
-
sawed=saw #v
|
240
|
-
sawn=saw #v
|
241
|
-
sewed=sew #v
|
242
|
-
sewn=sew #v
|
243
|
-
shaved=shave #v
|
244
|
-
shaven=shave #v
|
245
|
-
shod=shoe #v
|
246
|
-
shoed=shoe #v
|
247
|
-
showed=show #v
|
248
|
-
shown=show #v
|
249
|
-
sowed=sow #v
|
250
|
-
sown=sow #v
|
251
|
-
spat=spit #v
|
252
|
-
spilled=spill #v
|
253
|
-
spilt=spill #v
|
254
|
-
spit=spit #v
|
255
|
-
sprang=spring #v
|
256
|
-
sprung=spring #v
|
257
|
-
swelled=swell #v
|
258
|
-
swollen=swell #v
|
259
|
-
thrived=thrive #v
|
260
|
-
thriven=thrive #v
|
261
|
-
throve=thrive #v
|
262
|
-
was=be #v
|
263
|
-
weaved=weave #v
|
264
|
-
were=be #v
|
265
|
-
woven=weave #v
|
266
|
-
wove=weave #v
|
data/lib/lingo.rb
CHANGED
@@ -65,6 +65,14 @@ class Lingo
|
|
65
65
|
|
66
66
|
class << self
|
67
67
|
|
68
|
+
if ENV['LINGO_NO_SORT']
|
69
|
+
def sort!(x) x end
|
70
|
+
def sort(x) x.dup end
|
71
|
+
else
|
72
|
+
def sort!(x) x.sort! end
|
73
|
+
def sort(x) x.sort end
|
74
|
+
end
|
75
|
+
|
68
76
|
def talk(*args)
|
69
77
|
new(*args).talk
|
70
78
|
end
|
@@ -271,8 +279,10 @@ class Lingo
|
|
271
279
|
last_link, auto_link = '', 0
|
272
280
|
|
273
281
|
list.each { |hash|
|
274
|
-
|
275
|
-
|
282
|
+
name = hash.keys.first.camelcase
|
283
|
+
|
284
|
+
cfg = (config["language/attendees/#{name.downcase}"] || {})
|
285
|
+
.merge(hash.values.first).update('name' => name)
|
276
286
|
|
277
287
|
%w[in out].each { |key| (cfg[key] ||= '').downcase! }
|
278
288
|
|
@@ -280,8 +290,6 @@ class Lingo
|
|
280
290
|
cfg['out'] = "auto_link-#{auto_link += 1}" if cfg['out'].empty?
|
281
291
|
last_link = cfg['out']
|
282
292
|
|
283
|
-
cfg.update(config["language/attendees/#{name.downcase}"] || {})
|
284
|
-
|
285
293
|
@attendees << attendee = Attendee.const_get(name).new(cfg, self)
|
286
294
|
|
287
295
|
{ 'in' => subscriber, 'out' => supplier }.each { |key, target|
|
@@ -325,5 +333,5 @@ require_relative 'lingo/language'
|
|
325
333
|
require_relative 'lingo/attendee'
|
326
334
|
require_relative 'lingo/version'
|
327
335
|
|
328
|
-
require 'nuggets/
|
329
|
-
|
336
|
+
require 'nuggets/pluggable'
|
337
|
+
Nuggets::Pluggable.load_plugins_for(Lingo)
|