beerdb 0.6.5 → 0.6.6
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/lib/beerdb/models/beer.rb +10 -0
- data/lib/beerdb/models/brewery.rb +22 -0
- data/lib/beerdb/reader.rb +6 -40
- data/lib/beerdb/schema.rb +1 -0
- data/lib/beerdb/server.rb +2 -4
- data/lib/beerdb/version.rb +1 -1
- metadata +12 -12
data/lib/beerdb/models/beer.rb
CHANGED
@@ -16,21 +16,31 @@ class Beer < ActiveRecord::Base
|
|
16
16
|
|
17
17
|
validates :key, :format => { :with => /^[a-z][a-z0-9]+$/, :message => 'expected two or more lowercase letters a-z or 0-9 digits' }
|
18
18
|
|
19
|
+
|
20
|
+
def self.rnd # find random beer - fix: use "generic" activerecord helper and include/extend class
|
21
|
+
rnd_offset = rand( Beer.count ) ## NB: call "global" std lib rand
|
22
|
+
Beer.offset( rnd_offset ).limit( 1 )
|
23
|
+
end
|
24
|
+
|
19
25
|
### support old names (read-only) for now (remove later)
|
20
26
|
|
21
27
|
def color
|
28
|
+
puts "*** depreceated fn api - use srm"
|
22
29
|
srm
|
23
30
|
end
|
24
31
|
|
25
32
|
def plato
|
33
|
+
puts "*** depreceated fn api - use og"
|
26
34
|
og
|
27
35
|
end
|
28
36
|
|
29
37
|
def color=(value)
|
38
|
+
puts "*** depreceated fn api - use srm="
|
30
39
|
self.srm = value
|
31
40
|
end
|
32
41
|
|
33
42
|
def plato=(value)
|
43
|
+
puts "*** depreceated fn api - use og="
|
34
44
|
self.og = value
|
35
45
|
end
|
36
46
|
|
@@ -18,6 +18,13 @@ class Brewery < ActiveRecord::Base
|
|
18
18
|
|
19
19
|
validates :key, :format => { :with => /^[a-z][a-z0-9]+$/, :message => 'expected two or more lowercase letters a-z or 0-9 digits' }
|
20
20
|
|
21
|
+
|
22
|
+
def self.rnd # find random beer - fix: use "generic" activerecord helper and include/extend class
|
23
|
+
rnd_offset = rand( Brewery.count ) ## NB: call "global" std lib rand
|
24
|
+
Brewery.offset( rnd_offset ).limit( 1 )
|
25
|
+
end
|
26
|
+
|
27
|
+
|
21
28
|
### support old names (read-only) for now (remove later)
|
22
29
|
|
23
30
|
def founded
|
@@ -201,9 +208,12 @@ class Brewery < ActiveRecord::Base
|
|
201
208
|
|
202
209
|
end # method create_or_update_from_values
|
203
210
|
|
211
|
+
|
204
212
|
### todo/fix:
|
205
213
|
# reuse method - put into helper in textutils or somewhere else ??
|
206
214
|
|
215
|
+
### todo/fix - move to textutils !!!!! AddressHelper
|
216
|
+
|
207
217
|
def self.normalize_address( old_address_line )
|
208
218
|
# for now only checks german 5-digit zip code
|
209
219
|
#
|
@@ -225,6 +235,18 @@ class Brewery < ActiveRecord::Base
|
|
225
235
|
new_address_line
|
226
236
|
end
|
227
237
|
|
238
|
+
### todo/fix: move to textutils!!!
|
239
|
+
## add options for
|
240
|
+
## - remove translations e.g. []
|
241
|
+
## - remove subtitles e.g. ()
|
242
|
+
## - remove tags/extras e.g. {}
|
243
|
+
|
244
|
+
##
|
245
|
+
## fix: make strip_translations into fn
|
246
|
+
## make strip_subtitles into fn # better name for () strip_
|
247
|
+
## make strip_desc / tags (find better name strip_extras, strip_meta? strip_desc? strip_curly?)
|
248
|
+
|
249
|
+
|
228
250
|
def self.title_to_key( title )
|
229
251
|
|
230
252
|
## NB: downcase does NOT work for accented chars (thus, include in alternatives)
|
data/lib/beerdb/reader.rb
CHANGED
@@ -16,51 +16,17 @@ class Reader
|
|
16
16
|
end
|
17
17
|
|
18
18
|
|
19
|
-
def load_setup(
|
20
|
-
ary = load_fixture_setup( setup )
|
21
|
-
|
22
|
-
ary.each do |name|
|
23
|
-
load( name )
|
24
|
-
end
|
25
|
-
end # method load_setup
|
26
|
-
|
27
|
-
|
28
|
-
## fix/todo: rename ??
|
29
|
-
def load_fixture_setup( name )
|
30
|
-
|
31
|
-
## todo/fix: cleanup quick and dirty code
|
32
|
-
|
19
|
+
def load_setup( name )
|
33
20
|
path = "#{include_path}/#{name}.yml"
|
34
21
|
|
35
22
|
logger.info "parsing data '#{name}' (#{path})..."
|
36
23
|
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
### build up array for fixtures from hash
|
42
|
-
|
43
|
-
ary = []
|
44
|
-
|
45
|
-
hash.each do |key_wild, value_wild|
|
46
|
-
key = key_wild.to_s.strip
|
47
|
-
|
48
|
-
logger.debug "yaml key:#{key_wild.class.name} >>#{key}<<, value:#{value_wild.class.name} >>#{value_wild}<<"
|
49
|
-
|
50
|
-
if value_wild.kind_of?( String ) # assume single fixture name
|
51
|
-
ary << value_wild
|
52
|
-
elsif value_wild.kind_of?( Array ) # assume array of fixture names as strings
|
53
|
-
ary = ary + value_wild
|
54
|
-
else
|
55
|
-
logger.error "unknow fixture type in setup (yaml key:#{key_wild.class.name} >>#{key}<<, value:#{value_wild.class.name} >>#{value_wild}<<); skipping"
|
56
|
-
end
|
24
|
+
reader = FixtureReader.new( path )
|
25
|
+
|
26
|
+
reader.each do |fixture_name|
|
27
|
+
load( fixture_name )
|
57
28
|
end
|
58
|
-
|
59
|
-
logger.debug "fixture setup:"
|
60
|
-
logger.debug ary.to_json
|
61
|
-
|
62
|
-
ary
|
63
|
-
end # load_fixture_setup
|
29
|
+
end # method load_setup
|
64
30
|
|
65
31
|
|
66
32
|
def load( name )
|
data/lib/beerdb/schema.rb
CHANGED
@@ -29,6 +29,7 @@ create_table :beers do |t|
|
|
29
29
|
t.decimal :abv # Alcohol by volume (abbreviated as ABV, abv, or alc/vol) e.g. 4.9 %
|
30
30
|
t.decimal :og # malt extract (original gravity) in plato
|
31
31
|
t.integer :srm # color in srm
|
32
|
+
t.integer :ibu # bitterness in ibu
|
32
33
|
|
33
34
|
### fix/todo: add bitterness field
|
34
35
|
|
data/lib/beerdb/server.rb
CHANGED
@@ -72,8 +72,7 @@ class Server < Sinatra::Base
|
|
72
72
|
|
73
73
|
if ['r', 'rnd', 'rand', 'random'].include?( key )
|
74
74
|
# special key for random beer
|
75
|
-
|
76
|
-
beer = Beer.find( beer_id )
|
75
|
+
beer = Beer.rnd
|
77
76
|
else
|
78
77
|
beer = Beer.find_by_key!( key )
|
79
78
|
end
|
@@ -108,8 +107,7 @@ class Server < Sinatra::Base
|
|
108
107
|
|
109
108
|
if ['r', 'rnd', 'rand', 'random'].include?( key )
|
110
109
|
# special key for random brewery
|
111
|
-
|
112
|
-
brewery = Brewery.find( brewery_id )
|
110
|
+
brewery = Brewery.rnd
|
113
111
|
else
|
114
112
|
brewery = Brewery.find_by_key!( key )
|
115
113
|
end
|
data/lib/beerdb/version.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.6.
|
4
|
+
version: 0.6.6
|
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-05-
|
12
|
+
date: 2013-05-08 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activerecord
|
16
|
-
requirement: &
|
16
|
+
requirement: &71991960 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '3.2'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *71991960
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: worlddb
|
27
|
-
requirement: &
|
27
|
+
requirement: &71991740 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '1.6'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *71991740
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: commander
|
38
|
-
requirement: &
|
38
|
+
requirement: &71991520 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 4.1.3
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *71991520
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: rdoc
|
49
|
-
requirement: &
|
49
|
+
requirement: &71991300 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '3.10'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *71991300
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: hoe
|
60
|
-
requirement: &
|
60
|
+
requirement: &71991080 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ~>
|
@@ -65,7 +65,7 @@ dependencies:
|
|
65
65
|
version: '3.3'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *71991080
|
69
69
|
description: beerdb - beer.db command line tool
|
70
70
|
email: beerdb@googlegroups.com
|
71
71
|
executables:
|