worlddb 1.1.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
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