beerdb-admin 0.1.1 → 0.1.2
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.
- checksums.yaml +7 -0
- data/Manifest.txt +57 -60
- data/README.md +4 -3
- data/Rakefile +1 -1
- data/app/assets/stylesheets/beer_db_admin/application.css.scss +4 -11
- data/app/assets/stylesheets/beer_db_admin/navbar.css.scss +3 -18
- data/app/controllers/beer_db_admin/beers_controller.rb +7 -1
- data/app/controllers/beer_db_admin/breweries_controller.rb +6 -0
- data/app/controllers/beer_db_admin/cities_controller.rb +25 -0
- data/app/controllers/beer_db_admin/regions_controller.rb +16 -0
- data/app/helpers/beer_db_admin/application_helper.rb +3 -21
- data/app/helpers/beer_db_admin/link_helper.rb +42 -0
- data/app/helpers/beer_db_admin/part_helper.rb +27 -7
- data/app/helpers/beer_db_admin/routes_helper.rb +17 -0
- data/app/helpers/beer_db_admin/service_helper.rb +69 -0
- data/app/views/beer_db_admin/beers/index.html.erb +14 -33
- data/app/views/beer_db_admin/beers/show.html.erb +7 -69
- data/app/views/beer_db_admin/brands/index.html.erb +11 -18
- data/app/views/beer_db_admin/breweries/_actions.html.erb +53 -0
- data/app/views/beer_db_admin/breweries/index.html.erb +8 -21
- data/app/views/beer_db_admin/breweries/show.html.erb +19 -51
- data/app/views/beer_db_admin/cities/show.html.erb +59 -0
- data/app/views/beer_db_admin/countries/index.html.erb +1 -1
- data/app/views/beer_db_admin/countries/show.html.erb +47 -52
- data/app/views/beer_db_admin/countries/show_pocket.html.erb +2 -2
- data/app/views/beer_db_admin/regions/show.html.erb +85 -0
- data/app/views/beer_db_admin/shared/_beer.html.erb +36 -0
- data/app/views/beer_db_admin/shared/_beers.html.erb +1 -1
- data/app/views/beer_db_admin/shared/_breweries_for_city.html +26 -0
- data/app/views/beer_db_admin/shared/_breweries_for_country.html.erb +2 -1
- data/app/views/beer_db_admin/shared/_breweries_for_region.html.erb +8 -2
- data/app/views/beer_db_admin/shared/_breweries_table_rows.html.erb +32 -0
- data/app/views/beer_db_admin/shared/_breweries_table_rows_for_region.html.erb +47 -0
- data/app/views/beer_db_admin/shared/_countries.html.erb +3 -4
- data/app/views/beer_db_admin/shared/_world_tree.html.erb +26 -0
- data/app/views/layouts/beer_db_admin/beer_db_admin.html.erb +1 -20
- data/config/routes.rb +14 -22
- data/lib/beerdb/admin.rb +3 -3
- data/lib/beerdb/admin/version.rb +1 -1
- metadata +36 -35
- data/app/controllers/beer_db_admin/bookmarks_controller.rb +0 -47
- data/app/controllers/beer_db_admin/drinks_controller.rb +0 -63
- data/app/controllers/beer_db_admin/frontpage_controller.rb +0 -15
- data/app/controllers/beer_db_admin/sessions_controller.rb +0 -53
- data/app/controllers/beer_db_admin/time_controller.rb +0 -12
- data/app/controllers/beer_db_admin/users_controller.rb +0 -66
- data/app/views/beer_db_admin/drinks/_form.html.erb +0 -29
- data/app/views/beer_db_admin/drinks/edit.html.erb +0 -4
- data/app/views/beer_db_admin/drinks/new.html.erb +0 -4
- data/app/views/beer_db_admin/sessions/new.html.erb +0 -54
- data/app/views/beer_db_admin/shared/_bookmarks.html.erb +0 -80
- data/app/views/beer_db_admin/time/index.html.erb +0 -40
- data/app/views/beer_db_admin/users/edit.html.erb +0 -40
- data/app/views/beer_db_admin/users/show.html.erb +0 -39
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
<% city = @city
|
|
2
|
+
region = @city.region
|
|
3
|
+
country = @city.country
|
|
4
|
+
%>
|
|
5
|
+
|
|
6
|
+
<h3>
|
|
7
|
+
<%= image_tag_for_country( country, size: '64x64' ) %>
|
|
8
|
+
|
|
9
|
+
<!-- fix: use full_title e.g. is title (code) -->
|
|
10
|
+
|
|
11
|
+
<%= city.title %>
|
|
12
|
+
|
|
13
|
+
›
|
|
14
|
+
|
|
15
|
+
<%= link_to_region(region) %>
|
|
16
|
+
|
|
17
|
+
›
|
|
18
|
+
|
|
19
|
+
<%= link_to_country(country) %>
|
|
20
|
+
(<%= country.code %>)
|
|
21
|
+
-
|
|
22
|
+
<%= city.beers.count %> Beers,
|
|
23
|
+
<%= city.breweries.count %> Breweries
|
|
24
|
+
</h3>
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
<table>
|
|
28
|
+
<%= render_breweries_table_rows( city.breweries ) %>
|
|
29
|
+
</table>
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
<!-- add links to all cities here -->
|
|
33
|
+
<hr>
|
|
34
|
+
|
|
35
|
+
<!-- note: add cities w/ breweries only -->
|
|
36
|
+
<p>
|
|
37
|
+
<% cities_count = 0
|
|
38
|
+
region.cities.order(:name).each do |city|
|
|
39
|
+
city_breweries_count = city.breweries.count
|
|
40
|
+
%>
|
|
41
|
+
|
|
42
|
+
<% if city_breweries_count > 0 %>
|
|
43
|
+
|
|
44
|
+
<% if cities_count > 0 %>
|
|
45
|
+
•
|
|
46
|
+
<% end %>
|
|
47
|
+
|
|
48
|
+
<%= link_to_city( city ) %>
|
|
49
|
+
<% if city_breweries_count > 1 %>
|
|
50
|
+
<span class='region-key'>
|
|
51
|
+
(<%= city_breweries_count %>)
|
|
52
|
+
</span>
|
|
53
|
+
<% end %>
|
|
54
|
+
<% cities_count +=1
|
|
55
|
+
end %>
|
|
56
|
+
|
|
57
|
+
<% end %>
|
|
58
|
+
</p>
|
|
59
|
+
|
|
@@ -1,16 +1,46 @@
|
|
|
1
|
+
<% country = @country
|
|
2
|
+
%>
|
|
1
3
|
|
|
2
4
|
<h3>
|
|
3
5
|
<%= image_tag_for_country( @country, size: '64x64' ) %>
|
|
4
6
|
|
|
5
7
|
<!-- fix: use full_title e.g. is title (code) -->
|
|
6
8
|
<%= @country.title %>
|
|
7
|
-
(<%= @country.code %>)
|
|
8
|
-
|
|
9
|
+
(<%= @country.code %>)
|
|
10
|
+
-
|
|
9
11
|
<%= @country.beers.count %> Beers,
|
|
10
12
|
<%= @country.breweries.count %> Breweries
|
|
11
13
|
</h3>
|
|
12
14
|
|
|
13
15
|
|
|
16
|
+
<!-- add intra-page links here -->
|
|
17
|
+
<p>
|
|
18
|
+
<% country.regions.each_with_index do |region,i| %>
|
|
19
|
+
<% if i > 0 %>
|
|
20
|
+
•
|
|
21
|
+
<% end %>
|
|
22
|
+
<%= link_to region.title, "##{region.key}" %>
|
|
23
|
+
<span class='city-count'>
|
|
24
|
+
(<%= region.breweries.count %>)
|
|
25
|
+
</span>
|
|
26
|
+
|
|
27
|
+
<% end %>
|
|
28
|
+
|
|
29
|
+
<!-- check for uncategorized breweries (no region) -->
|
|
30
|
+
<% uncategorized_breweries_count = country.breweries.where( 'region_id is null').count %>
|
|
31
|
+
<% if uncategorized_breweries_count > 0 %>
|
|
32
|
+
•
|
|
33
|
+
<b> Uncategorized
|
|
34
|
+
<span class='city-count'>
|
|
35
|
+
(<%= uncategorized_breweries_count %>)
|
|
36
|
+
</span>
|
|
37
|
+
</b>
|
|
38
|
+
<% end %>
|
|
39
|
+
|
|
40
|
+
</p>
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
14
44
|
<p>
|
|
15
45
|
Sort By: <%= link_to 'Key A-Z', short_country_path( @country, order: 'key' ) %>
|
|
16
46
|
•
|
|
@@ -60,73 +90,38 @@
|
|
|
60
90
|
</td>
|
|
61
91
|
</tr>
|
|
62
92
|
|
|
63
|
-
|
|
64
|
-
<tr>
|
|
65
|
-
<td style='vertical-align: baseline;'>
|
|
66
|
-
<%= link_to brewery.title, brewery_path( brewery.id ) %>
|
|
67
|
-
|
|
68
|
-
| <%= brewery.founded %>
|
|
69
|
-
<%= render_brewery_tags( brewery ) %>
|
|
70
|
-
<br>
|
|
71
|
-
<span class='city-count'>
|
|
72
|
-
<%= brewery.address %>
|
|
73
|
-
</span>
|
|
74
|
-
</td>
|
|
75
|
-
<td style='vertical-align: baseline;'>
|
|
76
|
-
<span class='city-count'>
|
|
77
|
-
<% if brewery.web.present? %>
|
|
78
|
-
<%= link_to brewery.web, "http://#{brewery.web}" %>
|
|
79
|
-
<% end %>
|
|
80
|
-
</span>
|
|
81
|
-
</td>
|
|
82
|
-
<td style='vertical-align: baseline;'>
|
|
83
|
-
<%= render_beers( brewery.beers ) %>
|
|
84
|
-
</td>
|
|
85
|
-
</tr>
|
|
86
|
-
<% end %><!-- each brewery -->
|
|
93
|
+
<%= render_breweries_table_rows( breweries_missing_regions ) %>
|
|
87
94
|
<% end %><!-- if breweries_missing_regions_count > 0 -->
|
|
88
95
|
|
|
89
96
|
|
|
90
97
|
|
|
91
98
|
<% @country.regions.each do |region| %>
|
|
92
99
|
<tr>
|
|
93
|
-
<td
|
|
100
|
+
<td style='background-color: silver;'></td>
|
|
101
|
+
<td colspan='2' style='background-color: silver; font-size: 130%;'>
|
|
94
102
|
<!-- use class region-key -->
|
|
95
103
|
<span class='city-count'>
|
|
96
104
|
<%= region.key %>
|
|
97
105
|
</span>
|
|
98
106
|
|
|
99
|
-
<%= region.
|
|
107
|
+
<a name='<%= region.key %>'></a>
|
|
108
|
+
<%= link_to region.title_w_synonyms, short_region_path(region) %>
|
|
109
|
+
|
|
110
|
+
<% if region.abbr.present? %>
|
|
111
|
+
<!-- fix: check if abbr is same as title
|
|
112
|
+
or lowercase is same as key e.g. NY == ny or similar ??
|
|
113
|
+
- if yes, do NOT print -->
|
|
114
|
+
, <%= region.abbr %>
|
|
115
|
+
<% end %>
|
|
116
|
+
|
|
100
117
|
<span class='city-count'>
|
|
101
118
|
(<%= region.breweries.count %>)
|
|
102
119
|
</span>
|
|
120
|
+
|
|
103
121
|
</td>
|
|
104
122
|
</tr>
|
|
105
123
|
|
|
106
|
-
|
|
107
|
-
<tr>
|
|
108
|
-
<td style='vertical-align: baseline;'>
|
|
109
|
-
<%= link_to brewery.title, brewery_path( brewery.id ) %>
|
|
110
|
-
|
|
111
|
-
| <%= brewery.founded %>
|
|
112
|
-
<%= render_brewery_tags( brewery ) %>
|
|
113
|
-
<br>
|
|
114
|
-
<span class='city-count'>
|
|
115
|
-
<%= brewery.address %>
|
|
116
|
-
</span>
|
|
117
|
-
</td>
|
|
118
|
-
<td style='vertical-align: baseline;'>
|
|
119
|
-
<span class='city-count'>
|
|
120
|
-
<% if brewery.web.present? %>
|
|
121
|
-
<%= link_to brewery.web, "http://#{brewery.web}" %>
|
|
122
|
-
<% end %>
|
|
123
|
-
</span>
|
|
124
|
-
</td>
|
|
125
|
-
<td style='vertical-align: baseline;'>
|
|
126
|
-
<%= render_beers( brewery.beers ) %>
|
|
127
|
-
</td>
|
|
128
|
-
</tr>
|
|
129
|
-
<% end %><!-- each brewery -->
|
|
124
|
+
<%= render_breweries_table_rows_for_region( region ) %>
|
|
130
125
|
<% end %> <!-- each region -->
|
|
131
126
|
|
|
132
127
|
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
</span>
|
|
57
57
|
</td>
|
|
58
58
|
<td style='vertical-align: baseline;'>
|
|
59
|
-
<%= brewery
|
|
59
|
+
<%= link_to_brewery( brewery ) %>
|
|
60
60
|
|
|
61
61
|
| <%= brewery.founded %>
|
|
62
62
|
|
|
|
@@ -95,7 +95,7 @@
|
|
|
95
95
|
</span>
|
|
96
96
|
</td>
|
|
97
97
|
<td style='vertical-align: baseline;'>
|
|
98
|
-
<%= brewery
|
|
98
|
+
<%= link_to_brewery( brewery) %>
|
|
99
99
|
|
|
100
100
|
| <%= brewery.founded %>
|
|
101
101
|
|
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
<% region = @region
|
|
2
|
+
country = @region.country
|
|
3
|
+
%>
|
|
4
|
+
|
|
5
|
+
<h3>
|
|
6
|
+
<%= image_tag_for_country( country, size: '64x64' ) %>
|
|
7
|
+
|
|
8
|
+
<!-- fix: use full_title e.g. is title (code) -->
|
|
9
|
+
|
|
10
|
+
<span class='region-key'>
|
|
11
|
+
<%= region.key %>
|
|
12
|
+
</span>
|
|
13
|
+
<%= region.title %>
|
|
14
|
+
<% if region.abbr.present? %>
|
|
15
|
+
• <%= region.abbr %>
|
|
16
|
+
<% end %>
|
|
17
|
+
›
|
|
18
|
+
|
|
19
|
+
<%= link_to_country(country ) %>
|
|
20
|
+
(<%= country.code %>)
|
|
21
|
+
-
|
|
22
|
+
<%= region.beers.count %> Beers,
|
|
23
|
+
<%= region.breweries.count %> Breweries
|
|
24
|
+
</h3>
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
<!-- note: add cities w/ breweries only -->
|
|
29
|
+
<p>
|
|
30
|
+
<% cities_count = 0
|
|
31
|
+
region.cities.order(:name).each do |city|
|
|
32
|
+
city_breweries_count = city.breweries.count
|
|
33
|
+
%>
|
|
34
|
+
|
|
35
|
+
<% if city_breweries_count > 0 %>
|
|
36
|
+
<% if cities_count > 0 %>
|
|
37
|
+
•
|
|
38
|
+
<% end %>
|
|
39
|
+
|
|
40
|
+
<%= link_to city.title, "##{city.key}" %>
|
|
41
|
+
<% if city_breweries_count > 1 %>
|
|
42
|
+
<span class='region-key'>
|
|
43
|
+
(<%= city_breweries_count %>)
|
|
44
|
+
</span>
|
|
45
|
+
<% end %>
|
|
46
|
+
<% cities_count +=1
|
|
47
|
+
end %>
|
|
48
|
+
<% end %>
|
|
49
|
+
|
|
50
|
+
<!-- check for uncategorized breweries (no region) -->
|
|
51
|
+
<% uncategorized_breweries_count = region.breweries.where( 'city_id is null').count %>
|
|
52
|
+
<% if uncategorized_breweries_count > 0 %>
|
|
53
|
+
•
|
|
54
|
+
<b> Uncategorized
|
|
55
|
+
<span class='city-count'>
|
|
56
|
+
(<%= uncategorized_breweries_count %>)
|
|
57
|
+
</span>
|
|
58
|
+
</b>
|
|
59
|
+
<% end %>
|
|
60
|
+
|
|
61
|
+
</p>
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
<table>
|
|
65
|
+
<%= render_breweries_table_rows_for_region( region ) %>
|
|
66
|
+
</table>
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
<!-- add links to all regions here -->
|
|
70
|
+
<hr>
|
|
71
|
+
|
|
72
|
+
<% country.regions.each_with_index do |region,i| %>
|
|
73
|
+
<% if i > 0 %>
|
|
74
|
+
|
|
75
|
+
<% end %>
|
|
76
|
+
<span class='region-key'>
|
|
77
|
+
<%= region.key %>
|
|
78
|
+
</span>
|
|
79
|
+
<%= link_to_region( region ) %>
|
|
80
|
+
<span class='region-key'>
|
|
81
|
+
(<%= region.breweries.count %>)
|
|
82
|
+
</span>
|
|
83
|
+
<% end %>
|
|
84
|
+
|
|
85
|
+
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
|
|
2
|
+
<!--
|
|
3
|
+
render beer in a single line
|
|
4
|
+
-- todo: add more formats: compact|full|???
|
|
5
|
+
-->
|
|
6
|
+
|
|
7
|
+
<%= link_to_beer( beer ) %>
|
|
8
|
+
|
|
9
|
+
<% if beer.synonyms.present? %>
|
|
10
|
+
• <%= beer.synonyms %>
|
|
11
|
+
<% end %>
|
|
12
|
+
|
|
13
|
+
/
|
|
14
|
+
|
|
15
|
+
<% if beer.abv.present? %>
|
|
16
|
+
<%= beer.abv %>
|
|
17
|
+
<% else %>
|
|
18
|
+
-
|
|
19
|
+
<% end %>
|
|
20
|
+
%
|
|
21
|
+
|
|
22
|
+
<% if beer.plato.present? %>
|
|
23
|
+
/ <%= beer.plato %>°
|
|
24
|
+
<% end %>
|
|
25
|
+
|
|
26
|
+
<% if beer.tags.count > 0 %>
|
|
27
|
+
/
|
|
28
|
+
<span class='tags'>
|
|
29
|
+
<% beer.tags.each_with_index do |tag,i| %>
|
|
30
|
+
<% if i > 0 %>
|
|
31
|
+
•
|
|
32
|
+
<% end %>
|
|
33
|
+
<%= tag.key %>
|
|
34
|
+
<% end %>
|
|
35
|
+
</span>
|
|
36
|
+
<% end %>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
|
|
2
|
+
<% breweries_count = city.breweries.count
|
|
3
|
+
%>
|
|
4
|
+
|
|
5
|
+
<% if breweries_count > 0 %>
|
|
6
|
+
<p>
|
|
7
|
+
<span class='region-key'><%= city.key %></span>
|
|
8
|
+
<%= link_to_city( city ) %>
|
|
9
|
+
<span class='beer-count'>(<%= breweries_count %>)</span>
|
|
10
|
+
</p>
|
|
11
|
+
|
|
12
|
+
<!-- todo/fix:
|
|
13
|
+
reuse use new partial render_breweries
|
|
14
|
+
-->
|
|
15
|
+
<tr>
|
|
16
|
+
<td>
|
|
17
|
+
<% city.breweries.order(:key).each_with_index do |brewery,i| %>
|
|
18
|
+
<% if i > 0 %>
|
|
19
|
+
•
|
|
20
|
+
<% end %>
|
|
21
|
+
<!-- todo: add a href title -- use address for hover if present -->
|
|
22
|
+
<%= link_to_brewery( brewery ) %>
|
|
23
|
+
<% end %>
|
|
24
|
+
</td>
|
|
25
|
+
</tr>
|
|
26
|
+
<% end %><!-- if breweries_count > 0 -->
|
|
@@ -5,7 +5,13 @@
|
|
|
5
5
|
<% if breweries_count > 0 %>
|
|
6
6
|
<p>
|
|
7
7
|
<span class='region-key'><%= region.key %></span>
|
|
8
|
-
<%= region
|
|
8
|
+
<%= link_to_region( region ) %>
|
|
9
|
+
<% if region.abbr.present? %>
|
|
10
|
+
<!-- fix: check if abbr is same as title
|
|
11
|
+
or lowercase is same as key e.g. NY == ny or similar ??
|
|
12
|
+
- if yes, do NOT print -->
|
|
13
|
+
, <%= region.abbr %>
|
|
14
|
+
<% end %>
|
|
9
15
|
<span class='beer-count'>(<%= breweries_count %>)</span>
|
|
10
16
|
</p>
|
|
11
17
|
|
|
@@ -16,7 +22,7 @@
|
|
|
16
22
|
•
|
|
17
23
|
<% end %>
|
|
18
24
|
<!-- todo: add a href title -- use address for hover if present -->
|
|
19
|
-
<%=
|
|
25
|
+
<%= link_to_brewery( brewery ) %>
|
|
20
26
|
<% end %>
|
|
21
27
|
</td>
|
|
22
28
|
</tr>
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
|
|
2
|
+
<!-- todo: make padding-left an option
|
|
3
|
+
use level 1,2,3 etc. - level 0 (top)? default ?? no indentation ??
|
|
4
|
+
-->
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
<% breweries.each do |brewery| %>
|
|
8
|
+
<tr>
|
|
9
|
+
<td style='vertical-align: baseline;'>
|
|
10
|
+
<div style='padding-left: 8px;'>
|
|
11
|
+
<%= link_to_brewery( brewery ) %>
|
|
12
|
+
|
|
13
|
+
| <%= brewery.founded %>
|
|
14
|
+
<%= render_brewery_tags( brewery ) %>
|
|
15
|
+
<br>
|
|
16
|
+
<span class='city-count'>
|
|
17
|
+
<%= brewery.address %>
|
|
18
|
+
</span>
|
|
19
|
+
</div>
|
|
20
|
+
</td>
|
|
21
|
+
<td style='vertical-align: baseline;'>
|
|
22
|
+
<span class='city-count'>
|
|
23
|
+
<% if brewery.web.present? %>
|
|
24
|
+
<%= link_to brewery.web, "http://#{brewery.web}" %>
|
|
25
|
+
<% end %>
|
|
26
|
+
</span>
|
|
27
|
+
</td>
|
|
28
|
+
<td style='vertical-align: baseline;'>
|
|
29
|
+
<%= render_beers( brewery.beers ) %>
|
|
30
|
+
</td>
|
|
31
|
+
</tr>
|
|
32
|
+
<% end %><!-- each brewery -->
|