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 +17 -12
- data/bin/beerdb +0 -0
- data/lib/beerdb/models/beer.rb +14 -5
- data/lib/beerdb/models/bookmark.rb +4 -2
- data/lib/beerdb/models/brand.rb +5 -3
- data/lib/beerdb/models/brewery.rb +11 -5
- data/lib/beerdb/models/city.rb +6 -3
- data/lib/beerdb/models/country.rb +7 -2
- data/lib/beerdb/models/drink.rb +5 -2
- data/lib/beerdb/models/forward.rb +14 -7
- data/lib/beerdb/models/note.rb +5 -2
- data/lib/beerdb/models/region.rb +6 -2
- data/lib/beerdb/models/tag.rb +7 -2
- data/lib/beerdb/models/user.rb +4 -2
- data/lib/beerdb/version.rb +1 -1
- data/test/helper.rb +2 -0
- metadata +88 -22
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/
|
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
|
-
|
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
|
-
|
30
|
-
['
|
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
|
data/lib/beerdb/models/beer.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# encoding: UTF-8
|
2
2
|
|
3
|
-
module BeerDb
|
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
|
-
|
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
|
202
|
+
end # module Model
|
203
|
+
end # module BeerDb
|
@@ -1,6 +1,7 @@
|
|
1
1
|
# encoding: UTF-8
|
2
2
|
|
3
|
-
module BeerDb
|
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
|
32
|
+
end # module Model
|
33
|
+
end # module BeerDb
|
data/lib/beerdb/models/brand.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# encoding: UTF-8
|
2
2
|
|
3
|
-
module BeerDb
|
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 =>
|
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
|
61
|
+
end # module Model
|
62
|
+
end # module BeerDb
|
@@ -1,6 +1,7 @@
|
|
1
1
|
# encoding: UTF-8
|
2
2
|
|
3
|
-
module BeerDb
|
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
|
-
|
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
|
data/lib/beerdb/models/city.rb
CHANGED
@@ -1,4 +1,7 @@
|
|
1
|
-
|
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
|
10
|
-
|
12
|
+
end # module Model
|
13
|
+
end # module WorldDb
|
11
14
|
|
@@ -1,4 +1,7 @@
|
|
1
|
-
|
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
|
12
|
+
end # module Model
|
13
|
+
end # module WorldDb
|
14
|
+
|
data/lib/beerdb/models/drink.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# encoding: UTF-8
|
2
2
|
|
3
|
-
module BeerDb
|
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
|
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
|
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 =
|
15
|
-
Tagging =
|
18
|
+
Tag = TagDb::Model::Tag
|
19
|
+
Tagging = TagDb::Model::Tagging
|
16
20
|
|
17
|
-
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
|
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
|
|
data/lib/beerdb/models/note.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# encoding: UTF-8
|
2
2
|
|
3
|
-
module BeerDb
|
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
|
13
|
+
end # module Model
|
14
|
+
end # module BeerDb
|
15
|
+
|
data/lib/beerdb/models/region.rb
CHANGED
@@ -1,4 +1,7 @@
|
|
1
|
-
|
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
|
12
|
+
end # module Model
|
13
|
+
end # module WorldDb
|
10
14
|
|
data/lib/beerdb/models/tag.rb
CHANGED
@@ -1,8 +1,13 @@
|
|
1
|
-
|
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
|
11
|
+
end # module Model
|
12
|
+
end # module TagDb
|
13
|
+
|
data/lib/beerdb/models/user.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# encoding: UTF-8
|
2
2
|
|
3
|
-
module BeerDb
|
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
|
27
|
+
end # module Model
|
28
|
+
end # module BeerDb
|
27
29
|
|
data/lib/beerdb/version.rb
CHANGED
data/test/helper.rb
CHANGED
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.
|
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-
|
12
|
+
date: 2014-10-12 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
|
-
name:
|
16
|
-
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: '
|
21
|
+
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
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: &
|
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: '
|
65
|
+
version: '0'
|
33
66
|
type: :runtime
|
34
67
|
prerelease: false
|
35
|
-
version_requirements: *
|
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: &
|
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: *
|
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: &
|
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: *
|
123
|
+
version_requirements: *85313110
|
58
124
|
- !ruby/object:Gem::Dependency
|
59
125
|
name: hoe
|
60
|
-
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.
|
131
|
+
version: '3.12'
|
66
132
|
type: :development
|
67
133
|
prerelease: false
|
68
|
-
version_requirements: *
|
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/
|
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:
|
141
|
-
rubygems_version: 1.8.
|
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
|