namae 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -39,6 +39,33 @@ Quickstart
39
39
  matz.initials :dots => false
40
40
  #-> "YM"
41
41
 
42
+ Rails
43
+ -----
44
+ It is easy to integrate Namae into your Rails project. There are two typical
45
+ cases where this might be useful: you want to store individual parts of a
46
+ person's name in your database, but want to provide your user's with a single
47
+ input field; or else, you keep personal names in a single database column
48
+ but your application occasionally requires access to individual parts.
49
+
50
+ For the latter use case, there is a straightforward way to add Namae to your
51
+ Rails model:
52
+
53
+ class Person < ActiveRecord::Base
54
+ attr_accessible :name
55
+
56
+ delegate :family, :initials, :to => :namae
57
+
58
+ private
59
+
60
+ def namae
61
+ @namae ||= Namae::Name.parse(name)
62
+ end
63
+ end
64
+
65
+ In this minimal example, we are using the method `Namae::Name.parse` which
66
+ always returns a single Name instance and delegate all readers for the name's
67
+ parts in which we are interested to this instance.
68
+
42
69
  Format and Examples
43
70
  -------------------
44
71
  Namae recognizes names in a wide variety of two basic formats, internally
@@ -36,11 +36,11 @@ module Namae
36
36
  end
37
37
 
38
38
  # @param name [String] the name to be parsed
39
- # @return [Name,nil] the parsed name or nil if the name cannot be parsed
39
+ # @return [Name] the parsed name
40
40
  def parse(name)
41
41
  parse!(name)
42
42
  rescue
43
- nil
43
+ new
44
44
  end
45
45
  end
46
46
 
@@ -2,7 +2,7 @@ module Namae
2
2
  module Version
3
3
  MAJOR = 0
4
4
  MINOR = 2
5
- PATCH = 0
5
+ PATCH = 1
6
6
  BUILD = nil
7
7
 
8
8
  STRING = [MAJOR, MINOR, PATCH, BUILD].compact.join('.').freeze
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "namae"
8
- s.version = "0.2.0"
8
+ s.version = "0.2.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Sylvester Keil", "Dan Collis-Puro"]
12
- s.date = "2012-06-23"
12
+ s.date = "2012-06-24"
13
13
  s.description = " Namae 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
14
  s.email = ["sylvester@keil.or.at", "dan@collispuro.com"]
15
15
  s.extra_rdoc_files = [
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.2.0
4
+ version: 0.2.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,11 +10,11 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-06-23 00:00:00.000000000 Z
13
+ date: 2012-06-24 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: racc
17
- requirement: &70254620056100 !ruby/object:Gem::Requirement
17
+ requirement: &70303877856980 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ~>
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: 1.4.8
23
23
  type: :development
24
24
  prerelease: false
25
- version_requirements: *70254620056100
25
+ version_requirements: *70303877856980
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: rdoc
28
- requirement: &70254620055160 !ruby/object:Gem::Requirement
28
+ requirement: &70303877872020 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ~>
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: '3.12'
34
34
  type: :development
35
35
  prerelease: false
36
- version_requirements: *70254620055160
36
+ version_requirements: *70303877872020
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: bundler
39
- requirement: &70254620053560 !ruby/object:Gem::Requirement
39
+ requirement: &70303877871300 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ~>
@@ -44,10 +44,10 @@ dependencies:
44
44
  version: '1.1'
45
45
  type: :development
46
46
  prerelease: false
47
- version_requirements: *70254620053560
47
+ version_requirements: *70303877871300
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: simplecov
50
- requirement: &70254620052500 !ruby/object:Gem::Requirement
50
+ requirement: &70303877870540 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - ! '>='
@@ -55,10 +55,10 @@ dependencies:
55
55
  version: '0'
56
56
  type: :development
57
57
  prerelease: false
58
- version_requirements: *70254620052500
58
+ version_requirements: *70303877870540
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: ZenTest
61
- requirement: &70254620051340 !ruby/object:Gem::Requirement
61
+ requirement: &70303877869820 !ruby/object:Gem::Requirement
62
62
  none: false
63
63
  requirements:
64
64
  - - ~>
@@ -66,10 +66,10 @@ dependencies:
66
66
  version: 4.8.0
67
67
  type: :development
68
68
  prerelease: false
69
- version_requirements: *70254620051340
69
+ version_requirements: *70303877869820
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: jeweler
72
- requirement: &70254620660080 !ruby/object:Gem::Requirement
72
+ requirement: &70303877869300 !ruby/object:Gem::Requirement
73
73
  none: false
74
74
  requirements:
75
75
  - - ~>
@@ -77,7 +77,7 @@ dependencies:
77
77
  version: 1.8.3
78
78
  type: :development
79
79
  prerelease: false
80
- version_requirements: *70254620660080
80
+ version_requirements: *70303877869300
81
81
  description: ! ' Namae is a parser for human names. It recognizes personal names of
82
82
  various cultural backgrounds and tries to split them into their component parts
83
83
  (e.g., given and family names, honorifics etc.). '
@@ -131,7 +131,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
131
131
  version: '0'
132
132
  segments:
133
133
  - 0
134
- hash: -521949166001682720
134
+ hash: 212543173299856896
135
135
  required_rubygems_version: !ruby/object:Gem::Requirement
136
136
  none: false
137
137
  requirements: