worlddb 1.4.0 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -71,7 +71,7 @@ namespace :dev do
71
71
  end
72
72
 
73
73
  task :import => :env do
74
- WorldDB.read_all( '../world.db' ) # populate world tables
74
+ WorldDB.read_setup( 'setups/sport.db.admin', '../world.db', { skip_tags: true } ) # populate world tables
75
75
  WorldDB.stats
76
76
  end
77
77
 
@@ -12,7 +12,19 @@ class Reader
12
12
  ## required first arg in ctor!!!
13
13
  ## cleanup load_ and remove include_path
14
14
 
15
- def initialize
15
+ def initialize( opts = {} )
16
+ ## option: do NOT generate/add any tags for countries/regions/cities
17
+ @skip_tags = opts[:skip_tags].present? ? true : false
18
+ ## option: for now issue warning on update, that is, if key/record (country,region,city) already exists
19
+ @strict = opts[:strict].present? ? true : false
20
+ end
21
+
22
+ def skip_tags?
23
+ @skip_tags == true
24
+ end
25
+
26
+ def strict?
27
+ @strict == true
16
28
  end
17
29
 
18
30
 
@@ -517,19 +529,23 @@ private
517
529
  ## add taggings
518
530
 
519
531
  if value_tag_keys.size > 0
532
+
533
+ if skip_tags?
534
+ logger.debug " skipping add taggings (flag skip_tag)"
535
+ else
536
+ value_tag_keys.uniq! # remove duplicates
537
+ logger.debug " adding #{value_tag_keys.size} taggings: >>#{value_tag_keys.join('|')}<<..."
520
538
 
521
- value_tag_keys.uniq! # remove duplicates
522
- logger.debug " adding #{value_tag_keys.size} taggings: >>#{value_tag_keys.join('|')}<<..."
523
-
524
- ### fix/todo: check tag_ids and only update diff (add/remove ids)
539
+ ### fix/todo: check tag_ids and only update diff (add/remove ids)
525
540
 
526
- value_tag_keys.each do |key|
527
- tag = Tag.find_by_key( key )
528
- if tag.nil? # create tag if it doesn't exit
529
- logger.debug " creating tag >#{key}<"
530
- tag = Tag.create!( key: key )
541
+ value_tag_keys.each do |key|
542
+ tag = Tag.find_by_key( key )
543
+ if tag.nil? # create tag if it doesn't exit
544
+ logger.debug " creating tag >#{key}<"
545
+ tag = Tag.create!( key: key )
546
+ end
547
+ rec.tags << tag
531
548
  end
532
- rec.tags << tag
533
549
  end
534
550
  end
535
551
 
@@ -1,4 +1,4 @@
1
1
 
2
2
  module WorldDB
3
- VERSION = '1.4.0' # sync version w/ sport.db - why? why not?
3
+ VERSION = '1.5.0' # sync version w/ sport.db - why? why not?
4
4
  end
data/lib/worlddb.rb CHANGED
@@ -70,13 +70,13 @@ module WorldDB
70
70
  end
71
71
 
72
72
 
73
- def self.read_setup( setup, include_path )
74
- reader = Reader.new
73
+ def self.read_setup( setup, include_path, opts={} )
74
+ reader = Reader.new( opts )
75
75
  reader.load_setup( setup, include_path )
76
76
  end
77
77
 
78
- def self.read_all( include_path ) # load all builtins (using plain text reader); helper for convenience
79
- read_setup( 'setups/all', include_path )
78
+ def self.read_all( include_path, opts={} ) # load all builtins (using plain text reader); helper for convenience
79
+ read_setup( 'setups/all', include_path, opts )
80
80
  end # method read_all
81
81
 
82
82
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: worlddb
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 1.5.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-02-26 00:00:00.000000000 Z
12
+ date: 2013-03-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: textutils
16
- requirement: &73513430 !ruby/object:Gem::Requirement
16
+ requirement: &79173230 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 0.5.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *73513430
24
+ version_requirements: *79173230
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: commander
27
- requirement: &73513210 !ruby/object:Gem::Requirement
27
+ requirement: &79173010 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 4.1.3
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *73513210
35
+ version_requirements: *79173010
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: activerecord
38
- requirement: &73513000 !ruby/object:Gem::Requirement
38
+ requirement: &79172800 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '3.2'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *73513000
46
+ version_requirements: *79172800
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rdoc
49
- requirement: &73512780 !ruby/object:Gem::Requirement
49
+ requirement: &79172580 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '3.10'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *73512780
57
+ version_requirements: *79172580
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: hoe
60
- requirement: &73512560 !ruby/object:Gem::Requirement
60
+ requirement: &79172360 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,7 +65,7 @@ dependencies:
65
65
  version: '3.3'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *73512560
68
+ version_requirements: *79172360
69
69
  description: worlddb - world.db command line tool
70
70
  email: opensport@googlegroups.com
71
71
  executables: