worlddb 1.4.0 → 1.5.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
@@ -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: