beerdb 0.9.2 → 0.9.3

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