worlddb 1.1.0 → 1.2.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.
data/Rakefile CHANGED
@@ -19,7 +19,7 @@ Hoe.spec 'worlddb' do
19
19
  self.email = 'opensport@googlegroups.com'
20
20
 
21
21
  self.extra_deps = [
22
- ['textutils', '~> 0.3.0'],
22
+ ['textutils', '~> 0.4.0'],
23
23
  ['commander', '~> 4.1.3'],
24
24
  ['activerecord', '~> 3.2'] # NB: will include activesupport,etc.
25
25
  ### ['sqlite3', '~> 1.3'] # NB: install on your own; remove dependency
@@ -2,6 +2,7 @@
2
2
 
3
3
  require 'commander/import'
4
4
 
5
+ require 'logutils/db' # add support for logging to db
5
6
  require 'worlddb/cli/opts'
6
7
 
7
8
 
@@ -58,6 +59,8 @@ def connect_to_db( options )
58
59
  pp db_config
59
60
 
60
61
  ActiveRecord::Base.establish_connection( db_config )
62
+
63
+ LogDb.setup # turn on logging to db
61
64
  end
62
65
 
63
66
 
@@ -2,6 +2,10 @@ module WorldDB
2
2
 
3
3
  class Reader
4
4
 
5
+ def logger
6
+ @logger ||= LogUtils[ self ]
7
+ end
8
+
5
9
  ## make models available in sportdb module by default with namespace
6
10
  # e.g. lets you use City instead of Models::City
7
11
  include WorldDB::Models
@@ -10,14 +14,9 @@ class Reader
10
14
  ## required first arg in ctor!!!
11
15
  ## cleanup load_ and remove include_path
12
16
 
13
- def initialize( opts={} )
14
- @logger = LogUtils::Logger.new
15
-
16
- # todo/fix/cleanup: allow initialize( opts = {} ) for logger: logger
17
+ def initialize
17
18
  end
18
19
 
19
- attr_reader :logger
20
-
21
20
 
22
21
  def load( name, include_path )
23
22
 
@@ -92,7 +91,7 @@ class Reader
92
91
 
93
92
  with_path_for( name, include_path) do |path|
94
93
 
95
- reader = HashReader.new( logger, path )
94
+ reader = HashReader.new( path )
96
95
 
97
96
  reader.each do |key, value|
98
97
 
@@ -128,8 +127,7 @@ class Reader
128
127
 
129
128
  with_path_for( name, include_path) do |path|
130
129
 
131
- ### fix/todo/cleanup: HashReader -> make logger a keyword option only; do NOT use here
132
- reader = HashReader.new( logger, path )
130
+ reader = HashReader.new( path )
133
131
 
134
132
  grade = 1
135
133
 
@@ -186,10 +184,10 @@ class Reader
186
184
 
187
185
  puts "*** parsing data '#{name}' (#{path})..."
188
186
 
189
- reader = HashReader.new( logger, path )
187
+ reader = HashReader.new( path )
190
188
 
191
189
  reader.each do |key, value|
192
- puts " adding langs >>#{value}<<to country >>#{key}<<"
190
+ logger.debug " adding langs >>#{value}<<to country >>#{key}<<"
193
191
 
194
192
  country = Country.find_by_key!( key )
195
193
 
@@ -215,7 +213,7 @@ class Reader
215
213
 
216
214
  puts "*** parsing data '#{name}' (#{path})..."
217
215
 
218
- reader = HashReader.new( logger, path )
216
+ reader = HashReader.new( path )
219
217
 
220
218
  reader.each do |key, value|
221
219
  country = Country.find_by_key!( key )
@@ -233,7 +231,7 @@ private
233
231
 
234
232
  puts "*** parsing data '#{name}' (#{path})..."
235
233
 
236
- reader = ValuesReader.new( logger, path, more_values )
234
+ reader = ValuesReader.new( path, more_values )
237
235
 
238
236
  load_fixtures_worker_for( clazz, reader )
239
237
 
@@ -323,7 +321,7 @@ private
323
321
  value_numbers << value.gsub(/[ _]/, '').to_i
324
322
  elsif (values.size==(index+1)) && value =~ /^[a-z0-9\|_ ]+$/ # tags must be last entry
325
323
 
326
- puts " found tags: >>#{value}<<"
324
+ logger.debug " found tags: >>#{value}<<"
327
325
 
328
326
  tag_keys = value.split('|')
329
327
 
@@ -407,13 +405,13 @@ private
407
405
 
408
406
  if rec.present?
409
407
  ## nb: [17..-1] cut off WorldDB::Models:: in name
410
- puts "*** update #{clazz.name[17..-1].downcase} #{rec.id}-#{rec.key}:"
408
+ logger.debug "update #{clazz.name[17..-1].downcase} #{rec.id}-#{rec.key}:"
411
409
  else
412
- puts "*** create #{clazz.name[17..-1].downcase}:"
410
+ logger.debug "create #{clazz.name[17..-1].downcase}:"
413
411
  rec = clazz.new
414
412
  end
415
413
 
416
- puts attribs.to_json
414
+ logger.debug attribs.to_json
417
415
 
418
416
  rec.update_attributes!( attribs )
419
417
 
@@ -429,9 +427,9 @@ private
429
427
  ## todo/fix: add country_id for lookup?
430
428
  city = City.find_by_key( city_key )
431
429
  if city.present?
432
- puts "*** update city #{city.id}-#{city.key}:"
430
+ logger.debug "update city #{city.id}-#{city.key}:"
433
431
  else
434
- puts "*** create city:"
432
+ logger.debug "create city:"
435
433
  city = City.new
436
434
  city_attribs[ :key ] = city_key
437
435
  end
@@ -447,7 +445,7 @@ private
447
445
  ## issue warning: unknown type for city!!!
448
446
  end
449
447
 
450
- puts city_attribs.to_json
448
+ logger.debug city_attribs.to_json
451
449
 
452
450
  city.update_attributes!( city_attribs )
453
451
 
@@ -462,14 +460,14 @@ private
462
460
  if value_tag_keys.size > 0
463
461
 
464
462
  value_tag_keys.uniq! # remove duplicates
465
- puts " adding #{value_tag_keys.size} taggings: >>#{value_tag_keys.join('|')}<<..."
463
+ logger.debug " adding #{value_tag_keys.size} taggings: >>#{value_tag_keys.join('|')}<<..."
466
464
 
467
465
  ### fix/todo: check tag_ids and only update diff (add/remove ids)
468
466
 
469
467
  value_tag_keys.each do |key|
470
468
  tag = Tag.find_by_key( key )
471
469
  if tag.nil? # create tag if it doesn't exit
472
- puts " creating tag >#{key}<"
470
+ logger.debug " creating tag >#{key}<"
473
471
  tag = Tag.create!( key: key )
474
472
  end
475
473
  rec.tags << tag
@@ -1,4 +1,4 @@
1
1
 
2
2
  module WorldDB
3
- VERSION = '1.1.0' # sync version w/ sport.db - why? why not?
3
+ VERSION = '1.2.0' # sync version w/ sport.db - why? why not?
4
4
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: worlddb
3
3
  version: !ruby/object:Gem::Version
4
- hash: 19
4
+ hash: 31
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
- - 1
8
+ - 2
9
9
  - 0
10
- version: 1.1.0
10
+ version: 1.2.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Gerald Bauer
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2013-02-21 00:00:00 Z
18
+ date: 2013-02-22 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: textutils
@@ -25,12 +25,12 @@ dependencies:
25
25
  requirements:
26
26
  - - ~>
27
27
  - !ruby/object:Gem::Version
28
- hash: 19
28
+ hash: 15
29
29
  segments:
30
30
  - 0
31
- - 3
31
+ - 4
32
32
  - 0
33
- version: 0.3.0
33
+ version: 0.4.0
34
34
  type: :runtime
35
35
  version_requirements: *id001
36
36
  - !ruby/object:Gem::Dependency