worlddb 1.7.2 → 1.8.0

Sign up to get free protection for your applications and to get access to all the features.
data/Manifest.txt CHANGED
@@ -7,7 +7,6 @@ lib/worlddb.rb
7
7
  lib/worlddb/cli/main.rb
8
8
  lib/worlddb/cli/opts.rb
9
9
  lib/worlddb/console.rb
10
- lib/worlddb/data/fixtures.rb
11
10
  lib/worlddb/deleter.rb
12
11
  lib/worlddb/matcher.rb
13
12
  lib/worlddb/models/city.rb
@@ -25,4 +24,5 @@ lib/worlddb/stats.rb
25
24
  lib/worlddb/utils.rb
26
25
  lib/worlddb/version.rb
27
26
  test/helper.rb
27
+ test/test_fixture_matchers.rb
28
28
  test/test_values.rb
data/README.md CHANGED
@@ -1,13 +1,41 @@
1
- # worlddb - world.db Command Line Tool in Ruby
1
+ # worlddb
2
+
3
+ world.db Command Line Tool in Ruby
2
4
 
3
5
  * home :: [github.com/geraldb/world.db.ruby](https://github.com/geraldb/world.db.ruby)
4
6
  * bugs :: [github.com/geraldb/world.db.ruby/issues](https://github.com/geraldb/world.db.ruby/issues)
5
- * gem :: [rubygems.org/gems/worldb](https://rubygems.org/gems/worlddb)
7
+ * gem :: [rubygems.org/gems/worlddb](https://rubygems.org/gems/worlddb)
6
8
  * rdoc :: [rubydoc.info/gems/wrolddb](http://rubydoc.info/gems/worlddb)
7
- * forum :: [groups.google.com/group/opensport](https://groups.google.com/group/opensport)
9
+ * forum :: [groups.google.com/group/openmundi](https://groups.google.com/group/openmundi)
10
+
11
+
12
+ ## Usage Command Line
8
13
 
14
+ world.db command line tool, version 1.8.0
15
+
16
+ Commands:
17
+ create Create DB schema
18
+ help Display global or [command] help documentation.
19
+ load Load fixtures
20
+ logs Show logs
21
+ props Show props
22
+ setup Create DB schema 'n' load all data
23
+ stats Show stats
24
+ test Debug/test command suite
25
+
26
+ Global Options:
27
+ -i, --include PATH Data path (default is .)
28
+ -d, --dbpath PATH Database path (default is .)
29
+ -n, --dbname NAME Database name (datault is world.db)
30
+ -q, --quiet Only show warnings, errors and fatal messages
31
+ -w, --verbose Show debug messages
32
+ -h, --help Display help documentation
33
+ -v, --version Display version information
34
+ -t, --trace Display backtrace when an error occurs
35
+
36
+
37
+ ## Usage Models
9
38
 
10
- ## Usage
11
39
 
12
40
  TBD
13
41
 
@@ -19,7 +47,18 @@ Just install the gem:
19
47
  $ gem install worlddb
20
48
 
21
49
 
50
+ ## Free Open Public Domain Datasets
51
+
52
+ - [`world.db`](https://github.com/openmundi) - free open public domain countries, regions, cities n more data for use in any (programming) language
53
+
54
+
22
55
  ## License
23
56
 
24
57
  The `worlddb` scripts are dedicated to the public domain.
25
- Use it as you please with no restrictions whatsoever.
58
+ Use it as you please with no restrictions whatsoever.
59
+
60
+ ## Questions? Comments?
61
+
62
+ Send them along to the [Open Mundi (world.db) Database Forum/Mailing List](http://groups.google.com/group/openmundi).
63
+ Thanks!
64
+
data/Rakefile CHANGED
@@ -1,4 +1,3 @@
1
- require 'pp'
2
1
  require 'hoe'
3
2
  require './lib/worlddb/version.rb'
4
3
 
@@ -16,7 +15,7 @@ Hoe.spec 'worlddb' do
16
15
  self.urls = ['https://github.com/geraldb/world.db.ruby']
17
16
 
18
17
  self.author = 'Gerald Bauer'
19
- self.email = 'opensport@googlegroups.com'
18
+ self.email = 'openmundi@googlegroups.com'
20
19
 
21
20
  self.extra_deps = [
22
21
  ['textutils', '~> 0.6'], # e.g. >= 0.6 && <= 1.0
@@ -32,54 +31,3 @@ Hoe.spec 'worlddb' do
32
31
  }
33
32
 
34
33
  end
35
-
36
- ##############################
37
- ## for testing
38
- ##
39
- ## NB: use rake -I ./lib dev:test # fresh import (starts w/ clean wipe out)
40
-
41
- namespace :worlddb do
42
-
43
- BUILD_DIR = "./build"
44
-
45
- WORLD_DB_PATH = "#{BUILD_DIR}/world.db"
46
-
47
- DB_CONFIG = {
48
- :adapter => 'sqlite3',
49
- :database => WORLD_DB_PATH
50
- }
51
-
52
- directory BUILD_DIR
53
-
54
- task :clean do
55
- rm WORLD_DB_PATH if File.exists?( WORLD_DB_PATH )
56
- end
57
-
58
- task :env => BUILD_DIR do
59
- require 'worlddb' ### NB: for local testing use rake -I ./lib dev:test e.g. do NOT forget to add -I ./lib
60
- require 'logutils/db'
61
-
62
- LogUtils::Logger.root.level = :info
63
-
64
- pp DB_CONFIG
65
- ActiveRecord::Base.establish_connection( DB_CONFIG )
66
- end
67
-
68
- task :create => :env do
69
- LogDb.create
70
- WorldDb.create
71
- end
72
-
73
- task :import => :env do
74
- WorldDb.read_setup( 'setups/europe.at', '../world.db', skip_tags: true ) # populate world tables
75
- WorldDb.stats
76
- end
77
-
78
-
79
- desc 'worlddb - build from scratch'
80
- task :build => [:clean, :create, :import]
81
-
82
- desc 'worlddb - update'
83
- task :update => [:import]
84
-
85
- end # namespace :worlddb
data/bin/worlddb CHANGED
File without changes
@@ -14,13 +14,13 @@ require 'yaml'
14
14
 
15
15
  ## shortcuts for models
16
16
 
17
- Tag = WorldDb::Models::Tag
18
- Tagging = WorldDb::Models::Tagging
19
- Continent = WorldDb::Models::Continent
20
- Country = WorldDb::Models::Country
21
- Region = WorldDb::Models::Region
22
- City = WorldDb::Models::City
23
- Prop = WorldDb::Models::Prop
17
+ Tag = WorldDb::Model::Tag
18
+ Tagging = WorldDb::Model::Tagging
19
+ Continent = WorldDb::Model::Continent
20
+ Country = WorldDb::Model::Country
21
+ Region = WorldDb::Model::Region
22
+ City = WorldDb::Model::City
23
+ Prop = WorldDb::Model::Prop
24
24
 
25
25
  ## connect to db
26
26
 
@@ -4,34 +4,43 @@ module WorldDb
4
4
 
5
5
  module Matcher
6
6
 
7
- def match_xxx_for_country( name, xxx, blk ) # xxx e.g. cities|regions|beers|breweries
8
- if name =~ /(?:^|\/)([a-z]{2})-[^\/]+\/#{xxx}/
9
- # new style: e.g. /at-austria/beers or ^at-austria!/beers
10
- # auto-add required country code (from folder structure)
7
+ def match_xxx_for_country( name, xxx ) # xxx e.g. cities|regions|beers|breweries
8
+ # auto-add required country code (from folder structure)
9
+ if name =~ /(?:^|\/)([a-z]{2,3})-[^\/]+\/#{xxx}/ || # (1)
10
+ name =~ /(?:^|\/)[0-9]+--([a-z]{2,3})-[^\/]+\/#{xxx}/ || # (2)
11
+ name =~ /(?:^|\/)([a-z]{2,3})\/#{xxx}/ # (3)
12
+
11
13
  country_key = $1.dup
12
- blk.call( country_key )
14
+ yield( country_key )
13
15
  true # bingo - match found
14
- elsif name =~ /\/([a-z]{2})\/#{xxx}/
15
- # classic style: e.g. /at/beers (europe/at/beers)
16
- # auto-add required country code (from folder structure)
17
- country_key = $1.dup
18
- blk.call( country_key )
19
- true
16
+
17
+ ######
18
+ # (1) new style: e.g. /at-austria/beers or ^at-austria!/beers
19
+ #
20
+ # (2) new-new style e.g. /1--at-austria--central/beers
21
+ #
22
+ # (3) classic style: e.g. /at/beers (europe/at/beers)
20
23
  else
21
24
  false # no match found
22
25
  end
23
26
  end
24
27
 
25
- def match_xxx_for_country_n_region( name, xxx, blk ) # xxx e.g. beers|breweries
26
- if name =~ /(?:^|\/)([a-z]{2})-[^\/]+\/([a-z]{1,2})-[^\/]+\/#{xxx}/
27
- # new style: e.g. /at-austria/w-wien/beers or
28
- # ^at-austria!/w-wien/beers
28
+ def match_xxx_for_country_n_region( name, xxx ) # xxx e.g. beers|breweries
29
+ # auto-add required country n region code (from folder structure)
30
+ if name =~ /(?:^|\/)([a-z]{2,3})-[^\/]+\/([a-z]{1,3})-[^\/]+\/#{xxx}/ || # (1)
31
+ name =~ /(?:^|\/)[0-9]+--([a-z]{2,3})-[^\/]+\/[0-9]+--([a-z]{1,3})-[^\/]+\/#{xxx}/ # (2)
32
+
33
+ #######
29
34
  # nb: country must start name (^) or coming after / e.g. europe/at-austria/...
30
- #
31
- # auto-add required country n region code (from folder structure)
35
+ # (1)
36
+ # new style: e.g. /at-austria/w-wien/beers or
37
+ # ^at-austria!/w-wien/beers
38
+ # (2)
39
+ # new new style e.g. /1--at-austria--central/1--w-wien--eastern/beers
40
+
32
41
  country_key = $1.dup
33
42
  region_key = $2.dup
34
- blk.call( country_key, region_key )
43
+ yield( country_key, region_key )
35
44
  true # bingo - match found
36
45
  else
37
46
  false # no match found
@@ -40,23 +49,25 @@ module Matcher
40
49
 
41
50
 
42
51
  def match_cities_for_country( name, &blk )
43
- match_xxx_for_country( name, 'cities', blk )
52
+ ## todo: check if there's a better (more ruby way) to pass along code block ??
53
+ match_xxx_for_country( name, 'cities', &blk )
44
54
  end
45
55
 
46
56
  def match_regions_for_country( name, &blk )
47
- match_xxx_for_country( name, 'regions', blk )
57
+ ## todo: check if there's a better (more ruby way) to pass along code block ??
58
+ match_xxx_for_country( name, 'regions', &blk )
48
59
  end
49
60
 
50
61
  def match_regions_abbr_for_country( name, &blk )
51
- match_xxx_for_country( name, 'regions\.abbr', blk ) # NB: . gets escaped for regex, that is, \.
62
+ match_xxx_for_country( name, 'regions\.abbr', &blk ) # NB: . gets escaped for regex, that is, \.
52
63
  end
53
64
 
54
65
  def match_regions_iso_for_country( name, &blk ) # NB: . gets escaped for regex, that is, \.
55
- match_xxx_for_country( name, 'regions\.iso', blk )
66
+ match_xxx_for_country( name, 'regions\.iso', &blk )
56
67
  end
57
68
 
58
69
  def match_regions_nuts_for_country( name, &blk ) # NB: . gets escaped for regex, that is, \.
59
- match_xxx_for_country( name, 'regions\.nuts', blk )
70
+ match_xxx_for_country( name, 'regions\.nuts', &blk )
60
71
  end
61
72
 
62
73
 
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
 
3
- module WorldDb::Models
3
+ module WorldDb::Model
4
4
 
5
5
  class City < ActiveRecord::Base
6
6
 
@@ -201,4 +201,4 @@ class City < ActiveRecord::Base
201
201
 
202
202
  end # class Cities
203
203
 
204
- end # module WorldDb::Models
204
+ end # module WorldDb::Model
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
 
3
- module WorldDb::Models
3
+ module WorldDb::Model
4
4
 
5
5
  class Continent < ActiveRecord::Base
6
6
 
@@ -10,4 +10,5 @@ module WorldDb::Models
10
10
 
11
11
  end # class Continent
12
12
 
13
- end # module WorldDb::Models
13
+ end # module WorldDb::Model
14
+
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
 
3
- module WorldDb::Models
3
+ module WorldDb::Model
4
4
 
5
5
  class Country < ActiveRecord::Base
6
6
 
@@ -225,4 +225,4 @@ class Country < ActiveRecord::Base
225
225
  end # class Country
226
226
 
227
227
 
228
- end # module WorldDb::Models
228
+ end # module WorldDb::Model
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
 
3
- module WorldDb::Models
3
+ module WorldDb::Model
4
4
 
5
5
  class Lang < ActiveRecord::Base
6
6
 
@@ -12,4 +12,6 @@ module WorldDb::Models
12
12
 
13
13
  end # class Lang
14
14
 
15
- end # module WorldDb::Models
15
+ end # module WorldDb::Model
16
+
17
+
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
 
3
- module WorldDb::Models
3
+ module WorldDb::Model
4
4
 
5
5
  class Prop < ActiveRecord::Base
6
6
 
@@ -28,4 +28,5 @@ private
28
28
 
29
29
  end # class Prop
30
30
 
31
- end # module WorldDb::Models
31
+ end # module WorldDb::Model
32
+
@@ -1,6 +1,6 @@
1
1
  # encoding: UTF-8
2
2
 
3
- module WorldDb::Models
3
+ module WorldDb::Model
4
4
 
5
5
  class Region < ActiveRecord::Base
6
6
 
@@ -150,4 +150,4 @@ class Region < ActiveRecord::Base
150
150
 
151
151
  end # class Region
152
152
 
153
- end # module WorldDb::Models
153
+ end # module WorldDb::Model
@@ -1,14 +1,14 @@
1
1
  # encoding: utf-8
2
2
 
3
- module WorldDb::Models
3
+ module WorldDb::Model
4
4
 
5
5
  class Tag < ActiveRecord::Base
6
6
 
7
7
  has_many :taggings
8
8
 
9
- has_many :cities, :through => :taggings, :source => :taggable, :source_type => 'WorldDb::Models::City', :class_name => 'City'
10
- has_many :countries, :through => :taggings, :source => :taggable, :source_type => 'WorldDb::Models::Country', :class_name => 'Country'
11
- has_many :regions, :through => :taggings, :source => :taggable, :source_type => 'WorldDb::Models::Region', :class_name => 'Region'
9
+ has_many :cities, :through => :taggings, :source => :taggable, :source_type => 'WorldDb::Model::City', :class_name => 'City'
10
+ has_many :countries, :through => :taggings, :source => :taggable, :source_type => 'WorldDb::Model::Country', :class_name => 'Country'
11
+ has_many :regions, :through => :taggings, :source => :taggable, :source_type => 'WorldDb::Model::Region', :class_name => 'Region'
12
12
 
13
13
  ## nb: only allow spaces and underscore inbetween; do not allow digit as first char
14
14
  validates :key, :format => { :with => /^[a-z]$|^[a-z][a-z0-9_ ]*[a-z0-9]$/, :message => 'expected one or more lowercase letters a-z or 0-9 digits or space or underscore' }
@@ -29,4 +29,5 @@ module WorldDb::Models
29
29
 
30
30
  end # class Tag
31
31
 
32
- end # module WorldDb::Models
32
+ end # module WorldDb::Model
33
+
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
 
3
- module WorldDb::Models
3
+ module WorldDb::Model
4
4
 
5
5
  class Tagging < ActiveRecord::Base
6
6
 
@@ -9,4 +9,5 @@ module WorldDb::Models
9
9
 
10
10
  end # class Tagging
11
11
 
12
- end # module WorldDb::Models
12
+ end # module WorldDb::Model
13
+
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
 
3
- module WorldDb::Models
3
+ module WorldDb::Model
4
4
 
5
5
  class Usage < ActiveRecord::Base
6
6
 
@@ -9,4 +9,5 @@ module WorldDb::Models
9
9
 
10
10
  end # class Usage
11
11
 
12
- end # module WorldDb::Models
12
+ end # module WorldDb::Model
13
+
@@ -1,6 +1,6 @@
1
1
 
2
2
  module WorldDb
3
- VERSION = '1.7.2' # sync version w/ sport.db - why? why not?
3
+ VERSION = '1.8.0' # sync version w/ sport.db - why? why not?
4
4
  end
5
5
 
6
6
  ###########################################
data/lib/worlddb.rb CHANGED
@@ -36,15 +36,18 @@ require 'worlddb/models/tag'
36
36
  require 'worlddb/models/tagging'
37
37
  require 'worlddb/models/lang'
38
38
  require 'worlddb/models/usage'
39
+
40
+ module WorldDb
41
+ Models = Model # note: alias for Model - remove later -- DEPRECIATED!!
42
+ end
43
+
44
+
39
45
  require 'worlddb/schema' # NB: requires worlddb/models (include WorldDB::Models)
40
46
  require 'worlddb/matcher'
41
47
  require 'worlddb/reader'
42
48
  require 'worlddb/deleter'
43
49
  require 'worlddb/stats'
44
50
 
45
- require 'worlddb/data/fixtures'
46
-
47
-
48
51
 
49
52
  module WorldDb
50
53
 
@@ -63,7 +66,7 @@ module WorldDb
63
66
 
64
67
  def self.create
65
68
  CreateDb.new.up
66
- WorldDb::Models::Prop.create!( key: 'db.schema.world.version', value: VERSION )
69
+ WorldDb::Model::Prop.create!( key: 'db.schema.world.version', value: VERSION )
67
70
  end
68
71
 
69
72
 
data/test/helper.rb CHANGED
@@ -24,9 +24,9 @@ require 'active_record'
24
24
  require 'worlddb'
25
25
  require 'logutils/db' # NB: explict require required for LogDb (not automatic)
26
26
 
27
- Country = WorldDb::Models::Country
28
- Region = WorldDb::Models::Region
29
- City = WorldDb::Models::City
27
+ Country = WorldDb::Model::Country
28
+ Region = WorldDb::Model::Region
29
+ City = WorldDb::Model::City
30
30
 
31
31
 
32
32
  def setup_in_memory_db
@@ -0,0 +1,96 @@
1
+ # encoding: utf-8
2
+
3
+ require 'helper'
4
+
5
+
6
+ class TestFixtureMatchers < MiniTest::Unit::TestCase
7
+
8
+ include WorldDb::Matcher
9
+
10
+
11
+ def test_cities_for_country
12
+
13
+ cities_at = [
14
+ 'europe/at/cities',
15
+ 'europe/at-austria/cities',
16
+ 'at-austria/cities',
17
+ 'at-austria!/cities'
18
+ ]
19
+
20
+ cities_at.each do |name|
21
+ found = match_cities_for_country( name ) do |country_key|
22
+ assert_equal country_key, 'at'
23
+ end
24
+ assert found
25
+ end
26
+ end # method test_cities_for_country
27
+
28
+ def test_country
29
+
30
+ beers_at = [
31
+ 'europe/at/beers',
32
+ 'europe/at-austria/beers',
33
+ 'at-austria/beers',
34
+ 'at-austria!/beers',
35
+ '1--at-austria--central/beers',
36
+ 'europe/1--at-austria--central/beers'
37
+ ]
38
+
39
+ beers_at.each do |name|
40
+ found = match_xxx_for_country( name, 'beers' ) do |country_key|
41
+ assert_equal country_key, 'at'
42
+ end
43
+ assert found
44
+ end
45
+
46
+ breweries_at = [
47
+ 'europe/at/breweries',
48
+ 'europe/at-austria/breweries',
49
+ 'at-austria/breweries',
50
+ 'at-austria!/breweries'
51
+ ]
52
+
53
+ breweries_at.each do |name|
54
+ found = match_xxx_for_country( name, 'breweries' ) do |country_key|
55
+ assert_equal country_key, 'at'
56
+ end
57
+ assert found
58
+ end
59
+ end # method test_country
60
+
61
+
62
+ def test_country_n_region
63
+
64
+ beers_at = [
65
+ 'europe/at-austria/w-wien/beers',
66
+ 'at-austria/w-wien/beers',
67
+ 'at-austria!/w-wien/beers',
68
+ '1--at-austria--central/1--w-wien--eastern/beers',
69
+ 'europe/1--at-austria--central/1--w-wien--eastern/beers'
70
+ ]
71
+
72
+ beers_at.each do |name|
73
+ found = match_xxx_for_country_n_region( name, 'beers' ) do |country_key,region_key|
74
+ assert_equal country_key, 'at'
75
+ assert_equal region_key, 'w'
76
+ end
77
+ assert found
78
+ end
79
+
80
+ breweries_at = [
81
+ 'europe/at-austria/w-wien/breweries',
82
+ 'at-austria/w-wien/breweries',
83
+ 'at-austria!/w-wien/breweries'
84
+ ]
85
+
86
+ breweries_at.each do |name|
87
+ found = match_xxx_for_country_n_region( name, 'breweries' ) do |country_key,region_key|
88
+ assert_equal country_key, 'at'
89
+ assert_equal region_key, 'w'
90
+ end
91
+ assert found
92
+ end
93
+ end # method test_country_n_region
94
+
95
+
96
+ end # class TestFixtureMatchers
data/test/test_values.rb CHANGED
@@ -33,11 +33,11 @@ class TestValues < MiniTest::Unit::TestCase
33
33
  c = Country.create_or_update_from_attribs( new_attributes, values )
34
34
 
35
35
  c2 = Country.find_by_key!( new_attributes[:key] )
36
- assert( c.id == c2.id )
36
+ assert_equal c.id, c2.id
37
37
 
38
- assert( c.title == new_attributes[:title] )
39
- assert( c.pop == 8_414_638 )
40
- assert( c.area == 83_871 )
38
+ assert_equal c.title, new_attributes[:title]
39
+ assert_equal c.pop, 8_414_638
40
+ assert_equal c.area, 83_871
41
41
  ## todo: assert tag count; add supra:eu etc.
42
42
  end
43
43
 
@@ -64,10 +64,10 @@ class TestValues < MiniTest::Unit::TestCase
64
64
  r = Region.create_or_update_from_attribs( new_attributes, values )
65
65
 
66
66
  r2 = Region.find_by_key!( new_attributes[:key] )
67
- assert( r.id == r2.id )
67
+ assert_equal r.id, r2.id
68
68
 
69
- assert( r.title == new_attributes[:title] )
70
- assert( r.area == 415 )
69
+ assert_equal r.title, new_attributes[:title]
70
+ assert_equal r.area, 415
71
71
  ## todo: assert country_id & country.title for assoc
72
72
  end
73
73
 
@@ -99,14 +99,14 @@ class TestValues < MiniTest::Unit::TestCase
99
99
  c = City.create_or_update_from_attribs( new_attributes, values )
100
100
 
101
101
  c2 = City.find_by_key!( new_attributes[:key] )
102
- assert( c.id == c2.id )
103
-
104
- assert( c.title == new_attributes[:title] )
105
- assert( c.pop == 1_731_236 )
106
- assert( c.popm == 1_724_000 )
107
- assert( c.m == true )
108
- assert( c.region_id == w.id )
109
- assert( c.country_id == at.id )
102
+ assert_equal c.id, c2.id
103
+
104
+ assert_equal c.title, new_attributes[:title]
105
+ assert_equal c.pop, 1_731_236
106
+ assert_equal c.popm, 1_724_000
107
+ assert_equal c.m, true
108
+ assert_equal c.region_id, w.id
109
+ assert_equal c.country_id, at.id
110
110
  end
111
111
 
112
112
 
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.7.2
4
+ version: 1.8.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-06-22 00:00:00.000000000 Z
12
+ date: 2014-01-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: textutils
16
- requirement: &75034640 !ruby/object:Gem::Requirement
16
+ requirement: &20916804 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0.6'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *75034640
24
+ version_requirements: *20916804
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: commander
27
- requirement: &75034420 !ruby/object:Gem::Requirement
27
+ requirement: &20916432 !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: *75034420
35
+ version_requirements: *20916432
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: activerecord
38
- requirement: &75034210 !ruby/object:Gem::Requirement
38
+ requirement: &20916120 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,36 +43,38 @@ dependencies:
43
43
  version: '3.2'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *75034210
46
+ version_requirements: *20916120
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rdoc
49
- requirement: &75033990 !ruby/object:Gem::Requirement
49
+ requirement: &20915748 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
53
53
  - !ruby/object:Gem::Version
54
- version: '3.10'
54
+ version: '4.0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *75033990
57
+ version_requirements: *20915748
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: hoe
60
- requirement: &75033770 !ruby/object:Gem::Requirement
60
+ requirement: &20915328 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
64
64
  - !ruby/object:Gem::Version
65
- version: '3.3'
65
+ version: '3.7'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *75033770
68
+ version_requirements: *20915328
69
69
  description: worlddb - world.db command line tool
70
- email: opensport@googlegroups.com
70
+ email: openmundi@googlegroups.com
71
71
  executables:
72
72
  - worlddb
73
73
  extensions: []
74
74
  extra_rdoc_files:
75
+ - History.md
75
76
  - Manifest.txt
77
+ - README.md
76
78
  files:
77
79
  - History.md
78
80
  - Manifest.txt
@@ -83,7 +85,6 @@ files:
83
85
  - lib/worlddb/cli/main.rb
84
86
  - lib/worlddb/cli/opts.rb
85
87
  - lib/worlddb/console.rb
86
- - lib/worlddb/data/fixtures.rb
87
88
  - lib/worlddb/deleter.rb
88
89
  - lib/worlddb/matcher.rb
89
90
  - lib/worlddb/models/city.rb
@@ -101,6 +102,7 @@ files:
101
102
  - lib/worlddb/utils.rb
102
103
  - lib/worlddb/version.rb
103
104
  - test/helper.rb
105
+ - test/test_fixture_matchers.rb
104
106
  - test/test_values.rb
105
107
  - .gemtest
106
108
  homepage: https://github.com/geraldb/world.db.ruby
@@ -126,9 +128,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
126
128
  version: '0'
127
129
  requirements: []
128
130
  rubyforge_project: worlddb
129
- rubygems_version: 1.8.17
131
+ rubygems_version: 1.8.16
130
132
  signing_key:
131
133
  specification_version: 3
132
134
  summary: worlddb - world.db command line tool
133
135
  test_files:
136
+ - test/test_fixture_matchers.rb
134
137
  - test/test_values.rb
@@ -1,42 +0,0 @@
1
- # encoding: utf-8
2
-
3
-
4
- def find_world_db_path_from_gemfile_gitref!
5
- puts "[debug] find_world_db_path..."
6
- puts "load path:"
7
- pp $LOAD_PATH
8
-
9
- candidates = []
10
- $LOAD_PATH.each do |path|
11
-
12
- # nb: avoid matching /world.db.ruby/ (e.g. gem "worlddb", "0.10.0", :path => "../world.db.ruby")
13
-
14
- if path =~ /\/(world\.db-[a-z0-9]+)|(world\.db)\//
15
- candidates << path.dup
16
- end
17
- end
18
-
19
- puts "found candidates:"
20
- pp candidates
21
-
22
- cand = candidates[0]
23
-
24
- puts "cand before: #{cand}"
25
-
26
- ## nb: *? is non-greedy many operator
27
-
28
- ## todo: why not just cut off trailing /lib - is it good enough??
29
- # it's easier
30
-
31
- regex = /(\/world\.db.*?)(\/.*)/
32
- cand = cand.sub( regex ) do |_|
33
- puts "cutting off >>#{$2}<<"
34
- $1
35
- end
36
-
37
- puts "cand after: #{cand}"
38
-
39
- ## todo:exit with error if not found!!!
40
-
41
- cand
42
- end