namae 0.8.5 → 0.8.6
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 +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"]
|