beerdb 0.7.1 → 0.7.2
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/Manifest.txt +1 -0
- data/lib/beerdb/reader.rb +13 -13
- data/lib/beerdb/version.rb +1 -1
- data/test/test_fixture_matchers.rb +77 -0
- metadata +13 -11
data/Manifest.txt
CHANGED
data/lib/beerdb/reader.rb
CHANGED
@@ -13,25 +13,25 @@ module BeerDb
|
|
13
13
|
|
14
14
|
module FixtureMatcher
|
15
15
|
|
16
|
-
def match_xxx_for_country( name, xxx ) # xxx e.g. beers|breweries
|
16
|
+
def match_xxx_for_country( name, xxx, blk ) # xxx e.g. beers|breweries
|
17
17
|
if name =~ /(?:^|\/)([a-z]{2})-[^\/]+\/#{xxx}/
|
18
18
|
# new style: e.g. /at-austria/beers or ^at-austria!/beers
|
19
19
|
# auto-add required country code (from folder structure)
|
20
20
|
country_key = $1.dup
|
21
|
-
|
21
|
+
blk.call( country_key )
|
22
22
|
true # bingo - match found
|
23
23
|
elsif name =~ /\/([a-z]{2})\/#{xxx}/
|
24
24
|
# classic style: e.g. /at/beers (europe/at/beers)
|
25
25
|
# auto-add required country code (from folder structure)
|
26
26
|
country_key = $1.dup
|
27
|
-
|
27
|
+
blk.call( country_key )
|
28
28
|
true
|
29
29
|
else
|
30
30
|
false # no match found
|
31
31
|
end
|
32
32
|
end
|
33
33
|
|
34
|
-
def match_xxx_for_country_n_region( name, xxx ) # xxx e.g. beers|breweries
|
34
|
+
def match_xxx_for_country_n_region( name, xxx, blk ) # xxx e.g. beers|breweries
|
35
35
|
if name =~ /(?:^|\/)([a-z]{2})-[^\/]+\/([a-z]{1,2})-[^\/]+\/#{xxx}/
|
36
36
|
# new style: e.g. /at-austria/w-wien/beers or
|
37
37
|
# ^at-austria!/w-wien/beers
|
@@ -40,7 +40,7 @@ module FixtureMatcher
|
|
40
40
|
# auto-add required country n region code (from folder structure)
|
41
41
|
country_key = $1.dup
|
42
42
|
region_key = $2.dup
|
43
|
-
|
43
|
+
blk.call( country_key, region_key )
|
44
44
|
true # bingo - match found
|
45
45
|
else
|
46
46
|
false # no match found
|
@@ -48,20 +48,20 @@ module FixtureMatcher
|
|
48
48
|
end
|
49
49
|
|
50
50
|
|
51
|
-
def match_beers_for_country( name, &
|
52
|
-
match_xxx_for_country( name, 'beers',
|
51
|
+
def match_beers_for_country( name, &blk )
|
52
|
+
match_xxx_for_country( name, 'beers', blk )
|
53
53
|
end
|
54
54
|
|
55
|
-
def match_beers_for_country_n_region( name, &
|
56
|
-
match_xxx_for_country_n_region( name, 'beers',
|
55
|
+
def match_beers_for_country_n_region( name, &blk )
|
56
|
+
match_xxx_for_country_n_region( name, 'beers', blk )
|
57
57
|
end
|
58
58
|
|
59
|
-
def match_breweries_for_country( name, &
|
60
|
-
match_xxx_for_country( name, 'breweries',
|
59
|
+
def match_breweries_for_country( name, &blk )
|
60
|
+
match_xxx_for_country( name, 'breweries', blk )
|
61
61
|
end
|
62
62
|
|
63
|
-
def match_breweries_for_country_n_region( name, &
|
64
|
-
match_xxx_for_country_n_region( name, 'breweries',
|
63
|
+
def match_breweries_for_country_n_region( name, &blk )
|
64
|
+
match_xxx_for_country_n_region( name, 'breweries', blk )
|
65
65
|
end
|
66
66
|
|
67
67
|
|
data/lib/beerdb/version.rb
CHANGED
@@ -0,0 +1,77 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
|
4
|
+
require 'helper'
|
5
|
+
|
6
|
+
### todo/fix: move to worlddb along with fixture matcher module!!
|
7
|
+
|
8
|
+
class TestFixtureMatchers < MiniTest::Unit::TestCase
|
9
|
+
|
10
|
+
include BeerDb::FixtureMatcher
|
11
|
+
|
12
|
+
|
13
|
+
def test_country
|
14
|
+
|
15
|
+
beers_at = [
|
16
|
+
'europe/at/beers',
|
17
|
+
'europe/at-austria/beers',
|
18
|
+
'at-austria/beers',
|
19
|
+
'at-austria!/beers'
|
20
|
+
]
|
21
|
+
|
22
|
+
beers_at.each do |name|
|
23
|
+
found = match_beers_for_country( name ) do |country_key|
|
24
|
+
assert( country_key == 'at')
|
25
|
+
end
|
26
|
+
assert( found == true )
|
27
|
+
end
|
28
|
+
|
29
|
+
breweries_at = [
|
30
|
+
'europe/at/breweries',
|
31
|
+
'europe/at-austria/breweries',
|
32
|
+
'at-austria/breweries',
|
33
|
+
'at-austria!/breweries'
|
34
|
+
]
|
35
|
+
|
36
|
+
breweries_at.each do |name|
|
37
|
+
found = match_breweries_for_country( name ) do |country_key|
|
38
|
+
assert( country_key == 'at')
|
39
|
+
end
|
40
|
+
assert( found == true )
|
41
|
+
end
|
42
|
+
end # method test_country
|
43
|
+
|
44
|
+
|
45
|
+
def test_country_n_region
|
46
|
+
|
47
|
+
beers_at = [
|
48
|
+
'europe/at-austria/w-wien/beers',
|
49
|
+
'at-austria/w-wien/beers',
|
50
|
+
'at-austria!/w-wien/beers'
|
51
|
+
]
|
52
|
+
|
53
|
+
beers_at.each do |name|
|
54
|
+
found = match_beers_for_country_n_region( name ) do |country_key,region_key|
|
55
|
+
assert( country_key == 'at')
|
56
|
+
assert( region_key == 'w' )
|
57
|
+
end
|
58
|
+
assert( found == true )
|
59
|
+
end
|
60
|
+
|
61
|
+
breweries_at = [
|
62
|
+
'europe/at-austria/w-wien/breweries',
|
63
|
+
'at-austria/w-wien/breweries',
|
64
|
+
'at-austria!/w-wien/breweries'
|
65
|
+
]
|
66
|
+
|
67
|
+
breweries_at.each do |name|
|
68
|
+
found = match_breweries_for_country_n_region( name ) do |country_key,region_key|
|
69
|
+
assert( country_key == 'at')
|
70
|
+
assert( region_key == 'w' )
|
71
|
+
end
|
72
|
+
assert( found == true )
|
73
|
+
end
|
74
|
+
end # method test_country_n_region
|
75
|
+
|
76
|
+
|
77
|
+
end # class TestFixtureMatchers
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: beerdb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2013-05-20 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activerecord
|
16
|
-
requirement: &
|
16
|
+
requirement: &71631860 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '3.2'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *71631860
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: worlddb
|
27
|
-
requirement: &
|
27
|
+
requirement: &71631640 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '1.7'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *71631640
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: commander
|
38
|
-
requirement: &
|
38
|
+
requirement: &71631420 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 4.1.3
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *71631420
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: rdoc
|
49
|
-
requirement: &
|
49
|
+
requirement: &71631200 !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: *
|
57
|
+
version_requirements: *71631200
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: hoe
|
60
|
-
requirement: &
|
60
|
+
requirement: &71630980 !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: *
|
68
|
+
version_requirements: *71630980
|
69
69
|
description: beerdb - beer.db command line tool
|
70
70
|
email: beerdb@googlegroups.com
|
71
71
|
executables:
|
@@ -106,6 +106,7 @@ files:
|
|
106
106
|
- lib/beerdb/stats.rb
|
107
107
|
- lib/beerdb/version.rb
|
108
108
|
- test/helper.rb
|
109
|
+
- test/test_fixture_matchers.rb
|
109
110
|
- test/test_values.rb
|
110
111
|
- .gemtest
|
111
112
|
homepage: https://github.com/geraldb/beer.db.ruby
|
@@ -137,3 +138,4 @@ specification_version: 3
|
|
137
138
|
summary: beerdb - beer.db command line tool
|
138
139
|
test_files:
|
139
140
|
- test/test_values.rb
|
141
|
+
- test/test_fixture_matchers.rb
|