name_search 0.9.2 → 0.9.3
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/Gemfile +4 -6
- data/README.rdoc +5 -2
- data/lib/name_search/models/nick_name_family.rb +4 -4
- data/lib/name_search/name_search_on.rb +2 -2
- data/lib/name_search/name_searchables_concerns.rb +1 -1
- data/lib/name_search/search.rb +1 -1
- data/lib/name_search/version.rb +1 -1
- metadata +14 -19
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA1:
|
|
3
|
+
metadata.gz: 4e8bba05eb3aeed9c853090c1a0e01470b7be54e
|
|
4
|
+
data.tar.gz: 8afb2c8a4c6cc626339209a5d2cbb128d396ca1d
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: 7ad2ad4fc7f8d17a5aa0445775e587cf198cd0297b8fef15975b7b4a11e0fe21dd9c6b796fd9d5512f7c54e0253a23e6a0b02b74645506248d147e4e769101c4
|
|
7
|
+
data.tar.gz: 66a27d1fb6f27659db5232090425f752661db0344ec986179306a4f4f8b7351072814ad52b1854781039828cca9219f729ca810a1f7eb4ce5caf4a13bb86fb24
|
data/Gemfile
CHANGED
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
source 'http://rubygems.org'
|
|
2
2
|
|
|
3
|
-
gem 'rails', '
|
|
4
|
-
gem 'capybara', '
|
|
3
|
+
gem 'rails', '~> 4.0.0'
|
|
4
|
+
gem 'capybara', '~> 0.4.0'
|
|
5
5
|
gem 'sqlite3'
|
|
6
6
|
|
|
7
7
|
group :development, :test do
|
|
8
|
-
gem 'factory_girl'
|
|
9
|
-
gem 'ruby-debug19'
|
|
8
|
+
gem 'factory_girl', '1.3.3'
|
|
10
9
|
end
|
|
11
10
|
|
|
12
11
|
group :test do
|
|
13
|
-
gem 'rspec-rails', '
|
|
14
|
-
gem 'ruby-debug19'
|
|
12
|
+
gem 'rspec-rails', '~> 2.0'
|
|
15
13
|
end
|
data/README.rdoc
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
= Name Search
|
|
2
|
+
{<img src="https://travis-ci.org/paulyoder/name_search.png?branch=master" alt="Build Status" />}[https://travis-ci.org/paulyoder/name_search]
|
|
2
3
|
|
|
3
|
-
Perform
|
|
4
|
+
Perform intelligent searches on people's names.
|
|
4
5
|
|
|
5
|
-
|
|
6
|
+
Name search uses common nick names and first name/last name ordering to perform its searches.
|
|
7
|
+
|
|
8
|
+
For example, a search for 'Andrew' will return matches on 'Andrew' and 'Andy', while a search for 'Andrew Smith' will return matches on 'Andy Smith' and 'Smith, Andrew'
|
|
6
9
|
|
|
7
10
|
== Installation
|
|
8
11
|
|
|
@@ -9,7 +9,7 @@ module NameSearch
|
|
|
9
9
|
family = NickNameFamily.create
|
|
10
10
|
scrubbed_names = nick_names.flatten.map{|x| Name.scrub_and_split_name(x)}.flatten
|
|
11
11
|
scrubbed_names.each do |name|
|
|
12
|
-
family.names << Name.
|
|
12
|
+
family.names << Name.find_or_create_by(value: name)
|
|
13
13
|
end
|
|
14
14
|
family
|
|
15
15
|
end
|
|
@@ -22,17 +22,17 @@ module NameSearch
|
|
|
22
22
|
|
|
23
23
|
def self.process_file_line(line)
|
|
24
24
|
scrubbed_name_values = line.split.map{|x| Name.scrub_and_split_name(x)}.flatten
|
|
25
|
-
names = Name.where(:value => scrubbed_name_values).
|
|
25
|
+
names = Name.where(:value => scrubbed_name_values).to_a
|
|
26
26
|
first_name = names.find{|x| x.value == scrubbed_name_values.first}
|
|
27
27
|
|
|
28
28
|
if should_create_new_family?(first_name, names)
|
|
29
29
|
family = NickNameFamily.create
|
|
30
30
|
scrubbed_name_values.each do |name|
|
|
31
|
-
family.names << Name.
|
|
31
|
+
family.names << Name.find_or_create_by(value: name)
|
|
32
32
|
end
|
|
33
33
|
else
|
|
34
34
|
scrubbed_name_values.from(1).each do |name|
|
|
35
|
-
first_name.nick_name_families.first.names << Name.
|
|
35
|
+
first_name.nick_name_families.first.names << Name.find_or_create_by(value: name)
|
|
36
36
|
end
|
|
37
37
|
end
|
|
38
38
|
end
|
|
@@ -11,8 +11,8 @@ module NameSearch
|
|
|
11
11
|
self.name_search_attributes = attributes
|
|
12
12
|
|
|
13
13
|
after_save :sync_name_searchables
|
|
14
|
-
has_many :name_searchables,
|
|
15
|
-
:
|
|
14
|
+
has_many :name_searchables, -> { includes :name }, as: :searchable,
|
|
15
|
+
dependent: :destroy, class_name: 'NameSearch::Searchable'
|
|
16
16
|
end
|
|
17
17
|
end
|
|
18
18
|
end
|
|
@@ -28,7 +28,7 @@ module NameSearch
|
|
|
28
28
|
def create_new_name_searchables(names)
|
|
29
29
|
names_to_add = names - name_searchable_values
|
|
30
30
|
names_to_add.each do |name|
|
|
31
|
-
name_searchables.create :
|
|
31
|
+
name_searchables.create name: NameSearch::Name.find_or_create_by(value: name)
|
|
32
32
|
end
|
|
33
33
|
end
|
|
34
34
|
|
data/lib/name_search/search.rb
CHANGED
data/lib/name_search/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,35 +1,31 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: name_search
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.9.
|
|
5
|
-
prerelease:
|
|
4
|
+
version: 0.9.3
|
|
6
5
|
platform: ruby
|
|
7
6
|
authors:
|
|
8
7
|
- Paul Yoder
|
|
9
8
|
autorequire:
|
|
10
9
|
bindir: bin
|
|
11
10
|
cert_chain: []
|
|
12
|
-
date:
|
|
11
|
+
date: 2014-02-19 00:00:00.000000000 Z
|
|
13
12
|
dependencies:
|
|
14
13
|
- !ruby/object:Gem::Dependency
|
|
15
14
|
name: rails
|
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
|
17
|
-
none: false
|
|
18
16
|
requirements:
|
|
19
|
-
- -
|
|
17
|
+
- - '>='
|
|
20
18
|
- !ruby/object:Gem::Version
|
|
21
|
-
version:
|
|
19
|
+
version: 4.0.0
|
|
22
20
|
type: :runtime
|
|
23
21
|
prerelease: false
|
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
25
|
-
none: false
|
|
26
23
|
requirements:
|
|
27
|
-
- -
|
|
24
|
+
- - '>='
|
|
28
25
|
- !ruby/object:Gem::Version
|
|
29
|
-
version:
|
|
30
|
-
description:
|
|
31
|
-
|
|
32
|
-
names ('Andy' == 'Andrew')
|
|
26
|
+
version: 4.0.0
|
|
27
|
+
description: Name search uses common nick names and first name/last name ordering
|
|
28
|
+
to perform its searches.
|
|
33
29
|
email:
|
|
34
30
|
- paulyoder@gmail.com
|
|
35
31
|
executables: []
|
|
@@ -59,26 +55,25 @@ files:
|
|
|
59
55
|
- README.rdoc
|
|
60
56
|
homepage: https://github.com/paulyoder/name_search
|
|
61
57
|
licenses: []
|
|
58
|
+
metadata: {}
|
|
62
59
|
post_install_message:
|
|
63
60
|
rdoc_options: []
|
|
64
61
|
require_paths:
|
|
65
62
|
- lib
|
|
66
63
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
67
|
-
none: false
|
|
68
64
|
requirements:
|
|
69
|
-
- -
|
|
65
|
+
- - '>='
|
|
70
66
|
- !ruby/object:Gem::Version
|
|
71
67
|
version: '0'
|
|
72
68
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
73
|
-
none: false
|
|
74
69
|
requirements:
|
|
75
|
-
- -
|
|
70
|
+
- - '>='
|
|
76
71
|
- !ruby/object:Gem::Version
|
|
77
72
|
version: '0'
|
|
78
73
|
requirements: []
|
|
79
74
|
rubyforge_project:
|
|
80
|
-
rubygems_version:
|
|
75
|
+
rubygems_version: 2.0.6
|
|
81
76
|
signing_key:
|
|
82
|
-
specification_version:
|
|
83
|
-
summary: Perform
|
|
77
|
+
specification_version: 4
|
|
78
|
+
summary: Perform intelligent searches on people’s names.
|
|
84
79
|
test_files: []
|