namae 0.8.5 → 0.8.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/features/lists.feature +14 -1
- data/lib/namae/parser.rb +27 -27
- data/lib/namae/parser.y +2 -1
- data/lib/namae/version.rb +1 -1
- data/namae.gemspec +2 -2
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3f6872ddc73d5ede176b84941d93ece8a8358278
|
4
|
+
data.tar.gz: 6a527983dad339e16eeed40269059dea77a2977b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a007e9db5937f47a2eeea4ba51bbf4953fcb9c8b4e909a9e0300b4aadd57c2f892f88a3b72928fb63481ed56d7353f16d77b7348c3395486449858db1f83ac26
|
7
|
+
data.tar.gz: 91054498e65e5df88e5aded7abb2ef9ac274f09af6bbec17f889a9f81e35f2e1811731700efdea5dec3a40de461302af56cf273ced8f33f63233a68e01b2b75c
|
data/features/lists.feature
CHANGED
@@ -62,7 +62,7 @@ Feature: Parse a list of names
|
|
62
62
|
| Dennis | Ritchie |
|
63
63
|
| Donald | Knuth |
|
64
64
|
|
65
|
-
@list
|
65
|
+
@list
|
66
66
|
Scenario: A list of names separated by commas
|
67
67
|
Given a parser that prefers commas as separators
|
68
68
|
When I parse the names "G. Proctor, M. Cooper, P. Sanders & B. Malcom"
|
@@ -73,3 +73,16 @@ Feature: Parse a list of names
|
|
73
73
|
| M. | Cooper |
|
74
74
|
| P. | Sanders |
|
75
75
|
| B. | Malcom |
|
76
|
+
|
77
|
+
Scenario: A list of names with particles separated by commas
|
78
|
+
Given a parser that prefers commas as separators
|
79
|
+
When I parse the names "Di Proctor, M., von Cooper, P."
|
80
|
+
Then the names should be:
|
81
|
+
| given | family |
|
82
|
+
| M. | Di Proctor |
|
83
|
+
| P. | Cooper |
|
84
|
+
When I parse the names "Di Proctor, M, von Cooper, P"
|
85
|
+
Then the names should be:
|
86
|
+
| given | family |
|
87
|
+
| M | Di Proctor |
|
88
|
+
| P | Cooper |
|
data/lib/namae/parser.rb
CHANGED
@@ -12,7 +12,7 @@ require 'strscan'
|
|
12
12
|
module Namae
|
13
13
|
class Parser < Racc::Parser
|
14
14
|
|
15
|
-
module_eval(<<'...end parser.y/module_eval...', 'parser.y',
|
15
|
+
module_eval(<<'...end parser.y/module_eval...', 'parser.y', 98)
|
16
16
|
|
17
17
|
include Singleton
|
18
18
|
|
@@ -128,7 +128,7 @@ module_eval(<<'...end parser.y/module_eval...', 'parser.y', 97)
|
|
128
128
|
end
|
129
129
|
|
130
130
|
def will_see_initial?
|
131
|
-
input.peek(6).to_s.strip.split(/\s+/)[0] =~
|
131
|
+
input.peek(6).to_s.strip.split(/\s+/)[0] =~ /^[[:alpha:]]\b/
|
132
132
|
end
|
133
133
|
|
134
134
|
def seen_full_name?
|
@@ -364,28 +364,28 @@ Racc_debug_parser = false
|
|
364
364
|
|
365
365
|
# reduce 0 omitted
|
366
366
|
|
367
|
-
module_eval(<<'.,.,', 'parser.y',
|
367
|
+
module_eval(<<'.,.,', 'parser.y', 11)
|
368
368
|
def _reduce_1(val, _values, result)
|
369
369
|
result = []
|
370
370
|
result
|
371
371
|
end
|
372
372
|
.,.,
|
373
373
|
|
374
|
-
module_eval(<<'.,.,', 'parser.y',
|
374
|
+
module_eval(<<'.,.,', 'parser.y', 12)
|
375
375
|
def _reduce_2(val, _values, result)
|
376
376
|
result = [val[0]]
|
377
377
|
result
|
378
378
|
end
|
379
379
|
.,.,
|
380
380
|
|
381
|
-
module_eval(<<'.,.,', 'parser.y',
|
381
|
+
module_eval(<<'.,.,', 'parser.y', 13)
|
382
382
|
def _reduce_3(val, _values, result)
|
383
383
|
result = val[0] << val[2]
|
384
384
|
result
|
385
385
|
end
|
386
386
|
.,.,
|
387
387
|
|
388
|
-
module_eval(<<'.,.,', 'parser.y',
|
388
|
+
module_eval(<<'.,.,', 'parser.y', 15)
|
389
389
|
def _reduce_4(val, _values, result)
|
390
390
|
result = Name.new(:given => val[0])
|
391
391
|
result
|
@@ -394,14 +394,14 @@ module_eval(<<'.,.,', 'parser.y', 14)
|
|
394
394
|
|
395
395
|
# reduce 5 omitted
|
396
396
|
|
397
|
-
module_eval(<<'.,.,', 'parser.y',
|
397
|
+
module_eval(<<'.,.,', 'parser.y', 17)
|
398
398
|
def _reduce_6(val, _values, result)
|
399
399
|
result = val[0].merge(:family => val[1])
|
400
400
|
result
|
401
401
|
end
|
402
402
|
.,.,
|
403
403
|
|
404
|
-
module_eval(<<'.,.,', 'parser.y',
|
404
|
+
module_eval(<<'.,.,', 'parser.y', 18)
|
405
405
|
def _reduce_7(val, _values, result)
|
406
406
|
result = val[1].merge(val[0])
|
407
407
|
result
|
@@ -410,21 +410,21 @@ module_eval(<<'.,.,', 'parser.y', 17)
|
|
410
410
|
|
411
411
|
# reduce 8 omitted
|
412
412
|
|
413
|
-
module_eval(<<'.,.,', 'parser.y',
|
413
|
+
module_eval(<<'.,.,', 'parser.y', 21)
|
414
414
|
def _reduce_9(val, _values, result)
|
415
415
|
result = Name.new(:appellation => val[0])
|
416
416
|
result
|
417
417
|
end
|
418
418
|
.,.,
|
419
419
|
|
420
|
-
module_eval(<<'.,.,', 'parser.y',
|
420
|
+
module_eval(<<'.,.,', 'parser.y', 22)
|
421
421
|
def _reduce_10(val, _values, result)
|
422
422
|
result = Name.new(:title => val[0])
|
423
423
|
result
|
424
424
|
end
|
425
425
|
.,.,
|
426
426
|
|
427
|
-
module_eval(<<'.,.,', 'parser.y',
|
427
|
+
module_eval(<<'.,.,', 'parser.y', 26)
|
428
428
|
def _reduce_11(val, _values, result)
|
429
429
|
result = Name.new(:given => val[0], :family => val[1], :suffix => val[2])
|
430
430
|
|
@@ -432,7 +432,7 @@ module_eval(<<'.,.,', 'parser.y', 25)
|
|
432
432
|
end
|
433
433
|
.,.,
|
434
434
|
|
435
|
-
module_eval(<<'.,.,', 'parser.y',
|
435
|
+
module_eval(<<'.,.,', 'parser.y', 30)
|
436
436
|
def _reduce_12(val, _values, result)
|
437
437
|
result = Name.new(:given => val[0], :nick => val[1], :family => val[2])
|
438
438
|
|
@@ -440,7 +440,7 @@ module_eval(<<'.,.,', 'parser.y', 29)
|
|
440
440
|
end
|
441
441
|
.,.,
|
442
442
|
|
443
|
-
module_eval(<<'.,.,', 'parser.y',
|
443
|
+
module_eval(<<'.,.,', 'parser.y', 34)
|
444
444
|
def _reduce_13(val, _values, result)
|
445
445
|
result = Name.new(:given => val[0], :nick => val[1],
|
446
446
|
:particle => val[2], :family => val[3])
|
@@ -449,7 +449,7 @@ module_eval(<<'.,.,', 'parser.y', 33)
|
|
449
449
|
end
|
450
450
|
.,.,
|
451
451
|
|
452
|
-
module_eval(<<'.,.,', 'parser.y',
|
452
|
+
module_eval(<<'.,.,', 'parser.y', 39)
|
453
453
|
def _reduce_14(val, _values, result)
|
454
454
|
result = Name.new(:given => val[0], :particle => val[1],
|
455
455
|
:family => val[2])
|
@@ -458,7 +458,7 @@ module_eval(<<'.,.,', 'parser.y', 38)
|
|
458
458
|
end
|
459
459
|
.,.,
|
460
460
|
|
461
|
-
module_eval(<<'.,.,', 'parser.y',
|
461
|
+
module_eval(<<'.,.,', 'parser.y', 44)
|
462
462
|
def _reduce_15(val, _values, result)
|
463
463
|
result = Name.new(:particle => val[0], :family => val[1])
|
464
464
|
|
@@ -466,7 +466,7 @@ module_eval(<<'.,.,', 'parser.y', 43)
|
|
466
466
|
end
|
467
467
|
.,.,
|
468
468
|
|
469
|
-
module_eval(<<'.,.,', 'parser.y',
|
469
|
+
module_eval(<<'.,.,', 'parser.y', 49)
|
470
470
|
def _reduce_16(val, _values, result)
|
471
471
|
result = Name.new({ :family => val[0], :suffix => val[2][0],
|
472
472
|
:given => val[2][1] }, !!val[2][0])
|
@@ -475,7 +475,7 @@ module_eval(<<'.,.,', 'parser.y', 48)
|
|
475
475
|
end
|
476
476
|
.,.,
|
477
477
|
|
478
|
-
module_eval(<<'.,.,', 'parser.y',
|
478
|
+
module_eval(<<'.,.,', 'parser.y', 54)
|
479
479
|
def _reduce_17(val, _values, result)
|
480
480
|
result = Name.new({ :particle => val[0], :family => val[1],
|
481
481
|
:suffix => val[3][0], :given => val[3][1] }, !!val[3][0])
|
@@ -484,7 +484,7 @@ module_eval(<<'.,.,', 'parser.y', 53)
|
|
484
484
|
end
|
485
485
|
.,.,
|
486
486
|
|
487
|
-
module_eval(<<'.,.,', 'parser.y',
|
487
|
+
module_eval(<<'.,.,', 'parser.y', 59)
|
488
488
|
def _reduce_18(val, _values, result)
|
489
489
|
result = Name.new({ :particle => val[0,2].join(' '), :family => val[2],
|
490
490
|
:suffix => val[4][0], :given => val[4][1] }, !!val[4][0])
|
@@ -495,14 +495,14 @@ module_eval(<<'.,.,', 'parser.y', 58)
|
|
495
495
|
|
496
496
|
# reduce 19 omitted
|
497
497
|
|
498
|
-
module_eval(<<'.,.,', 'parser.y',
|
498
|
+
module_eval(<<'.,.,', 'parser.y', 65)
|
499
499
|
def _reduce_20(val, _values, result)
|
500
500
|
result = val.join(' ')
|
501
501
|
result
|
502
502
|
end
|
503
503
|
.,.,
|
504
504
|
|
505
|
-
module_eval(<<'.,.,', 'parser.y',
|
505
|
+
module_eval(<<'.,.,', 'parser.y', 66)
|
506
506
|
def _reduce_21(val, _values, result)
|
507
507
|
result = val.join(' ')
|
508
508
|
result
|
@@ -513,28 +513,28 @@ module_eval(<<'.,.,', 'parser.y', 65)
|
|
513
513
|
|
514
514
|
# reduce 23 omitted
|
515
515
|
|
516
|
-
module_eval(<<'.,.,', 'parser.y',
|
516
|
+
module_eval(<<'.,.,', 'parser.y', 70)
|
517
517
|
def _reduce_24(val, _values, result)
|
518
518
|
result = [nil,val[0]]
|
519
519
|
result
|
520
520
|
end
|
521
521
|
.,.,
|
522
522
|
|
523
|
-
module_eval(<<'.,.,', 'parser.y',
|
523
|
+
module_eval(<<'.,.,', 'parser.y', 71)
|
524
524
|
def _reduce_25(val, _values, result)
|
525
525
|
result = [val[2],val[0]]
|
526
526
|
result
|
527
527
|
end
|
528
528
|
.,.,
|
529
529
|
|
530
|
-
module_eval(<<'.,.,', 'parser.y',
|
530
|
+
module_eval(<<'.,.,', 'parser.y', 72)
|
531
531
|
def _reduce_26(val, _values, result)
|
532
532
|
result = [val[0],nil]
|
533
533
|
result
|
534
534
|
end
|
535
535
|
.,.,
|
536
536
|
|
537
|
-
module_eval(<<'.,.,', 'parser.y',
|
537
|
+
module_eval(<<'.,.,', 'parser.y', 73)
|
538
538
|
def _reduce_27(val, _values, result)
|
539
539
|
result = [val[0],val[2]]
|
540
540
|
result
|
@@ -543,7 +543,7 @@ module_eval(<<'.,.,', 'parser.y', 72)
|
|
543
543
|
|
544
544
|
# reduce 28 omitted
|
545
545
|
|
546
|
-
module_eval(<<'.,.,', 'parser.y',
|
546
|
+
module_eval(<<'.,.,', 'parser.y', 76)
|
547
547
|
def _reduce_29(val, _values, result)
|
548
548
|
result = val.join(' ')
|
549
549
|
result
|
@@ -556,7 +556,7 @@ module_eval(<<'.,.,', 'parser.y', 75)
|
|
556
556
|
|
557
557
|
# reduce 32 omitted
|
558
558
|
|
559
|
-
module_eval(<<'.,.,', 'parser.y',
|
559
|
+
module_eval(<<'.,.,', 'parser.y', 81)
|
560
560
|
def _reduce_33(val, _values, result)
|
561
561
|
result = val.join(' ')
|
562
562
|
result
|
@@ -579,7 +579,7 @@ module_eval(<<'.,.,', 'parser.y', 80)
|
|
579
579
|
|
580
580
|
# reduce 41 omitted
|
581
581
|
|
582
|
-
module_eval(<<'.,.,', 'parser.y',
|
582
|
+
module_eval(<<'.,.,', 'parser.y', 90)
|
583
583
|
def _reduce_42(val, _values, result)
|
584
584
|
result = val.join(' ')
|
585
585
|
result
|
data/lib/namae/parser.y
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
# -*- ruby -*-
|
2
|
+
# vi: set ft=ruby :
|
2
3
|
|
3
4
|
class Namae::Parser
|
4
5
|
|
@@ -209,7 +210,7 @@ require 'strscan'
|
|
209
210
|
end
|
210
211
|
|
211
212
|
def will_see_initial?
|
212
|
-
input.peek(6).to_s.strip.split(/\s+/)[0] =~
|
213
|
+
input.peek(6).to_s.strip.split(/\s+/)[0] =~ /^[[:alpha:]]\b/
|
213
214
|
end
|
214
215
|
|
215
216
|
def seen_full_name?
|
data/lib/namae/version.rb
CHANGED
data/namae.gemspec
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
-
# stub: namae 0.8.
|
5
|
+
# stub: namae 0.8.6 ruby lib
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
8
|
s.name = "namae"
|
9
|
-
s.version = "0.8.
|
9
|
+
s.version = "0.8.6"
|
10
10
|
|
11
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
12
12
|
s.require_paths = ["lib"]
|