beerdb 0.8.2 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
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