beerdb 0.8.2 → 0.9.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/README.md CHANGED
@@ -119,6 +119,12 @@ Just install the gem:
119
119
  $ gem install beerdb
120
120
 
121
121
 
122
+ ## Free Open Public Domain Datasets
123
+
124
+ - [`beer.db`](https://github.com/openbeer) - free open public domain beer n brewery data for use in any (programming) language
125
+
126
+
127
+
122
128
  ## License
123
129
 
124
130
  The `beerdb` scripts are dedicated to the public domain.
@@ -126,5 +132,6 @@ Use it as you please with no restrictions whatsoever.
126
132
 
127
133
  ## Questions? Comments?
128
134
 
129
- Send them along to the [Open Beer & Brewery Database Forum/Mailing List](http://groups.google.com/group/beerdb). Thanks!
135
+ Send them along to the [Open Beer & Brewery Database Forum/Mailing List](http://groups.google.com/group/beerdb).
136
+ Thanks!
130
137
 
data/Rakefile CHANGED
@@ -1,6 +1,7 @@
1
1
  require 'hoe'
2
2
  require './lib/beerdb/version.rb'
3
3
 
4
+
4
5
  Hoe.spec 'beerdb' do
5
6
 
6
7
  self.version = BeerDb::VERSION
@@ -21,8 +22,7 @@ Hoe.spec 'beerdb' do
21
22
  ['activerecord', '~> 3.2'], # NB: will include activesupport,etc.
22
23
  ### ['sqlite3', '~> 1.3'] # NB: install on your own; remove dependency
23
24
 
24
- ['worlddb', '~> 1.7'], # NB: worlddb already includes
25
- # - commander
25
+ ['worlddb', '~> 1.8'], # NB: worlddb already includes
26
26
  # - logutils
27
27
  # - textutils
28
28
 
@@ -38,70 +38,3 @@ Hoe.spec 'beerdb' do
38
38
 
39
39
  end
40
40
 
41
-
42
-
43
- ##############################
44
- ## for testing
45
- ##
46
- ## NB: use rake -I ../world.db.ruby/lib -I ./lib beerdb:build
47
-
48
- namespace :beerdb do
49
-
50
- BUILD_DIR = "./build"
51
-
52
- BEER_DB_PATH = "#{BUILD_DIR}/beer.db"
53
-
54
- DB_CONFIG = {
55
- :adapter => 'sqlite3',
56
- :database => BEER_DB_PATH
57
- }
58
-
59
- directory BUILD_DIR
60
-
61
- task :clean do
62
- rm BEER_DB_PATH if File.exists?( BEER_DB_PATH )
63
- end
64
-
65
- task :env => BUILD_DIR do
66
- require 'worlddb' ### NB: for local testing use rake -I ./lib dev:test e.g. do NOT forget to add -I ./lib
67
- require 'beerdb'
68
- require 'logutils/db'
69
-
70
- LogUtils::Logger.root.level = :debug
71
-
72
- pp DB_CONFIG
73
- ActiveRecord::Base.establish_connection( DB_CONFIG )
74
- end
75
-
76
- task :create => :env do
77
- LogDb.create
78
- WorldDb.create
79
- BeerDb.create
80
- end
81
-
82
- task :importworld => :env do
83
- WorldDb.read_setup( 'setups/sport.db.admin', '../world.db', skip_tags: true ) # populate world tables
84
- WorldDb.tables
85
- end
86
-
87
- task :importbeer => :env do
88
- BeerDb.read_setup( 'setups/at', '../beer.db' )
89
- BeerDb.tables
90
- end
91
-
92
- task :deletebeer => :env do
93
- BeerDb.delete!
94
- end
95
-
96
-
97
- desc 'beerdb - build from scratch'
98
- task :build => [:clean, :create, :importworld, :importbeer] do
99
- puts 'Done.'
100
- end
101
-
102
- desc 'beerdb - update'
103
- task :update => [:deletebeer, :importbeer] do
104
- puts 'Done.'
105
- end
106
-
107
- end # namespace :beerdb
@@ -1,6 +1,6 @@
1
1
  # encoding: UTF-8
2
2
 
3
- module BeerDb::Models
3
+ module BeerDb::Model
4
4
 
5
5
  class Beer < ActiveRecord::Base
6
6
 
@@ -10,15 +10,15 @@ class Beer < ActiveRecord::Base
10
10
  # self.create_or_update_from_values
11
11
  extend TextUtils::ValueHelper # e.g. self.is_year?, self.is_region?, self.is_address?, is_taglist? etc.
12
12
 
13
- belongs_to :country, :class_name => 'WorldDb::Models::Country', :foreign_key => 'country_id'
14
- belongs_to :region, :class_name => 'WorldDb::Models::Region', :foreign_key => 'region_id'
15
- belongs_to :city, :class_name => 'WorldDb::Models::City', :foreign_key => 'city_id'
13
+ belongs_to :country, :class_name => 'WorldDb::Model::Country', :foreign_key => 'country_id'
14
+ belongs_to :region, :class_name => 'WorldDb::Model::Region', :foreign_key => 'region_id'
15
+ belongs_to :city, :class_name => 'WorldDb::Model::City', :foreign_key => 'city_id'
16
16
 
17
- belongs_to :brand, :class_name => 'BeerDb::Models::Brewery', :foreign_key => 'brand_id'
18
- belongs_to :brewery, :class_name => 'BeerDb::Models::Brewery', :foreign_key => 'brewery_id'
17
+ belongs_to :brand, :class_name => 'BeerDb::Model::Brewery', :foreign_key => 'brand_id'
18
+ belongs_to :brewery, :class_name => 'BeerDb::Model::Brewery', :foreign_key => 'brewery_id'
19
19
 
20
- has_many :taggings, :as => :taggable, :class_name => 'WorldDb::Models::Tagging'
21
- has_many :tags, :through => :taggings, :class_name => 'WorldDb::Models::Tag'
20
+ has_many :taggings, :as => :taggable, :class_name => 'WorldDb::Model::Tagging'
21
+ has_many :tags, :through => :taggings, :class_name => 'WorldDb::Model::Tag'
22
22
 
23
23
  validates :key, :format => { :with => /^[a-z][a-z0-9]+$/, :message => 'expected two or more lowercase letters a-z or 0-9 digits' }
24
24
 
@@ -191,4 +191,4 @@ class Beer < ActiveRecord::Base
191
191
 
192
192
  end # class Beer
193
193
 
194
- end # module BeerDb::Models
194
+ end # module BeerDb::Model
@@ -1,6 +1,6 @@
1
1
  # encoding: UTF-8
2
2
 
3
- module BeerDb::Models
3
+ module BeerDb::Model
4
4
 
5
5
  class Bookmark < ActiveRecord::Base
6
6
 
@@ -10,22 +10,22 @@ class Bookmark < ActiveRecord::Base
10
10
 
11
11
  ### fix - how to do it with has_many macro? use finder_sql?
12
12
  def drinks
13
- ## todo: check/assert bookmarkable_type == BeerDB::Models::Beer
13
+ ## todo: check/assert bookmarkable_type == BeerDB::Model::Beer
14
14
  Drink.where( user_id: user_id, beer_id: bookmarkable_id )
15
15
  end
16
16
 
17
17
  def notes
18
- ## todo: check/assert bookmarkable_type == BeerDB::Models::Beer
18
+ ## todo: check/assert bookmarkable_type == BeerDB::Model::Beer
19
19
  Note.where( user_id: user_id, beer_id: bookmarkable_id )
20
20
  end
21
21
 
22
22
 
23
23
  ## todo: check: how to handle polymorphic best for getting beer for bookmarkable?
24
24
  def beer
25
- ## todo: check/assert bookmarkable_type == BeerDB::Models::Beer
25
+ ## todo: check/assert bookmarkable_type == BeerDB::Model::Beer
26
26
  Beer.find( bookmarkable_id )
27
27
  end
28
28
 
29
29
  end # class Bookmark
30
30
 
31
- end # module BeerDb::Models
31
+ end # module BeerDb::Model
@@ -1,19 +1,19 @@
1
1
  # encoding: UTF-8
2
2
 
3
- module BeerDb::Models
3
+ module BeerDb::Model
4
4
 
5
5
  class Brand < ActiveRecord::Base
6
6
 
7
7
  # NB: use extend - is_<type>? become class methods e.g. self.is_<type>?
8
8
  extend TextUtils::ValueHelper # e.g. self.find_key_n_title, self.is_year?, self.is_region?, is_address?, is_taglist? etc.
9
9
 
10
- belongs_to :country, :class_name => 'WorldDb::Models::Country', :foreign_key => 'country_id'
11
- belongs_to :region, :class_name => 'WorldDb::Models::Region', :foreign_key => 'region_id'
12
- belongs_to :city, :class_name => 'WorldDb::Models::City', :foreign_key => 'city_id'
10
+ belongs_to :country, :class_name => 'WorldDb::Model::Country', :foreign_key => 'country_id'
11
+ belongs_to :region, :class_name => 'WorldDb::Model::Region', :foreign_key => 'region_id'
12
+ belongs_to :city, :class_name => 'WorldDb::Model::City', :foreign_key => 'city_id'
13
13
 
14
- belongs_to :brewery, :class_name => 'BeerDb::Models::Brewery', :foreign_key => 'brewery_id'
14
+ belongs_to :brewery, :class_name => 'BeerDb::Model::Brewery', :foreign_key => 'brewery_id'
15
15
 
16
- has_many :beers, :class_name => 'BeerDb::Models::Beer', :foreign_key => 'brand_id'
16
+ has_many :beers, :class_name => 'BeerDb::Model::Beer', :foreign_key => 'brand_id'
17
17
 
18
18
  validates :key, :format => { :with => /^[a-z][a-z0-9]+$/, :message => 'expected two or more lowercase letters a-z or 0-9 digits' }
19
19
 
@@ -57,4 +57,4 @@ class Brand < ActiveRecord::Base
57
57
 
58
58
  end # class Brand
59
59
 
60
- end # module BeerDb::Models
60
+ end # module BeerDb::Model
@@ -1,6 +1,6 @@
1
1
  # encoding: UTF-8
2
2
 
3
- module BeerDb::Models
3
+ module BeerDb::Model
4
4
 
5
5
  class Brewery < ActiveRecord::Base
6
6
 
@@ -13,15 +13,15 @@ class Brewery < ActiveRecord::Base
13
13
 
14
14
  self.table_name = 'breweries'
15
15
 
16
- belongs_to :country, :class_name => 'WorldDb::Models::Country', :foreign_key => 'country_id'
17
- belongs_to :region, :class_name => 'WorldDb::Models::Region', :foreign_key => 'region_id'
18
- belongs_to :city, :class_name => 'WorldDb::Models::City', :foreign_key => 'city_id'
16
+ belongs_to :country, :class_name => 'WorldDb::Model::Country', :foreign_key => 'country_id'
17
+ belongs_to :region, :class_name => 'WorldDb::Model::Region', :foreign_key => 'region_id'
18
+ belongs_to :city, :class_name => 'WorldDb::Model::City', :foreign_key => 'city_id'
19
19
 
20
- has_many :beers, :class_name => 'BeerDb::Models::Beer', :foreign_key => 'brewery_id'
21
- has_many :brands, :class_name => 'BeerDb::Models::Brand', :foreign_key => 'brand_id'
20
+ has_many :beers, :class_name => 'BeerDb::Model::Beer', :foreign_key => 'brewery_id'
21
+ has_many :brands, :class_name => 'BeerDb::Model::Brand', :foreign_key => 'brand_id'
22
22
 
23
- has_many :taggings, :as => :taggable, :class_name => 'WorldDb::Models::Tagging'
24
- has_many :tags, :through => :taggings, :class_name => 'WorldDb::Models::Tag'
23
+ has_many :taggings, :as => :taggable, :class_name => 'WorldDb::Model::Tagging'
24
+ has_many :tags, :through => :taggings, :class_name => 'WorldDb::Model::Tag'
25
25
 
26
26
  validates :key, :format => { :with => /^[a-z][a-z0-9]+$/, :message => 'expected two or more lowercase letters a-z or 0-9 digits' }
27
27
 
@@ -230,4 +230,4 @@ class Brewery < ActiveRecord::Base
230
230
  end # class Brewery
231
231
 
232
232
 
233
- end # module BeerDb::Models
233
+ end # module BeerDb::Model
@@ -1,9 +1,11 @@
1
- module WorldDb::Models
1
+ module WorldDb::Model
2
2
 
3
3
  class City
4
- has_many :beers, :class_name => 'BeerDb::Models::Beer', :foreign_key => 'city_id'
5
- has_many :brands, :class_name => 'BeerDb::Models::Brand', :foreign_key => 'city_id'
6
- has_many :breweries, :class_name => 'BeerDb::Models::Brewery', :foreign_key => 'city_id'
4
+ has_many :beers, :class_name => 'BeerDb::Model::Beer', :foreign_key => 'city_id'
5
+ has_many :brands, :class_name => 'BeerDb::Model::Brand', :foreign_key => 'city_id'
6
+ has_many :breweries, :class_name => 'BeerDb::Model::Brewery', :foreign_key => 'city_id'
7
7
  end # class Country
8
8
 
9
- end # module WorldDb::Models
9
+ end # module WorldDb::Model
10
+
11
+
@@ -1,10 +1,9 @@
1
-
2
- module WorldDb::Models
1
+ module WorldDb::Model
3
2
 
4
3
  class Country
5
- has_many :beers, :class_name => 'BeerDb::Models::Beer', :foreign_key => 'country_id'
6
- has_many :brands, :class_name => 'BeerDb::Models::Brand', :foreign_key => 'country_id'
7
- has_many :breweries, :class_name => 'BeerDb::Models::Brewery', :foreign_key => 'country_id'
4
+ has_many :beers, :class_name => 'BeerDb::Model::Beer', :foreign_key => 'country_id'
5
+ has_many :brands, :class_name => 'BeerDb::Model::Brand', :foreign_key => 'country_id'
6
+ has_many :breweries, :class_name => 'BeerDb::Model::Brewery', :foreign_key => 'country_id'
8
7
  end # class Country
9
8
 
10
- end # module WorldDb::Models
9
+ end # module WorldDb::Model
@@ -1,11 +1,11 @@
1
1
  # encoding: UTF-8
2
2
 
3
- module BeerDb::Models
3
+ module BeerDb::Model
4
4
 
5
5
  class Drink < ActiveRecord::Base
6
6
 
7
- belongs_to :beer, class_name: 'BeerDb::Models::Beer'
8
- belongs_to :user, class_name: 'BeerDb::Models::User'
7
+ belongs_to :beer, class_name: 'BeerDb::Model::Beer'
8
+ belongs_to :user, class_name: 'BeerDb::Model::User'
9
9
 
10
10
  before_save :on_before_save
11
11
 
@@ -19,4 +19,4 @@ class Drink < ActiveRecord::Base
19
19
 
20
20
  end # class Drink
21
21
 
22
- end # module BeerDb::Models
22
+ end # module BeerDb::Model
@@ -1,19 +1,20 @@
1
1
  ### forward references
2
2
  ## require first to resolve circular references
3
3
 
4
- module BeerDb::Models
4
+
5
+ module BeerDb::Model
5
6
 
6
7
  ## todo: why? why not use include WorldDb::Models here???
7
8
 
8
- Continent = WorldDb::Models::Continent
9
- Country = WorldDb::Models::Country
10
- Region = WorldDb::Models::Region
11
- City = WorldDb::Models::City
9
+ Continent = WorldDb::Model::Continent
10
+ Country = WorldDb::Model::Country
11
+ Region = WorldDb::Model::Region
12
+ City = WorldDb::Model::City
12
13
 
13
- Tag = WorldDb::Models::Tag
14
- Tagging = WorldDb::Models::Tagging
14
+ Tag = WorldDb::Model::Tag
15
+ Tagging = WorldDb::Model::Tagging
15
16
 
16
- Prop = WorldDb::Models::Prop
17
+ Prop = WorldDb::Model::Prop
17
18
 
18
19
  class Beer < ActiveRecord::Base ; end
19
20
  class Brand < ActiveRecord::Base ; end
@@ -27,10 +28,11 @@ module BeerDb::Models
27
28
  end
28
29
 
29
30
 
30
- module WorldDb::Models
31
+ module WorldDb::Model
31
32
 
32
- Beer = BeerDb::Models::Beer
33
- Brand = BeerDb::Models::Brand
34
- Brewery = BeerDb::Models::Brewery
33
+ Beer = BeerDb::Model::Beer
34
+ Brand = BeerDb::Model::Brand
35
+ Brewery = BeerDb::Model::Brewery
35
36
 
36
37
  end
38
+
@@ -1,12 +1,12 @@
1
1
  # encoding: UTF-8
2
2
 
3
- module BeerDb::Models
3
+ module BeerDb::Model
4
4
 
5
5
  class Note < ActiveRecord::Base
6
6
 
7
- belongs_to :beer, class_name: 'BeerDb::Models::Beer'
8
- belongs_to :user, class_name: 'BeerDb::Models::User'
7
+ belongs_to :beer, class_name: 'BeerDb::Model::Beer'
8
+ belongs_to :user, class_name: 'BeerDb::Model::User'
9
9
 
10
10
  end # class Note
11
11
 
12
- end # module BeerDb::Models
12
+ end # module BeerDb::Model
@@ -1,10 +1,10 @@
1
-
2
- module WorldDb::Models
1
+ module WorldDb::Model
3
2
 
4
3
  class Region
5
- has_many :beers, :class_name => 'BeerDb::Models::Beer', :foreign_key => 'region_id'
6
- has_many :brands, :class_name => 'BeerDb::Models::Brand', :foreign_key => 'region_id'
7
- has_many :breweries, :class_name => 'BeerDb::Models::Brewery', :foreign_key => 'region_id'
4
+ has_many :beers, :class_name => 'BeerDb::Model::Beer', :foreign_key => 'region_id'
5
+ has_many :brands, :class_name => 'BeerDb::Model::Brand', :foreign_key => 'region_id'
6
+ has_many :breweries, :class_name => 'BeerDb::Model::Brewery', :foreign_key => 'region_id'
8
7
  end # class Region
9
8
 
10
- end # module WorldDb::Models
9
+ end # module WorldDb::Model
10
+
@@ -1,9 +1,8 @@
1
-
2
- module WorldDb::Models
1
+ module WorldDb::Model
3
2
 
4
3
  class Tag
5
- has_many :beers, :through => :taggings, :source => :taggable, :source_type => 'BeerDb::Models::Beer', :class_name => 'BeerDb::Models::Beer'
6
- has_many :breweries, :through => :taggings, :source => :taggable, :source_type => 'BeerDb::Models::Brewery', :class_name => 'BeerDb::Models::Brewery'
4
+ has_many :beers, :through => :taggings, :source => :taggable, :source_type => 'BeerDb::Model::Beer', :class_name => 'BeerDb::Model::Beer'
5
+ has_many :breweries, :through => :taggings, :source => :taggable, :source_type => 'BeerDb::Model::Brewery', :class_name => 'BeerDb::Model::Brewery'
7
6
  end # class Country
8
7
 
9
- end # module WorldDb::Models
8
+ end # module WorldDb::Model
@@ -1,6 +1,6 @@
1
1
  # encoding: UTF-8
2
2
 
3
- module BeerDb::Models
3
+ module BeerDb::Model
4
4
 
5
5
  class User < ActiveRecord::Base
6
6
 
@@ -23,4 +23,5 @@ class User < ActiveRecord::Base
23
23
 
24
24
  end # class User
25
25
 
26
- end # module BeerDb::Models
26
+ end # module BeerDb::Model
27
+
data/lib/beerdb/reader.rb CHANGED
@@ -6,19 +6,19 @@ module BeerDb
6
6
  module Matcher
7
7
 
8
8
  def match_beers_for_country( name, &blk )
9
- match_xxx_for_country( name, 'beers', blk )
9
+ match_xxx_for_country( name, 'beers', &blk )
10
10
  end
11
11
 
12
12
  def match_beers_for_country_n_region( name, &blk )
13
- match_xxx_for_country_n_region( name, 'beers', blk )
13
+ match_xxx_for_country_n_region( name, 'beers', &blk )
14
14
  end
15
15
 
16
16
  def match_breweries_for_country( name, &blk )
17
- match_xxx_for_country( name, 'breweries', blk )
17
+ match_xxx_for_country( name, 'breweries', &blk )
18
18
  end
19
19
 
20
20
  def match_breweries_for_country_n_region( name, &blk )
21
- match_xxx_for_country_n_region( name, 'breweries', blk )
21
+ match_xxx_for_country_n_region( name, 'breweries', &blk )
22
22
  end
23
23
 
24
24
  end # module Matcher
@@ -30,7 +30,7 @@ class Reader
30
30
 
31
31
  include BeerDb::Models
32
32
 
33
- include WorldDb::Matcher
33
+ include WorldDb::Matcher ## fix: move to BeerDb::Matcher module ??? - cleaner?? why? why not?
34
34
  include BeerDb::Matcher # lets us use match_teams_for_country etc.
35
35
 
36
36
  attr_reader :include_path
@@ -151,12 +151,17 @@ class Reader
151
151
  country = Country.find_by_key!( country_key )
152
152
  logger.debug "Country #{country.key} >#{country.title} (#{country.code})<"
153
153
 
154
- # NB: region lookup requires country id (region key only unique for country)
155
- region = Region.find_by_key_and_country_id!( region_key, country.id )
156
- logger.debug "Region #{region.key} >#{region.title}<"
157
-
158
154
  more_attribs[ :country_id ] = country.id
159
- more_attribs[ :region_id ] = region.id
155
+
156
+ # note: region lookup requires country id (region key only unique for country)
157
+ region = Region.find_by_key_and_country_id( region_key, country.id )
158
+ if region.nil?
159
+ # note: allow unknown region keys; issue warning n skip region
160
+ logger.warn "Region w/ key >#{region_key}< not found; skip adding region"
161
+ else
162
+ logger.debug "Region #{region.key} >#{region.title}<"
163
+ more_attribs[ :region_id ] = region.id
164
+ end
160
165
 
161
166
  more_attribs[ :txt ] = name # store source ref
162
167
 
@@ -1,6 +1,6 @@
1
1
  # encoding: UTF-8
2
2
 
3
- module BeerDb::Models
3
+ module BeerDb::Model
4
4
 
5
5
  class BeerSerializer
6
6
 
@@ -42,4 +42,4 @@ module BeerDb::Models
42
42
 
43
43
  end # class BeerSerializer
44
44
 
45
- end # module BeerDb::Models
45
+ end # module BeerDb::Model
@@ -1,6 +1,6 @@
1
1
  # encoding: UTF-8
2
2
 
3
- module BeerDb::Models
3
+ module BeerDb::Model
4
4
 
5
5
  class BrewerySerializer
6
6
 
@@ -43,4 +43,4 @@ module BeerDb::Models
43
43
 
44
44
  end # class BrewerySerializer
45
45
 
46
- end # module BeerDb::Models
46
+ end # module BeerDb::Model
@@ -1,4 +1,6 @@
1
1
 
2
2
  module BeerDb
3
- VERSION = '0.8.2'
3
+ VERSION = '0.9.0'
4
4
  end
5
+
6
+
data/lib/beerdb.rb CHANGED
@@ -38,6 +38,12 @@ require 'beerdb/models/drink' # db model extensions - move to its own addon
38
38
  require 'beerdb/models/bookmark' # db model extensions - move to its own addon gem?
39
39
  require 'beerdb/models/note' # db model extensions - move to its own addon gem?
40
40
 
41
+ ## add backwards compatible namespace (delete later!)
42
+ module BeerDb
43
+ Models = Model
44
+ end
45
+
46
+
41
47
  require 'beerdb/serializers/beer'
42
48
  require 'beerdb/serializers/brewery'
43
49
 
@@ -71,7 +77,7 @@ module BeerDb
71
77
  CreateDbExtrasDrinks.new.up
72
78
  CreateDbExtrasNotes.new.up
73
79
 
74
- BeerDb::Models::Prop.create!( key: 'db.schema.beer.version', value: VERSION )
80
+ BeerDb::Model::Prop.create!( key: 'db.schema.beer.version', value: VERSION )
75
81
  end
76
82
 
77
83
 
@@ -79,7 +85,7 @@ module BeerDb
79
85
  module CodeReaderContext
80
86
  # make models available w/o namespace
81
87
  # e.g. lets you use Beer instead of BeerDb::Models::Beer
82
- include BeerDb::Models
88
+ include BeerDb::Models # check does it work w/ alias e.g. Models == Model
83
89
  ## <evaluated code here>
84
90
  end
85
91
 
data/test/helper.rb CHANGED
@@ -24,14 +24,14 @@ require 'active_record'
24
24
  require 'beerdb'
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
27
+ Country = WorldDb::Model::Country
28
+ Region = WorldDb::Model::Region
29
29
 
30
30
  ## todo: get all models aliases (e.g. from console script)
31
31
 
32
- Beer = BeerDb::Models::Beer
33
- Brand = BeerDb::Models::Brand
34
- Brewery = BeerDb::Models::Brewery
32
+ Beer = BeerDb::Model::Beer
33
+ Brand = BeerDb::Model::Brand
34
+ Brewery = BeerDb::Model::Brewery
35
35
 
36
36
 
37
37
  def setup_in_memory_db
@@ -7,7 +7,8 @@ require 'helper'
7
7
 
8
8
  class TestFixtureMatchers < MiniTest::Unit::TestCase
9
9
 
10
- include BeerDb::FixtureMatcher
10
+ include WorldDb::Matcher
11
+ include BeerDb::Matcher
11
12
 
12
13
 
13
14
  def test_country
@@ -16,7 +17,9 @@ class TestFixtureMatchers < MiniTest::Unit::TestCase
16
17
  'europe/at/beers',
17
18
  'europe/at-austria/beers',
18
19
  'at-austria/beers',
19
- 'at-austria!/beers'
20
+ 'at-austria!/beers',
21
+ '1--at-austria--central/beers',
22
+ 'europe/1--at-austria--central/beers'
20
23
  ]
21
24
 
22
25
  beers_at.each do |name|
@@ -30,7 +33,9 @@ class TestFixtureMatchers < MiniTest::Unit::TestCase
30
33
  'europe/at/breweries',
31
34
  'europe/at-austria/breweries',
32
35
  'at-austria/breweries',
33
- 'at-austria!/breweries'
36
+ 'at-austria!/breweries',
37
+ '1--at-austria--central/breweries',
38
+ 'europe/1--at-austria--central/breweries'
34
39
  ]
35
40
 
36
41
  breweries_at.each do |name|
@@ -47,7 +52,9 @@ class TestFixtureMatchers < MiniTest::Unit::TestCase
47
52
  beers_at = [
48
53
  'europe/at-austria/w-wien/beers',
49
54
  'at-austria/w-wien/beers',
50
- 'at-austria!/w-wien/beers'
55
+ 'at-austria!/w-wien/beers',
56
+ '1--at-austria--central/1--w-wien--eastern/beers',
57
+ 'europe/1--at-austria--central/1--w-wien--eastern/beers'
51
58
  ]
52
59
 
53
60
  beers_at.each do |name|
@@ -61,7 +68,9 @@ class TestFixtureMatchers < MiniTest::Unit::TestCase
61
68
  breweries_at = [
62
69
  'europe/at-austria/w-wien/breweries',
63
70
  'at-austria/w-wien/breweries',
64
- 'at-austria!/w-wien/breweries'
71
+ 'at-austria!/w-wien/breweries',
72
+ '1--at-austria--central/1--w-wien--eastern/breweries',
73
+ 'europe/1--at-austria--central/1--w-wien--eastern/breweries'
65
74
  ]
66
75
 
67
76
  breweries_at.each do |name|
data/test/test_values.rb CHANGED
@@ -8,6 +8,7 @@
8
8
 
9
9
  require 'helper'
10
10
 
11
+
11
12
  class TestValues < MiniTest::Unit::TestCase
12
13
 
13
14
  def setup
@@ -33,14 +34,14 @@ class TestValues < MiniTest::Unit::TestCase
33
34
  beer = Beer.create_or_update_from_values( values, more_attribs )
34
35
 
35
36
  beer2 = Beer.find_by_key!( key )
36
- assert( beer.id == beer2.id )
37
-
38
- assert( beer.title == values[0] )
39
- assert( beer.country_id == AT.id )
40
- assert( beer.country.title == AT.title )
41
- assert( beer.abv == 5.2 )
42
- assert( beer.og == 11.8 )
43
- assert( beer.srm == nil )
37
+ assert_equal beer.id, beer2.id
38
+
39
+ assert_equal beer.title, values[0]
40
+ assert_equal beer.country_id, AT.id
41
+ assert_equal beer.country.title, AT.title
42
+ assert_equal beer.abv, 5.2
43
+ assert_equal beer.og, 11.8
44
+ assert_equal beer.srm, nil
44
45
  end
45
46
 
46
47
  def test_load_brewery_values
@@ -67,24 +68,24 @@ class TestValues < MiniTest::Unit::TestCase
67
68
  by = Brewery.create_or_update_from_values( values, more_attribs )
68
69
 
69
70
  by2 = Brewery.find_by_key!( key )
70
- assert( by.id == by2.id )
71
+ assert_equal by.id, by2.id
71
72
 
72
- assert( by.title == values[1] )
73
- assert( by.country_id == AT.id )
74
- assert( by.country.title == AT.title )
75
- assert( by.since == 1838 )
76
- assert( by.web == 'www.ottakringer.at' )
77
- assert( by.address == '1160 Wien // Ottakringer Platz 1' )
78
- assert( by.grade == 4 )
73
+ assert_equal by.title, values[1]
74
+ assert_equal by.country_id, AT.id
75
+ assert_equal by.country.title, AT.title
76
+ assert_equal by.since, 1838
77
+ assert_equal by.web, 'www.ottakringer.at'
78
+ assert_equal by.address, '1160 Wien // Ottakringer Platz 1'
79
+ assert_equal by.grade, 4
79
80
 
80
81
  # check auto-created brand
81
82
 
82
83
  br = Brand.find_by_key!( 'ottakringer')
83
84
 
84
- assert( br.title == 'Ottakringer' )
85
- assert( br.brewery_id == by.id )
86
- assert( br.brewery.title == by.title )
87
- assert( br.country_id == by.country_id )
85
+ assert_equal br.title, 'Ottakringer'
86
+ assert_equal br.brewery_id, by.id
87
+ assert_equal br.brewery.title, by.title
88
+ assert_equal br.country_id, by.country_id
88
89
  end
89
90
 
90
91
 
@@ -111,10 +112,10 @@ class TestValues < MiniTest::Unit::TestCase
111
112
  by = Brewery.create_or_update_from_values( values, more_attribs )
112
113
 
113
114
  by2 = Brewery.find_by_key!( key )
114
- assert( by.id == by2.id )
115
+ assert_equal by.id, by2.id
115
116
 
116
- assert( by.title == 'Ottakringer Brauerei' )
117
- assert( by.grade == 2 )
117
+ assert_equal by.title, 'Ottakringer Brauerei'
118
+ assert_equal by.grade, 2
118
119
  end
119
120
 
120
121
  def test_load_brewery_values_w_grade_in_synonyms
@@ -143,11 +144,11 @@ class TestValues < MiniTest::Unit::TestCase
143
144
  by = Brewery.create_or_update_from_values( values, more_attribs )
144
145
 
145
146
  by2 = Brewery.find_by_key!( key )
146
- assert( by.id == by2.id )
147
+ assert_equal by.id, by2.id
147
148
 
148
- assert( by.title == 'Ottakringer Brauerei' )
149
- assert( by.synonyms == 'Otta' )
150
- assert( by.grade == 2 )
149
+ assert_equal by.title, 'Ottakringer Brauerei'
150
+ assert_equal by.synonyms, 'Otta'
151
+ assert_equal by.grade, 2
151
152
  end
152
153
 
153
154
 
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.8.2
4
+ version: 0.9.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-07-17 00:00:00.000000000Z
12
+ date: 2014-01-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activerecord
16
- requirement: &19996224 !ruby/object:Gem::Requirement
16
+ requirement: &21954864 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,21 +21,21 @@ dependencies:
21
21
  version: '3.2'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *19996224
24
+ version_requirements: *21954864
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: worlddb
27
- requirement: &19995804 !ruby/object:Gem::Requirement
27
+ requirement: &21954264 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
31
31
  - !ruby/object:Gem::Version
32
- version: '1.7'
32
+ version: '1.8'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *19995804
35
+ version_requirements: *21954264
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: gli
38
- requirement: &19995360 !ruby/object:Gem::Requirement
38
+ requirement: &21953868 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 2.5.6
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *19995360
46
+ version_requirements: *21953868
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rdoc
49
- requirement: &19995060 !ruby/object:Gem::Requirement
49
+ requirement: &21953472 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,18 +54,18 @@ dependencies:
54
54
  version: '4.0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *19995060
57
+ version_requirements: *21953472
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: hoe
60
- requirement: &19994712 !ruby/object:Gem::Requirement
60
+ requirement: &21953076 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
64
64
  - !ruby/object:Gem::Version
65
- version: '3.6'
65
+ version: '3.7'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *19994712
68
+ version_requirements: *21953076
69
69
  description: beerdb - beer.db command line tool
70
70
  email: beerdb@googlegroups.com
71
71
  executables:
@@ -138,7 +138,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
138
138
  version: '0'
139
139
  requirements: []
140
140
  rubyforge_project: beerdb
141
- rubygems_version: 1.7.2
141
+ rubygems_version: 1.8.16
142
142
  signing_key:
143
143
  specification_version: 3
144
144
  summary: beerdb - beer.db command line tool