beerdb 0.6.4 → 0.6.5
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/server/views/index.erb +28 -0
- data/lib/beerdb/server.rb +34 -14
- data/lib/beerdb/version.rb +1 -1
- metadata +12 -12
@@ -3,6 +3,20 @@
|
|
3
3
|
|
4
4
|
<h2>Examples</h2>
|
5
5
|
|
6
|
+
<h3>Get random beer <code>/beer/rand</code></h3>
|
7
|
+
|
8
|
+
<table>
|
9
|
+
<tr>
|
10
|
+
<td>
|
11
|
+
<code>
|
12
|
+
<a href='<%= url("/beer/rand") %>'>
|
13
|
+
/beer/<span class='params'>rand</span>
|
14
|
+
</a>
|
15
|
+
</code>
|
16
|
+
</td>
|
17
|
+
</tr>
|
18
|
+
</table>
|
19
|
+
|
6
20
|
<h3>Get beer by key <code>/beer/<span class='params'>:key</span></code></h3>
|
7
21
|
|
8
22
|
<table>
|
@@ -69,6 +83,20 @@
|
|
69
83
|
</table>
|
70
84
|
|
71
85
|
|
86
|
+
<h3>Get random brewery <code>/brewery/rand</code></h3>
|
87
|
+
|
88
|
+
<table>
|
89
|
+
<tr>
|
90
|
+
<td>
|
91
|
+
<code>
|
92
|
+
<a href='<%= url("/brewery/rand") %>'>
|
93
|
+
/brewery/<span class='params'>rand</span>
|
94
|
+
</a>
|
95
|
+
</code>
|
96
|
+
</td>
|
97
|
+
</tr>
|
98
|
+
</table>
|
99
|
+
|
72
100
|
<h3>Get brewery by key <code>/brewery/<span class='params'>:key</span></code></h3>
|
73
101
|
|
74
102
|
<table>
|
data/lib/beerdb/server.rb
CHANGED
@@ -63,8 +63,20 @@ class Server < Sinatra::Base
|
|
63
63
|
erb :debug
|
64
64
|
end
|
65
65
|
|
66
|
+
## todo: add support for beer of the day, of the week, of the month, of the year?
|
67
|
+
## /beer/day|d | /beer/month|m | beer/year|y ??
|
68
|
+
##
|
69
|
+
## add table daily_beer, weekly_beer, etc. ??
|
70
|
+
|
66
71
|
get '/beer/:key' do |key|
|
67
|
-
|
72
|
+
|
73
|
+
if ['r', 'rnd', 'rand', 'random'].include?( key )
|
74
|
+
# special key for random beer
|
75
|
+
beer_id = rand( Beer.count )+1 # nb: assumes record ids sequence from 1-n
|
76
|
+
beer = Beer.find( beer_id )
|
77
|
+
else
|
78
|
+
beer = Beer.find_by_key!( key )
|
79
|
+
end
|
68
80
|
|
69
81
|
brewery = {}
|
70
82
|
if beer.brewery.present?
|
@@ -82,18 +94,26 @@ class Server < Sinatra::Base
|
|
82
94
|
title: beer.country.title
|
83
95
|
}
|
84
96
|
|
85
|
-
data = {
|
97
|
+
data = { key: beer.key, title: beer.title, synonyms: beer.synonyms,
|
86
98
|
abv: beer.abv, srm: beer.srm, og: beer.og,
|
87
99
|
tags: tags,
|
88
100
|
brewery: brewery,
|
89
|
-
country: country }
|
101
|
+
country: country }
|
90
102
|
|
91
103
|
json_or_jsonp( data )
|
92
104
|
end
|
93
105
|
|
94
106
|
|
95
107
|
get '/brewery/:key' do |key|
|
96
|
-
|
108
|
+
|
109
|
+
if ['r', 'rnd', 'rand', 'random'].include?( key )
|
110
|
+
# special key for random brewery
|
111
|
+
brewery_id = rand( Brewery.count )+1 # nb: assumes record ids sequence from 1-n
|
112
|
+
brewery = Brewery.find( brewery_id )
|
113
|
+
else
|
114
|
+
brewery = Brewery.find_by_key!( key )
|
115
|
+
end
|
116
|
+
|
97
117
|
|
98
118
|
beers = []
|
99
119
|
brewery.beers.each do |b|
|
@@ -110,16 +130,16 @@ class Server < Sinatra::Base
|
|
110
130
|
title: brewery.country.title
|
111
131
|
}
|
112
132
|
|
113
|
-
data = {
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
133
|
+
data = { key: brewery.key,
|
134
|
+
title: brewery.title,
|
135
|
+
synonyms: brewery.synonyms,
|
136
|
+
since: brewery.since,
|
137
|
+
address: brewery.address,
|
138
|
+
web: brewery.web,
|
139
|
+
prod: brewery.prod, # (estimated) annual production in hl e.g. 2_000 hl
|
140
|
+
tags: tags,
|
141
|
+
beers: beers,
|
142
|
+
country: country }
|
123
143
|
|
124
144
|
json_or_jsonp( data )
|
125
145
|
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.5
|
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-07 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activerecord
|
16
|
-
requirement: &
|
16
|
+
requirement: &75736340 !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: *75736340
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: worlddb
|
27
|
-
requirement: &
|
27
|
+
requirement: &75736120 !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: *75736120
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: commander
|
38
|
-
requirement: &
|
38
|
+
requirement: &75735900 !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: *75735900
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: rdoc
|
49
|
-
requirement: &
|
49
|
+
requirement: &75735680 !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: *75735680
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: hoe
|
60
|
-
requirement: &
|
60
|
+
requirement: &75735460 !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: *75735460
|
69
69
|
description: beerdb - beer.db command line tool
|
70
70
|
email: beerdb@googlegroups.com
|
71
71
|
executables:
|