persondb 0.3.1 → 0.4.0
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/README.md +3 -3
- data/Rakefile +5 -5
- data/lib/persondb.rb +3 -13
- data/lib/persondb/reader.rb +27 -8
- data/lib/persondb/version.rb +1 -1
- data/test/helper.rb +1 -6
- data/test/test_models.rb +1 -1
- data/test/test_reader.rb +4 -3
- metadata +77 -52
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: aa10af4e394c638075a36596fce234db307645e4
|
4
|
+
data.tar.gz: c410185d031420f2122b86f3c0c853ba3b2d7885
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: a225a1f9699e149a6c540515bac204152828f825858ac5a86da0164bdc4aa657b90589ca35ab1515d00e2d33cdd02d8a1a58a1c67da7feeb4640b3578d5b24af
|
7
|
+
data.tar.gz: 94a36208e799bec83d98ed270edc740fd7178dcaaf2cf9bbf2b476288cac7bcd7938dbb6192222dd5ae2d103a55206a44f3031fb290efebcc0edf514eae3e363
|
data/README.md
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
# persondb
|
2
2
|
|
3
|
-
persondb gems - person schema n models for easy (re) use
|
3
|
+
persondb gems - person schema 'n' models for easy (re) use
|
4
4
|
|
5
|
-
* home :: [github.com/
|
6
|
-
* bugs :: [github.com/
|
5
|
+
* home :: [github.com/persondb/person.db.ruby](https://github.com/persondb/person.db.ruby)
|
6
|
+
* bugs :: [github.com/persondb/person.db.ruby/issues](https://github.com/persondb/person.db.ruby/issues)
|
7
7
|
* gem :: [rubygems.org/gems/persondb](https://rubygems.org/gems/persondb)
|
8
8
|
* rdoc :: [rubydoc.info/gems/persondb](http://rubydoc.info/gems/persondb)
|
9
9
|
|
data/Rakefile
CHANGED
@@ -5,10 +5,10 @@ Hoe.spec 'persondb' do
|
|
5
5
|
|
6
6
|
self.version = PersonDb::VERSION
|
7
7
|
|
8
|
-
self.summary =
|
8
|
+
self.summary = "persondb - person schema 'n' models for easy (re)use"
|
9
9
|
self.description = summary
|
10
10
|
|
11
|
-
self.urls = ['https://github.com/
|
11
|
+
self.urls = ['https://github.com/persondb/person.db.ruby']
|
12
12
|
|
13
13
|
self.author = 'Gerald Bauer'
|
14
14
|
self.email = 'webslideshow@googlegroups.com'
|
@@ -21,7 +21,7 @@ Hoe.spec 'persondb' do
|
|
21
21
|
['props' ],
|
22
22
|
['logutils'],
|
23
23
|
['textutils'],
|
24
|
-
['worlddb'],
|
24
|
+
['worlddb-models'],
|
25
25
|
['tagutils'], # tags n tagging tables
|
26
26
|
['activerecord-utils'], # extras e.g. rnd, find_by! for 3.x etc.
|
27
27
|
## 3rd party
|
@@ -31,8 +31,8 @@ Hoe.spec 'persondb' do
|
|
31
31
|
self.licenses = ['Public Domain']
|
32
32
|
|
33
33
|
self.spec_extras = {
|
34
|
-
:
|
34
|
+
required_ruby_version: '>= 1.9.2'
|
35
35
|
}
|
36
36
|
|
37
|
-
|
38
37
|
end
|
38
|
+
|
data/lib/persondb.rb
CHANGED
@@ -1,17 +1,8 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
|
3
|
-
# core and stdlibs
|
4
|
-
# todo: check already included in worlddb - thus, remove? why? why not?
|
5
|
-
require 'json'
|
6
|
-
require 'uri'
|
7
|
-
require 'pp'
|
8
|
-
|
9
3
|
|
10
4
|
# 3rd party gems / libs
|
11
|
-
require 'worlddb' # note: let worlddb pull in all 3rd party gems / libs (do NOT duplicate here)
|
12
|
-
|
13
|
-
## fix: add/move to worlddb
|
14
|
-
require 'logutils/db'
|
5
|
+
require 'worlddb/models' # note: let worlddb pull in all 3rd party gems / libs (do NOT duplicate here)
|
15
6
|
|
16
7
|
|
17
8
|
### our own code
|
@@ -83,6 +74,5 @@ module PersonDb
|
|
83
74
|
|
84
75
|
end # module PersonDb
|
85
76
|
|
86
|
-
|
87
|
-
puts PersonDb.banner
|
88
|
-
|
77
|
+
# say hello
|
78
|
+
puts PersonDb.banner if $DEBUG || (defined?($RUBYLIBS_DEBUG) && $RUBYLIBS_DEBUG)
|
data/lib/persondb/reader.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
|
-
# encoding:
|
1
|
+
# encoding: utf-8
|
2
|
+
|
2
3
|
|
3
4
|
module PersonDb
|
4
5
|
|
@@ -11,23 +12,41 @@ class PersonReader
|
|
11
12
|
# e.g. lets you use Usage instead of Model::Usage
|
12
13
|
include Models
|
13
14
|
|
15
|
+
def self.from_zip( zip_file, entry_path, more_attribs={} )
|
16
|
+
## get text content from zip
|
17
|
+
entry = zip_file.find_entry( entry_path )
|
18
|
+
|
19
|
+
text = entry.get_input_stream().read()
|
20
|
+
text = text.force_encoding( Encoding::UTF_8 )
|
14
21
|
|
15
|
-
|
22
|
+
self.from_string( text, more_attribs )
|
23
|
+
end
|
16
24
|
|
17
|
-
def
|
18
|
-
|
25
|
+
def self.from_file( path, more_attribs={} )
|
26
|
+
## note: assume/enfore utf-8 encoding (with or without BOM - byte order mark)
|
27
|
+
## - see textutils/utils.rb
|
28
|
+
text = File.read_utf8( path )
|
29
|
+
self.from_string( text, more_attribs )
|
19
30
|
end
|
20
31
|
|
32
|
+
def self.from_string( text, more_attribs={} )
|
33
|
+
PersonReader.new( text, more_attribs )
|
34
|
+
end
|
35
|
+
|
21
36
|
|
22
|
-
def
|
23
|
-
|
37
|
+
def initialize( text, more_attribs={} )
|
38
|
+
## todo/fix: how to add opts={} ???
|
39
|
+
@text = text
|
40
|
+
@more_attribs = more_attribs
|
41
|
+
end
|
42
|
+
|
43
|
+
def read()
|
44
|
+
reader = ValuesReader.from_string( @text, @more_attribs )
|
24
45
|
|
25
46
|
reader.each_line do |new_attributes, values|
|
26
47
|
Person.create_or_update_from_values( new_attributes, values )
|
27
48
|
end # each lines
|
28
49
|
end
|
29
50
|
|
30
|
-
|
31
51
|
end # class PersonReader
|
32
52
|
end # module PersonDb
|
33
|
-
|
data/lib/persondb/version.rb
CHANGED
data/test/helper.rb
CHANGED
@@ -1,15 +1,10 @@
|
|
1
|
-
# encoding:
|
1
|
+
# encoding: utf-8
|
2
2
|
|
3
3
|
## $:.unshift(File.dirname(__FILE__))
|
4
4
|
|
5
5
|
## minitest setup
|
6
|
-
|
7
|
-
# require 'minitest/unit'
|
8
6
|
require 'minitest/autorun'
|
9
7
|
|
10
|
-
# include MiniTest::Unit # lets us use TestCase instead of MiniTest::Unit::TestCase
|
11
|
-
|
12
|
-
|
13
8
|
# our own code
|
14
9
|
|
15
10
|
require 'persondb'
|
data/test/test_models.rb
CHANGED
data/test/test_reader.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
require 'helper'
|
4
4
|
|
5
5
|
|
6
|
-
class TestReader < MiniTest::
|
6
|
+
class TestReader < MiniTest::Test
|
7
7
|
|
8
8
|
def setup # runs before every test
|
9
9
|
PersonDb.delete! # always clean-out tables
|
@@ -19,8 +19,9 @@ class TestReader < MiniTest::Unit::TestCase
|
|
19
19
|
def test_read
|
20
20
|
br = Country.find_by_key!( 'br' )
|
21
21
|
|
22
|
-
|
23
|
-
reader.
|
22
|
+
path = "#{PersonDb.test_data_path}/players/south-america/br-brazil/players.txt"
|
23
|
+
reader = PersonReader.from_file( path, country_id: br.id )
|
24
|
+
reader.read()
|
24
25
|
|
25
26
|
assert_equal 23, Person.count
|
26
27
|
assert_equal 23, br.persons.count
|
metadata
CHANGED
@@ -1,116 +1,142 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: persondb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.4.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Gerald Bauer
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2014-05
|
11
|
+
date: 2014-12-05 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: props
|
16
|
-
requirement:
|
17
|
-
none: false
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - ">="
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '0'
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
|
-
version_requirements:
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
25
27
|
- !ruby/object:Gem::Dependency
|
26
28
|
name: logutils
|
27
|
-
requirement:
|
28
|
-
none: false
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
29
30
|
requirements:
|
30
|
-
- -
|
31
|
+
- - ">="
|
31
32
|
- !ruby/object:Gem::Version
|
32
33
|
version: '0'
|
33
34
|
type: :runtime
|
34
35
|
prerelease: false
|
35
|
-
version_requirements:
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
36
41
|
- !ruby/object:Gem::Dependency
|
37
42
|
name: textutils
|
38
|
-
requirement:
|
39
|
-
none: false
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
40
44
|
requirements:
|
41
|
-
- -
|
45
|
+
- - ">="
|
42
46
|
- !ruby/object:Gem::Version
|
43
47
|
version: '0'
|
44
48
|
type: :runtime
|
45
49
|
prerelease: false
|
46
|
-
version_requirements:
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
47
55
|
- !ruby/object:Gem::Dependency
|
48
|
-
name: worlddb
|
49
|
-
requirement:
|
50
|
-
none: false
|
56
|
+
name: worlddb-models
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
51
58
|
requirements:
|
52
|
-
- -
|
59
|
+
- - ">="
|
53
60
|
- !ruby/object:Gem::Version
|
54
61
|
version: '0'
|
55
62
|
type: :runtime
|
56
63
|
prerelease: false
|
57
|
-
version_requirements:
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
58
69
|
- !ruby/object:Gem::Dependency
|
59
70
|
name: tagutils
|
60
|
-
requirement:
|
61
|
-
none: false
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
62
72
|
requirements:
|
63
|
-
- -
|
73
|
+
- - ">="
|
64
74
|
- !ruby/object:Gem::Version
|
65
75
|
version: '0'
|
66
76
|
type: :runtime
|
67
77
|
prerelease: false
|
68
|
-
version_requirements:
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: activerecord-utils
|
71
|
-
requirement:
|
72
|
-
none: false
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
73
86
|
requirements:
|
74
|
-
- -
|
87
|
+
- - ">="
|
75
88
|
- !ruby/object:Gem::Version
|
76
89
|
version: '0'
|
77
90
|
type: :runtime
|
78
91
|
prerelease: false
|
79
|
-
version_requirements:
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
80
97
|
- !ruby/object:Gem::Dependency
|
81
98
|
name: activerecord
|
82
|
-
requirement:
|
83
|
-
none: false
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
84
100
|
requirements:
|
85
|
-
- -
|
101
|
+
- - ">="
|
86
102
|
- !ruby/object:Gem::Version
|
87
103
|
version: '0'
|
88
104
|
type: :runtime
|
89
105
|
prerelease: false
|
90
|
-
version_requirements:
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
91
111
|
- !ruby/object:Gem::Dependency
|
92
112
|
name: rdoc
|
93
|
-
requirement:
|
94
|
-
none: false
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
95
114
|
requirements:
|
96
|
-
- - ~>
|
115
|
+
- - "~>"
|
97
116
|
- !ruby/object:Gem::Version
|
98
117
|
version: '4.0'
|
99
118
|
type: :development
|
100
119
|
prerelease: false
|
101
|
-
version_requirements:
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '4.0'
|
102
125
|
- !ruby/object:Gem::Dependency
|
103
126
|
name: hoe
|
104
|
-
requirement:
|
105
|
-
none: false
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
106
128
|
requirements:
|
107
|
-
- - ~>
|
129
|
+
- - "~>"
|
108
130
|
- !ruby/object:Gem::Version
|
109
|
-
version: '3.
|
131
|
+
version: '3.13'
|
110
132
|
type: :development
|
111
133
|
prerelease: false
|
112
|
-
version_requirements:
|
113
|
-
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - "~>"
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '3.13'
|
139
|
+
description: persondb - person schema 'n' models for easy (re)use
|
114
140
|
email: webslideshow@googlegroups.com
|
115
141
|
executables: []
|
116
142
|
extensions: []
|
@@ -119,6 +145,7 @@ extra_rdoc_files:
|
|
119
145
|
- Manifest.txt
|
120
146
|
- README.md
|
121
147
|
files:
|
148
|
+
- ".gemtest"
|
122
149
|
- HISTORY.md
|
123
150
|
- Manifest.txt
|
124
151
|
- README.md
|
@@ -136,34 +163,32 @@ files:
|
|
136
163
|
- test/helper.rb
|
137
164
|
- test/test_models.rb
|
138
165
|
- test/test_reader.rb
|
139
|
-
|
140
|
-
homepage: https://github.com/geraldb/person.db.ruby
|
166
|
+
homepage: https://github.com/persondb/person.db.ruby
|
141
167
|
licenses:
|
142
168
|
- Public Domain
|
169
|
+
metadata: {}
|
143
170
|
post_install_message:
|
144
171
|
rdoc_options:
|
145
|
-
- --main
|
172
|
+
- "--main"
|
146
173
|
- README.md
|
147
174
|
require_paths:
|
148
175
|
- lib
|
149
176
|
required_ruby_version: !ruby/object:Gem::Requirement
|
150
|
-
none: false
|
151
177
|
requirements:
|
152
|
-
- -
|
178
|
+
- - ">="
|
153
179
|
- !ruby/object:Gem::Version
|
154
180
|
version: 1.9.2
|
155
181
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
156
|
-
none: false
|
157
182
|
requirements:
|
158
|
-
- -
|
183
|
+
- - ">="
|
159
184
|
- !ruby/object:Gem::Version
|
160
185
|
version: '0'
|
161
186
|
requirements: []
|
162
187
|
rubyforge_project:
|
163
|
-
rubygems_version:
|
188
|
+
rubygems_version: 2.4.2
|
164
189
|
signing_key:
|
165
|
-
specification_version:
|
166
|
-
summary: persondb - person schema n models for easy (re)use
|
190
|
+
specification_version: 4
|
191
|
+
summary: persondb - person schema 'n' models for easy (re)use
|
167
192
|
test_files:
|
168
193
|
- test/test_models.rb
|
169
194
|
- test/test_reader.rb
|