beerdb 0.9.2 → 0.9.3

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
@@ -9,25 +9,31 @@ Hoe.spec 'beerdb' do
9
9
  self.summary = 'beerdb - beer.db command line tool'
10
10
  self.description = summary
11
11
 
12
- self.urls = ['https://github.com/geraldb/beer.db.ruby']
13
-
12
+ self.urls = ['https://github.com/beerkit/beer.db.ruby']
13
+
14
14
  self.author = 'Gerald Bauer'
15
15
  self.email = 'beerdb@googlegroups.com'
16
-
16
+
17
17
  # switch extension to .markdown for gihub formatting
18
18
  self.readme_file = 'README.md'
19
19
  self.history_file = 'History.md'
20
-
21
- self.extra_deps = [
22
- ['activerecord', '~> 3.2'], # NB: will include activesupport,etc.
23
- ### ['sqlite3', '~> 1.3'] # NB: install on your own; remove dependency
24
20
 
25
- ['worlddb', '~> 1.8'], # NB: worlddb already includes
21
+ self.extra_deps = [
22
+ ['props' ],
23
+ ['logutils'],
24
+ ['textutils'],
25
+ ['worlddb', '>= 2.0.2'], # NB: worlddb already includes
26
26
  # - logutils
27
27
  # - textutils
28
-
29
- ## 3rd party
30
- ['gli', '>= 2.5.6']
28
+ ['tagutils'], # tags n tagging tables
29
+ ['activerecord-utils'], # extras e.g. rnd, find_by! for 3.x etc.
30
+ ['fetcher', '>= 0.3'],
31
+
32
+ ## 3rd party
33
+ ['gli', '>= 2.5.6'],
34
+
35
+ ['activerecord'] # NB: will include activesupport,etc.
36
+ ### ['sqlite3', '~> 1.3'] # NB: install on your own; remove dependency
31
37
  ]
32
38
 
33
39
  self.licenses = ['Public Domain']
@@ -37,4 +43,3 @@ Hoe.spec 'beerdb' do
37
43
  }
38
44
 
39
45
  end
40
-
data/bin/beerdb CHANGED
File without changes
@@ -1,6 +1,7 @@
1
1
  # encoding: UTF-8
2
2
 
3
- module BeerDb::Model
3
+ module BeerDb
4
+ module Model
4
5
 
5
6
  class Beer < ActiveRecord::Base
6
7
 
@@ -17,10 +18,17 @@ class Beer < ActiveRecord::Base
17
18
  belongs_to :brand, :class_name => 'BeerDb::Model::Brewery', :foreign_key => 'brand_id'
18
19
  belongs_to :brewery, :class_name => 'BeerDb::Model::Brewery', :foreign_key => 'brewery_id'
19
20
 
20
- has_many :taggings, :as => :taggable, :class_name => 'WorldDb::Model::Tagging'
21
- has_many :tags, :through => :taggings, :class_name => 'WorldDb::Model::Tag'
22
21
 
23
- validates :key, :format => { :with => /^[a-z][a-z0-9]+$/, :message => 'expected two or more lowercase letters a-z or 0-9 digits' }
22
+ ## has_many :taggings, :as => :taggable, :class_name => 'WorldDb::Model::Tagging'
23
+ ## has_many :tags, :through => :taggings, :class_name => 'WorldDb::Model::Tag'
24
+
25
+ has_many :taggings, class_name: 'TagDb::Model::Tagging', :as => :taggable
26
+ has_many :tags, class_name: 'TagDb::Model::Tag', :through => :taggings
27
+
28
+
29
+ ## fix/todo: move to regex to patterns; see worlddb
30
+ validates :key, :format => { :with => /\A[a-z][a-z0-9]+\z/, :message => 'expected two or more lowercase letters a-z or 0-9 digits' }
31
+
24
32
 
25
33
  ########################
26
34
  # begin extras/extension drink/bookmar/user
@@ -191,4 +199,5 @@ class Beer < ActiveRecord::Base
191
199
 
192
200
  end # class Beer
193
201
 
194
- end # module BeerDb::Model
202
+ end # module Model
203
+ end # module BeerDb
@@ -1,6 +1,7 @@
1
1
  # encoding: UTF-8
2
2
 
3
- module BeerDb::Model
3
+ module BeerDb
4
+ module Model
4
5
 
5
6
  class Bookmark < ActiveRecord::Base
6
7
 
@@ -28,4 +29,5 @@ class Bookmark < ActiveRecord::Base
28
29
 
29
30
  end # class Bookmark
30
31
 
31
- end # module BeerDb::Model
32
+ end # module Model
33
+ end # module BeerDb
@@ -1,6 +1,7 @@
1
1
  # encoding: UTF-8
2
2
 
3
- module BeerDb::Model
3
+ module BeerDb
4
+ module Model
4
5
 
5
6
  class Brand < ActiveRecord::Base
6
7
 
@@ -15,7 +16,7 @@ class Brand < ActiveRecord::Base
15
16
 
16
17
  has_many :beers, :class_name => 'BeerDb::Model::Beer', :foreign_key => 'brand_id'
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
+ validates :key, :format => { :with => /\A[a-z][a-z0-9]+\z/, :message => 'expected two or more lowercase letters a-z or 0-9 digits' }
19
20
 
20
21
 
21
22
  def self.create_or_update_from_values( values, more_attribs = {} )
@@ -57,4 +58,5 @@ class Brand < ActiveRecord::Base
57
58
 
58
59
  end # class Brand
59
60
 
60
- end # module BeerDb::Model
61
+ end # module Model
62
+ end # module BeerDb
@@ -1,6 +1,7 @@
1
1
  # encoding: UTF-8
2
2
 
3
- module BeerDb::Model
3
+ module BeerDb
4
+ module Model
4
5
 
5
6
  class Brewery < ActiveRecord::Base
6
7
 
@@ -20,10 +21,14 @@ class Brewery < ActiveRecord::Base
20
21
  has_many :beers, :class_name => 'BeerDb::Model::Beer', :foreign_key => 'brewery_id'
21
22
  has_many :brands, :class_name => 'BeerDb::Model::Brand', :foreign_key => 'brand_id'
22
23
 
23
- has_many :taggings, :as => :taggable, :class_name => 'WorldDb::Model::Tagging'
24
- has_many :tags, :through => :taggings, :class_name => 'WorldDb::Model::Tag'
24
+ ## has_many :taggings, :as => :taggable, :class_name => 'WorldDb::Model::Tagging'
25
+ ## has_many :tags, :through => :taggings, :class_name => 'WorldDb::Model::Tag'
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
+ has_many :taggings, class_name: 'TagDb::Model::Tagging', :as => :taggable
28
+ has_many :tags, class_name: 'TagDb::Model::Tag', :through => :taggings
29
+
30
+
31
+ validates :key, :format => { :with => /\A[a-z][a-z0-9]+\z/, :message => 'expected two or more lowercase letters a-z or 0-9 digits' }
27
32
 
28
33
 
29
34
  def self.rnd # find random beer - fix: use "generic" activerecord helper and include/extend class
@@ -229,5 +234,6 @@ class Brewery < ActiveRecord::Base
229
234
 
230
235
  end # class Brewery
231
236
 
237
+ end # module Model
238
+ end # module BeerDb
232
239
 
233
- end # module BeerDb::Model
@@ -1,4 +1,7 @@
1
- module WorldDb::Model
1
+ # encoding: UTF-8
2
+
3
+ module WorldDb
4
+ module Model
2
5
 
3
6
  class City
4
7
  has_many :beers, :class_name => 'BeerDb::Model::Beer', :foreign_key => 'city_id'
@@ -6,6 +9,6 @@ class City
6
9
  has_many :breweries, :class_name => 'BeerDb::Model::Brewery', :foreign_key => 'city_id'
7
10
  end # class Country
8
11
 
9
- end # module WorldDb::Model
10
-
12
+ end # module Model
13
+ end # module WorldDb
11
14
 
@@ -1,4 +1,7 @@
1
- module WorldDb::Model
1
+ # encoding: UTF-8
2
+
3
+ module WorldDb
4
+ module Model
2
5
 
3
6
  class Country
4
7
  has_many :beers, :class_name => 'BeerDb::Model::Beer', :foreign_key => 'country_id'
@@ -6,4 +9,6 @@ class Country
6
9
  has_many :breweries, :class_name => 'BeerDb::Model::Brewery', :foreign_key => 'country_id'
7
10
  end # class Country
8
11
 
9
- end # module WorldDb::Model
12
+ end # module Model
13
+ end # module WorldDb
14
+
@@ -1,6 +1,7 @@
1
1
  # encoding: UTF-8
2
2
 
3
- module BeerDb::Model
3
+ module BeerDb
4
+ module Model
4
5
 
5
6
  class Drink < ActiveRecord::Base
6
7
 
@@ -19,4 +20,6 @@ class Drink < ActiveRecord::Base
19
20
 
20
21
  end # class Drink
21
22
 
22
- end # module BeerDb::Model
23
+ end # module Model
24
+ end # module BeerDb
25
+
@@ -1,8 +1,12 @@
1
+ # encoding: UTF-8
2
+
3
+
1
4
  ### forward references
2
5
  ## require first to resolve circular references
3
6
 
4
7
 
5
- module BeerDb::Model
8
+ module BeerDb
9
+ module Model
6
10
 
7
11
  ## todo: why? why not use include WorldDb::Models here???
8
12
 
@@ -11,10 +15,10 @@ module BeerDb::Model
11
15
  Region = WorldDb::Model::Region
12
16
  City = WorldDb::Model::City
13
17
 
14
- Tag = WorldDb::Model::Tag
15
- Tagging = WorldDb::Model::Tagging
18
+ Tag = TagDb::Model::Tag
19
+ Tagging = TagDb::Model::Tagging
16
20
 
17
- Prop = WorldDb::Model::Prop
21
+ Prop = ConfDb::Model::Prop
18
22
 
19
23
  class Beer < ActiveRecord::Base ; end
20
24
  class Brand < ActiveRecord::Base ; end
@@ -25,14 +29,17 @@ module BeerDb::Model
25
29
  class Drink < ActiveRecord::Base ; end
26
30
  class Note < ActiveRecord::Base ; end
27
31
 
28
- end
32
+ end # module Model
33
+ end # module BeerDb
29
34
 
30
35
 
31
- module WorldDb::Model
36
+ module WorldDb
37
+ module Model
32
38
 
33
39
  Beer = BeerDb::Model::Beer
34
40
  Brand = BeerDb::Model::Brand
35
41
  Brewery = BeerDb::Model::Brewery
36
42
 
37
- end
43
+ end # module Model
44
+ end # module WorldDb
38
45
 
@@ -1,6 +1,7 @@
1
1
  # encoding: UTF-8
2
2
 
3
- module BeerDb::Model
3
+ module BeerDb
4
+ module Model
4
5
 
5
6
  class Note < ActiveRecord::Base
6
7
 
@@ -9,4 +10,6 @@ class Note < ActiveRecord::Base
9
10
 
10
11
  end # class Note
11
12
 
12
- end # module BeerDb::Model
13
+ end # module Model
14
+ end # module BeerDb
15
+
@@ -1,4 +1,7 @@
1
- module WorldDb::Model
1
+ # encoding: UTF-8
2
+
3
+ module WorldDb
4
+ module Model
2
5
 
3
6
  class Region
4
7
  has_many :beers, :class_name => 'BeerDb::Model::Beer', :foreign_key => 'region_id'
@@ -6,5 +9,6 @@ class Region
6
9
  has_many :breweries, :class_name => 'BeerDb::Model::Brewery', :foreign_key => 'region_id'
7
10
  end # class Region
8
11
 
9
- end # module WorldDb::Model
12
+ end # module Model
13
+ end # module WorldDb
10
14
 
@@ -1,8 +1,13 @@
1
- module WorldDb::Model
1
+ # encoding: UTF-8
2
+
3
+ module TagDb
4
+ module Model
2
5
 
3
6
  class Tag
4
7
  has_many :beers, :through => :taggings, :source => :taggable, :source_type => 'BeerDb::Model::Beer', :class_name => 'BeerDb::Model::Beer'
5
8
  has_many :breweries, :through => :taggings, :source => :taggable, :source_type => 'BeerDb::Model::Brewery', :class_name => 'BeerDb::Model::Brewery'
6
9
  end # class Country
7
10
 
8
- end # module WorldDb::Model
11
+ end # module Model
12
+ end # module TagDb
13
+
@@ -1,6 +1,7 @@
1
1
  # encoding: UTF-8
2
2
 
3
- module BeerDb::Model
3
+ module BeerDb
4
+ module Model
4
5
 
5
6
  class User < ActiveRecord::Base
6
7
 
@@ -23,5 +24,6 @@ class User < ActiveRecord::Base
23
24
 
24
25
  end # class User
25
26
 
26
- end # module BeerDb::Model
27
+ end # module Model
28
+ end # module BeerDb
27
29
 
@@ -1,6 +1,6 @@
1
1
 
2
2
  module BeerDb
3
- VERSION = '0.9.2'
3
+ VERSION = '0.9.3'
4
4
  end
5
5
 
6
6
 
data/test/helper.rb CHANGED
@@ -54,6 +54,8 @@ def setup_in_memory_db
54
54
  ## build schema
55
55
 
56
56
  LogDb.create
57
+ ConfDb.create
58
+ TagDb.create
57
59
  WorldDb.create
58
60
  BeerDb.create
59
61
  end
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.9.2
4
+ version: 0.9.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,33 +9,88 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-01-23 00:00:00.000000000 Z
12
+ date: 2014-10-12 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: activerecord
16
- requirement: &20877528 !ruby/object:Gem::Requirement
15
+ name: props
16
+ requirement: &85315900 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
- - - ~>
19
+ - - ! '>='
20
20
  - !ruby/object:Gem::Version
21
- version: '3.2'
21
+ version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *20877528
24
+ version_requirements: *85315900
25
+ - !ruby/object:Gem::Dependency
26
+ name: logutils
27
+ requirement: &85315630 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *85315630
36
+ - !ruby/object:Gem::Dependency
37
+ name: textutils
38
+ requirement: &85315370 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ type: :runtime
45
+ prerelease: false
46
+ version_requirements: *85315370
25
47
  - !ruby/object:Gem::Dependency
26
48
  name: worlddb
27
- requirement: &20877180 !ruby/object:Gem::Requirement
49
+ requirement: &85315060 !ruby/object:Gem::Requirement
28
50
  none: false
29
51
  requirements:
30
- - - ~>
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: 2.0.2
55
+ type: :runtime
56
+ prerelease: false
57
+ version_requirements: *85315060
58
+ - !ruby/object:Gem::Dependency
59
+ name: tagutils
60
+ requirement: &85314820 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ! '>='
31
64
  - !ruby/object:Gem::Version
32
- version: '1.8'
65
+ version: '0'
33
66
  type: :runtime
34
67
  prerelease: false
35
- version_requirements: *20877180
68
+ version_requirements: *85314820
69
+ - !ruby/object:Gem::Dependency
70
+ name: activerecord-utils
71
+ requirement: &85314520 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ! '>='
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ type: :runtime
78
+ prerelease: false
79
+ version_requirements: *85314520
80
+ - !ruby/object:Gem::Dependency
81
+ name: fetcher
82
+ requirement: &85314220 !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ! '>='
86
+ - !ruby/object:Gem::Version
87
+ version: '0.3'
88
+ type: :runtime
89
+ prerelease: false
90
+ version_requirements: *85314220
36
91
  - !ruby/object:Gem::Dependency
37
92
  name: gli
38
- requirement: &20876820 !ruby/object:Gem::Requirement
93
+ requirement: &85313860 !ruby/object:Gem::Requirement
39
94
  none: false
40
95
  requirements:
41
96
  - - ! '>='
@@ -43,10 +98,21 @@ dependencies:
43
98
  version: 2.5.6
44
99
  type: :runtime
45
100
  prerelease: false
46
- version_requirements: *20876820
101
+ version_requirements: *85313860
102
+ - !ruby/object:Gem::Dependency
103
+ name: activerecord
104
+ requirement: &85313410 !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ type: :runtime
111
+ prerelease: false
112
+ version_requirements: *85313410
47
113
  - !ruby/object:Gem::Dependency
48
114
  name: rdoc
49
- requirement: &20876532 !ruby/object:Gem::Requirement
115
+ requirement: &85313110 !ruby/object:Gem::Requirement
50
116
  none: false
51
117
  requirements:
52
118
  - - ~>
@@ -54,18 +120,18 @@ dependencies:
54
120
  version: '4.0'
55
121
  type: :development
56
122
  prerelease: false
57
- version_requirements: *20876532
123
+ version_requirements: *85313110
58
124
  - !ruby/object:Gem::Dependency
59
125
  name: hoe
60
- requirement: &20876208 !ruby/object:Gem::Requirement
126
+ requirement: &85312790 !ruby/object:Gem::Requirement
61
127
  none: false
62
128
  requirements:
63
129
  - - ~>
64
130
  - !ruby/object:Gem::Version
65
- version: '3.7'
131
+ version: '3.12'
66
132
  type: :development
67
133
  prerelease: false
68
- version_requirements: *20876208
134
+ version_requirements: *85312790
69
135
  description: beerdb - beer.db command line tool
70
136
  email: beerdb@googlegroups.com
71
137
  executables:
@@ -115,7 +181,7 @@ files:
115
181
  - test/test_fixture_matchers.rb
116
182
  - test/test_values.rb
117
183
  - .gemtest
118
- homepage: https://github.com/geraldb/beer.db.ruby
184
+ homepage: https://github.com/beerkit/beer.db.ruby
119
185
  licenses:
120
186
  - Public Domain
121
187
  post_install_message:
@@ -137,11 +203,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
137
203
  - !ruby/object:Gem::Version
138
204
  version: '0'
139
205
  requirements: []
140
- rubyforge_project: beerdb
141
- rubygems_version: 1.8.16
206
+ rubyforge_project:
207
+ rubygems_version: 1.8.17
142
208
  signing_key:
143
209
  specification_version: 3
144
210
  summary: beerdb - beer.db command line tool
145
211
  test_files:
146
- - test/test_fixture_matchers.rb
147
212
  - test/test_values.rb
213
+ - test/test_fixture_matchers.rb