namae 0.8.0 → 0.8.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2a99f6d608d0f0a94a3235e2a00e1bd8403913c5
4
- data.tar.gz: f9efce4cd6dbcfc5c0b7d6d7a29a058a2849ec58
3
+ metadata.gz: e852d37c24eaf8552f35d07a3882e04855834f05
4
+ data.tar.gz: 7ead688127771320b8bd696c5c84c84a1f0a1c3b
5
5
  SHA512:
6
- metadata.gz: 87611448553830c290b1ff250d65390b17ac4a7217e9e12f71f30a14866b82a46bd79650d4810dc21cdb90a219fccc471ffd2025de8e640d0d1ecbb098937877
7
- data.tar.gz: 6310b836f15d5b09df3ed821d39d9e558a463476fa7b6fecde76dd3b1a20305d653776a2923e01d0c890c4c75273de2671f7d6b48c010111e60c3bc082f30808
6
+ metadata.gz: 0ae8f55144a59c87632f88dd7eb5b0264193bdfd0c81372a9312d2decadf41315086b6bd228222e8bba4aaf5d9528eb8b70e7e5286ba594a8e82ddf104410680
7
+ data.tar.gz: eb500ebdf1c8cac24fa5c2322e90fb3e0868af054747a4b7bd33ecc6618d3886339b1a6a23c084a3cf8f6cee7e1efa05a4b0c3659b3740683cc261c1e72c985e
data/.travis.yml CHANGED
@@ -1,6 +1,7 @@
1
1
  language: ruby
2
2
  bundler_args: --without debug osx development
3
3
  rvm:
4
+ - 2.1.0
4
5
  - 2.0.0
5
6
  - 1.9.2
6
7
  - 1.9.3
@@ -10,3 +11,7 @@ rvm:
10
11
  - ree
11
12
  notifications:
12
13
  email: false
14
+ matrix:
15
+ fast_finish: true
16
+ allow_failures:
17
+ - rvm: 1.8.7
data/AGPL CHANGED
@@ -631,7 +631,7 @@ the "copyright" line and a pointer to where the full notice is found.
631
631
 
632
632
  Namae. A personal name parser.
633
633
  Copyright (C) 2012 President and Fellows of Harvard College
634
- Copyright (C) 2013 Sylvester Keil
634
+ Copyright (C) 2013-2014 Sylvester Keil
635
635
 
636
636
  This program is free software: you can redistribute it and/or modify
637
637
  it under the terms of the GNU Affero General Public License as published by
data/BSDL CHANGED
@@ -1,6 +1,6 @@
1
1
  Namae. A personal name parser.
2
2
  Copyright (C) 2012 President and Fellows of Harvard College
3
- Copyright (C) 2013 Sylvester Keil
3
+ Copyright (C) 2013-2014 Sylvester Keil
4
4
 
5
5
  Redistribution and use in source and binary forms, with or without
6
6
  modification, are permitted provided that the following conditions are met:
@@ -25,4 +25,4 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25
25
 
26
26
  The views and conclusions contained in the software and documentation are
27
27
  those of the authors and should not be interpreted as representing official
28
- policies, either expressed or implied, of the copyright holder.
28
+ policies, either expressed or implied, of the copyright holder.
data/Gemfile CHANGED
@@ -1,23 +1,33 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
3
  group :test do
4
- gem 'rspec'
5
- gem 'rake'
6
- gem 'cucumber'
4
+ gem 'rspec', '~>2.14'
5
+ gem 'rake', '~>10.1'
6
+ gem 'cucumber', '~>1.3'
7
7
  end
8
8
 
9
9
  group :development do
10
- gem 'racc', '~> 1.4.8', :platform => [:ruby_20, :ruby_19, :ruby_18]
11
- gem 'simplecov', :require => false
12
- gem 'ZenTest'
13
- gem 'jeweler', '~> 1.8.3'
14
- gem 'yard'
10
+ gem 'racc', '1.4.9', :platform => [:ruby]
11
+ gem 'simplecov', '~>0.8', :require => false, :platforms => [:ruby_19, :ruby_20, :ruby_21]
12
+ gem 'rubinius-coverage', '~>2.0', :platform => :rbx
13
+ gem 'ZenTest', '~>4.9'
14
+ gem 'jeweler', '~> 2.0'
15
+ gem 'yard', '~>0.8'
15
16
  end
16
17
 
17
18
  group :debug do
18
- gem 'debugger', '~> 1.1.3', :platform => [:mri_19]
19
+ gem 'debugger', '~>1.6', :platform => [:mri_20, :mri_21, :mri_19]
20
+ gem 'rubinius-compiler', '~>2.0', :platform => :rbx
21
+ gem 'rubinius-debugger', '~>2.0', :platform => :rbx
19
22
  end
20
23
 
21
24
  group :osx do
22
25
  gem 'autotest-fsevent'
23
26
  end
27
+
28
+ group :travis do
29
+ platform :rbx do
30
+ gem 'rubysl', '~>2.0'
31
+ gem 'racc', '1.4.9'
32
+ end
33
+ end
data/README.md CHANGED
@@ -16,26 +16,26 @@ Quickstart
16
16
  a list of parsed names:
17
17
 
18
18
  require 'namae'
19
-
19
+
20
20
  names = Namae.parse 'Yukihiro "Matz" Matsumoto'
21
21
  #-> [#<Name family="Matsumoto" given="Yukihiro" nick="Matz">]
22
22
 
23
23
  3. Use the name objects to access the individual parts:
24
24
 
25
25
  matz = names[0]
26
-
26
+
27
27
  matz.nick
28
28
  #-> "Matz"
29
-
29
+
30
30
  matz.family
31
31
  #-> "Matsumoto"
32
-
32
+
33
33
  matz.initials
34
34
  #-> "Y.M."
35
-
35
+
36
36
  matz.initials :expand => true
37
37
  #-> "Y. Matsumoto"
38
-
38
+
39
39
  matz.initials :dots => false
40
40
  #-> "YM"
41
41
 
@@ -89,7 +89,7 @@ names are written in display-order:
89
89
 
90
90
  Namae.parse 'Prof. Donald Ervin Knuth'
91
91
  #-> [#<Name family="Knuth" given="Donald Ervin" title="Prof.">]
92
-
92
+
93
93
  Namae.parse 'Ms. Sofia Kovaleskaya'
94
94
  #-> [#<Name family="Kovaleskaya" given="Sofia" appellation="Ms.">]
95
95
 
@@ -143,7 +143,7 @@ The Namae source code is [hosted on GitHub](https://github.com/berkmancenter/nam
143
143
  You can check out a copy of the latest code using Git:
144
144
 
145
145
  $ git clone https://github.com/berkmancenter/namae.git
146
-
146
+
147
147
  To get started, generate the parser and run all tests:
148
148
 
149
149
  $ cd namae
@@ -169,6 +169,6 @@ Namae was written as a part of a Google Summer of Code project. Thanks Google!
169
169
  Copyright
170
170
  ---------
171
171
  Copyright (c) 2012 President and Fellows of Harvard College.
172
- Copyright (c) 2013 Sylvester Keil
172
+ Copyright (c) 2013-2014 Sylvester Keil
173
173
 
174
174
  Namae is dual licensed under the AGPL and a BSD-style license.
data/lib/namae/name.rb CHANGED
@@ -1,11 +1,11 @@
1
1
  module Namae
2
-
2
+
3
3
  # A Name represents a single personal name, exposing its constituent
4
4
  # parts (e.g., family name, given name etc.). Name instances are typically
5
5
  # created and returned from {Namae.parse Namae.parse}.
6
6
  #
7
7
  # name = Namae.parse('Yukihiro "Matz" Matsumoto')[0]
8
- #
8
+ #
9
9
  # name.family #=> Matsumoto
10
10
  # name.nick #=> Matz
11
11
  # name.given #=> Yukihiro
@@ -23,7 +23,7 @@ module Namae
23
23
  :spaces => false
24
24
  }
25
25
  }
26
-
26
+
27
27
  class << self
28
28
  attr_reader :parts, :defaults
29
29
 
@@ -34,7 +34,7 @@ module Namae
34
34
  def parse!(name)
35
35
  Parser.instance.parse!(name)[0] || new
36
36
  end
37
-
37
+
38
38
  # @param name [String] the name to be parsed
39
39
  # @return [Name] the parsed name
40
40
  def parse(name)
@@ -44,7 +44,7 @@ module Namae
44
44
  end
45
45
  end
46
46
 
47
-
47
+
48
48
  # @param attributes [Hash] the individual parts of the name
49
49
  # @param sanitize [Boolean] whether or not to apply extra
50
50
  # sanitation rules
@@ -63,7 +63,7 @@ module Namae
63
63
  end
64
64
  end
65
65
  end
66
-
66
+
67
67
  # @return [String] the name in sort order
68
68
  def sort_order(delimiter = ', ')
69
69
  [family_part, given_part].reject(&:empty?).join(delimiter)
@@ -86,15 +86,15 @@ module Namae
86
86
  def merge(other)
87
87
  raise ArgumentError, "failed to merge #{other.class} into Name" unless
88
88
  other.respond_to?(:each_pair)
89
-
89
+
90
90
  other.each_pair do |part, value|
91
91
  writer = "#{part}="
92
92
  send(writer, value) if !value.nil? && respond_to?(writer)
93
93
  end
94
-
94
+
95
95
  self
96
96
  end
97
-
97
+
98
98
  # @param options [Hash] the options to create the initials
99
99
  #
100
100
  # @option options [true,false] :expand (false) whether or not to expand the family name
@@ -104,7 +104,7 @@ module Namae
104
104
  # @return [String] the name's initials.
105
105
  def initials(options = {})
106
106
  options = Name.defaults[:initials].merge(options)
107
-
107
+
108
108
  if options[:expand]
109
109
  [initials_of(given_part, options), family].compact.join(' ')
110
110
  else
@@ -126,25 +126,25 @@ module Namae
126
126
  def values_at(*arguments)
127
127
  super(*arguments.flatten.map { |k| k.is_a?(Symbol) ? Name.parts.index(k) : k })
128
128
  end
129
-
130
-
129
+
130
+
131
131
  # @return [String] a string representation of the name
132
132
  def inspect
133
133
  "#<Name #{each_pair.map { |k,v| [k,v.inspect].join('=') if v }.compact.join(' ')}>"
134
134
  end
135
-
135
+
136
136
  alias to_s display_order
137
137
 
138
138
  private
139
-
139
+
140
140
  def family_part
141
141
  [particle, family].compact.join(' ')
142
142
  end
143
-
143
+
144
144
  def given_part
145
145
  [given, dropping_particle].compact.join(' ')
146
146
  end
147
-
147
+
148
148
  # @param name [String] a name or part of a name
149
149
  # @return [String] the initials of the passed-in name
150
150
  def initials_of(name, options = {})
data/lib/namae/utility.rb CHANGED
@@ -17,7 +17,7 @@
17
17
  module Namae
18
18
 
19
19
  module_function
20
-
20
+
21
21
  # Parses the passed-in string and returns a list of names. Behaves like
22
22
  # parse but returns an empty list for bad input without raising an error.
23
23
  #
@@ -38,10 +38,10 @@ module Namae
38
38
  def parse!(names)
39
39
  Parser.instance.parse!(names)
40
40
  end
41
-
41
+
42
42
  # @return [Hash] the parser's current configuration.
43
43
  def options
44
44
  Parser.instance.options
45
45
  end
46
-
47
- end
46
+
47
+ end
data/lib/namae/version.rb CHANGED
@@ -2,7 +2,7 @@ module Namae
2
2
  module Version
3
3
  MAJOR = 0
4
4
  MINOR = 8
5
- PATCH = 0
5
+ PATCH = 1
6
6
  BUILD = nil
7
7
 
8
8
  STRING = [MAJOR, MINOR, PATCH, BUILD].compact.join('.').freeze
data/namae.gemspec CHANGED
@@ -2,14 +2,16 @@
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.1 ruby lib
5
6
 
6
7
  Gem::Specification.new do |s|
7
8
  s.name = "namae"
8
- s.version = "0.8.0"
9
+ s.version = "0.8.1"
9
10
 
10
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
+ s.require_paths = ["lib"]
11
13
  s.authors = ["Sylvester Keil", "Dan Collis-Puro"]
12
- s.date = "2013-08-23"
14
+ s.date = "2014-01-07"
13
15
  s.description = " Namae (\u{540d}\u{524d}) is a parser for human names. It recognizes personal names of various cultural backgrounds and tries to split them into their component parts (e.g., given and family names, honorifics etc.). "
14
16
  s.email = ["sylvester@keil.or.at", "dan@collispuro.com"]
15
17
  s.extra_rdoc_files = [
@@ -48,32 +50,34 @@ Gem::Specification.new do |s|
48
50
  ]
49
51
  s.homepage = "https://github.com/berkmancenter/namae"
50
52
  s.licenses = ["AGPL"]
51
- s.require_paths = ["lib"]
52
- s.rubygems_version = "2.0.3"
53
+ s.rubygems_version = "2.2.1"
53
54
  s.summary = "Namae (\u{540d}\u{524d}) parses personal names and splits them into their component parts."
54
55
 
55
56
  if s.respond_to? :specification_version then
56
57
  s.specification_version = 4
57
58
 
58
59
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
59
- s.add_development_dependency(%q<racc>, ["~> 1.4.8"])
60
- s.add_development_dependency(%q<simplecov>, [">= 0"])
61
- s.add_development_dependency(%q<ZenTest>, [">= 0"])
62
- s.add_development_dependency(%q<jeweler>, ["~> 1.8.3"])
63
- s.add_development_dependency(%q<yard>, [">= 0"])
60
+ s.add_development_dependency(%q<racc>, ["= 1.4.9"])
61
+ s.add_development_dependency(%q<simplecov>, ["~> 0.8"])
62
+ s.add_development_dependency(%q<rubinius-coverage>, ["~> 2.0"])
63
+ s.add_development_dependency(%q<ZenTest>, ["~> 4.9"])
64
+ s.add_development_dependency(%q<jeweler>, ["~> 2.0"])
65
+ s.add_development_dependency(%q<yard>, ["~> 0.8"])
64
66
  else
65
- s.add_dependency(%q<racc>, ["~> 1.4.8"])
66
- s.add_dependency(%q<simplecov>, [">= 0"])
67
- s.add_dependency(%q<ZenTest>, [">= 0"])
68
- s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
69
- s.add_dependency(%q<yard>, [">= 0"])
67
+ s.add_dependency(%q<racc>, ["= 1.4.9"])
68
+ s.add_dependency(%q<simplecov>, ["~> 0.8"])
69
+ s.add_dependency(%q<rubinius-coverage>, ["~> 2.0"])
70
+ s.add_dependency(%q<ZenTest>, ["~> 4.9"])
71
+ s.add_dependency(%q<jeweler>, ["~> 2.0"])
72
+ s.add_dependency(%q<yard>, ["~> 0.8"])
70
73
  end
71
74
  else
72
- s.add_dependency(%q<racc>, ["~> 1.4.8"])
73
- s.add_dependency(%q<simplecov>, [">= 0"])
74
- s.add_dependency(%q<ZenTest>, [">= 0"])
75
- s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
76
- s.add_dependency(%q<yard>, [">= 0"])
75
+ s.add_dependency(%q<racc>, ["= 1.4.9"])
76
+ s.add_dependency(%q<simplecov>, ["~> 0.8"])
77
+ s.add_dependency(%q<rubinius-coverage>, ["~> 2.0"])
78
+ s.add_dependency(%q<ZenTest>, ["~> 4.9"])
79
+ s.add_dependency(%q<jeweler>, ["~> 2.0"])
80
+ s.add_dependency(%q<yard>, ["~> 0.8"])
77
81
  end
78
82
  end
79
83
 
data/spec/spec_helper.rb CHANGED
@@ -1,12 +1,16 @@
1
1
  begin
2
- require 'simplecov'
2
+ require 'simplecov'
3
3
  rescue LoadError
4
4
  # ignore
5
- end
5
+ end unless RUBY_VERSION < '1.9'
6
6
 
7
7
  begin
8
- require 'debugger'
9
- rescue LoadError
8
+ if RUBY_ENGINE == 'rbx'
9
+ require 'rubinius/debugger'
10
+ else
11
+ require 'debugger'
12
+ end
13
+ rescue LoadError, NameError
10
14
  # ignore
11
15
  end
12
16
 
@@ -20,5 +24,5 @@ require 'namae'
20
24
  Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
21
25
 
22
26
  RSpec.configure do |config|
23
-
27
+
24
28
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: namae
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 0.8.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sylvester Keil
@@ -9,81 +9,95 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-08-23 00:00:00.000000000 Z
12
+ date: 2014-01-07 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: racc
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - ~>
18
+ - - '='
19
19
  - !ruby/object:Gem::Version
20
- version: 1.4.8
20
+ version: 1.4.9
21
21
  type: :development
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
- - - ~>
25
+ - - '='
26
26
  - !ruby/object:Gem::Version
27
- version: 1.4.8
27
+ version: 1.4.9
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: simplecov
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - '>='
32
+ - - "~>"
33
33
  - !ruby/object:Gem::Version
34
- version: '0'
34
+ version: '0.8'
35
35
  type: :development
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - '>='
39
+ - - "~>"
40
40
  - !ruby/object:Gem::Version
41
- version: '0'
41
+ version: '0.8'
42
+ - !ruby/object:Gem::Dependency
43
+ name: rubinius-coverage
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - "~>"
47
+ - !ruby/object:Gem::Version
48
+ version: '2.0'
49
+ type: :development
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - "~>"
54
+ - !ruby/object:Gem::Version
55
+ version: '2.0'
42
56
  - !ruby/object:Gem::Dependency
43
57
  name: ZenTest
44
58
  requirement: !ruby/object:Gem::Requirement
45
59
  requirements:
46
- - - '>='
60
+ - - "~>"
47
61
  - !ruby/object:Gem::Version
48
- version: '0'
62
+ version: '4.9'
49
63
  type: :development
50
64
  prerelease: false
51
65
  version_requirements: !ruby/object:Gem::Requirement
52
66
  requirements:
53
- - - '>='
67
+ - - "~>"
54
68
  - !ruby/object:Gem::Version
55
- version: '0'
69
+ version: '4.9'
56
70
  - !ruby/object:Gem::Dependency
57
71
  name: jeweler
58
72
  requirement: !ruby/object:Gem::Requirement
59
73
  requirements:
60
- - - ~>
74
+ - - "~>"
61
75
  - !ruby/object:Gem::Version
62
- version: 1.8.3
76
+ version: '2.0'
63
77
  type: :development
64
78
  prerelease: false
65
79
  version_requirements: !ruby/object:Gem::Requirement
66
80
  requirements:
67
- - - ~>
81
+ - - "~>"
68
82
  - !ruby/object:Gem::Version
69
- version: 1.8.3
83
+ version: '2.0'
70
84
  - !ruby/object:Gem::Dependency
71
85
  name: yard
72
86
  requirement: !ruby/object:Gem::Requirement
73
87
  requirements:
74
- - - '>='
88
+ - - "~>"
75
89
  - !ruby/object:Gem::Version
76
- version: '0'
90
+ version: '0.8'
77
91
  type: :development
78
92
  prerelease: false
79
93
  version_requirements: !ruby/object:Gem::Requirement
80
94
  requirements:
81
- - - '>='
95
+ - - "~>"
82
96
  - !ruby/object:Gem::Version
83
- version: '0'
84
- description: ' Namae (名前) is a parser for human names. It recognizes personal names
97
+ version: '0.8'
98
+ description: " Namae (名前) is a parser for human names. It recognizes personal names
85
99
  of various cultural backgrounds and tries to split them into their component parts
86
- (e.g., given and family names, honorifics etc.). '
100
+ (e.g., given and family names, honorifics etc.). "
87
101
  email:
88
102
  - sylvester@keil.or.at
89
103
  - dan@collispuro.com
@@ -92,12 +106,12 @@ extensions: []
92
106
  extra_rdoc_files:
93
107
  - README.md
94
108
  files:
95
- - .autotest
96
- - .document
97
- - .rspec
98
- - .simplecov
99
- - .travis.yml
100
- - .yardopts
109
+ - ".autotest"
110
+ - ".document"
111
+ - ".rspec"
112
+ - ".simplecov"
113
+ - ".travis.yml"
114
+ - ".yardopts"
101
115
  - AGPL
102
116
  - BSDL
103
117
  - Gemfile
@@ -131,18 +145,19 @@ require_paths:
131
145
  - lib
132
146
  required_ruby_version: !ruby/object:Gem::Requirement
133
147
  requirements:
134
- - - '>='
148
+ - - ">="
135
149
  - !ruby/object:Gem::Version
136
150
  version: '0'
137
151
  required_rubygems_version: !ruby/object:Gem::Requirement
138
152
  requirements:
139
- - - '>='
153
+ - - ">="
140
154
  - !ruby/object:Gem::Version
141
155
  version: '0'
142
156
  requirements: []
143
157
  rubyforge_project:
144
- rubygems_version: 2.0.3
158
+ rubygems_version: 2.2.1
145
159
  signing_key:
146
160
  specification_version: 4
147
161
  summary: Namae (名前) parses personal names and splits them into their component parts.
148
162
  test_files: []
163
+ has_rdoc: