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.
Files changed (54) hide show
  1. checksums.yaml +7 -0
  2. data/Manifest.txt +57 -60
  3. data/README.md +4 -3
  4. data/Rakefile +1 -1
  5. data/app/assets/stylesheets/beer_db_admin/application.css.scss +4 -11
  6. data/app/assets/stylesheets/beer_db_admin/navbar.css.scss +3 -18
  7. data/app/controllers/beer_db_admin/beers_controller.rb +7 -1
  8. data/app/controllers/beer_db_admin/breweries_controller.rb +6 -0
  9. data/app/controllers/beer_db_admin/cities_controller.rb +25 -0
  10. data/app/controllers/beer_db_admin/regions_controller.rb +16 -0
  11. data/app/helpers/beer_db_admin/application_helper.rb +3 -21
  12. data/app/helpers/beer_db_admin/link_helper.rb +42 -0
  13. data/app/helpers/beer_db_admin/part_helper.rb +27 -7
  14. data/app/helpers/beer_db_admin/routes_helper.rb +17 -0
  15. data/app/helpers/beer_db_admin/service_helper.rb +69 -0
  16. data/app/views/beer_db_admin/beers/index.html.erb +14 -33
  17. data/app/views/beer_db_admin/beers/show.html.erb +7 -69
  18. data/app/views/beer_db_admin/brands/index.html.erb +11 -18
  19. data/app/views/beer_db_admin/breweries/_actions.html.erb +53 -0
  20. data/app/views/beer_db_admin/breweries/index.html.erb +8 -21
  21. data/app/views/beer_db_admin/breweries/show.html.erb +19 -51
  22. data/app/views/beer_db_admin/cities/show.html.erb +59 -0
  23. data/app/views/beer_db_admin/countries/index.html.erb +1 -1
  24. data/app/views/beer_db_admin/countries/show.html.erb +47 -52
  25. data/app/views/beer_db_admin/countries/show_pocket.html.erb +2 -2
  26. data/app/views/beer_db_admin/regions/show.html.erb +85 -0
  27. data/app/views/beer_db_admin/shared/_beer.html.erb +36 -0
  28. data/app/views/beer_db_admin/shared/_beers.html.erb +1 -1
  29. data/app/views/beer_db_admin/shared/_breweries_for_city.html +26 -0
  30. data/app/views/beer_db_admin/shared/_breweries_for_country.html.erb +2 -1
  31. data/app/views/beer_db_admin/shared/_breweries_for_region.html.erb +8 -2
  32. data/app/views/beer_db_admin/shared/_breweries_table_rows.html.erb +32 -0
  33. data/app/views/beer_db_admin/shared/_breweries_table_rows_for_region.html.erb +47 -0
  34. data/app/views/beer_db_admin/shared/_countries.html.erb +3 -4
  35. data/app/views/beer_db_admin/shared/_world_tree.html.erb +26 -0
  36. data/app/views/layouts/beer_db_admin/beer_db_admin.html.erb +1 -20
  37. data/config/routes.rb +14 -22
  38. data/lib/beerdb/admin.rb +3 -3
  39. data/lib/beerdb/admin/version.rb +1 -1
  40. metadata +36 -35
  41. data/app/controllers/beer_db_admin/bookmarks_controller.rb +0 -47
  42. data/app/controllers/beer_db_admin/drinks_controller.rb +0 -63
  43. data/app/controllers/beer_db_admin/frontpage_controller.rb +0 -15
  44. data/app/controllers/beer_db_admin/sessions_controller.rb +0 -53
  45. data/app/controllers/beer_db_admin/time_controller.rb +0 -12
  46. data/app/controllers/beer_db_admin/users_controller.rb +0 -66
  47. data/app/views/beer_db_admin/drinks/_form.html.erb +0 -29
  48. data/app/views/beer_db_admin/drinks/edit.html.erb +0 -4
  49. data/app/views/beer_db_admin/drinks/new.html.erb +0 -4
  50. data/app/views/beer_db_admin/sessions/new.html.erb +0 -54
  51. data/app/views/beer_db_admin/shared/_bookmarks.html.erb +0 -80
  52. data/app/views/beer_db_admin/time/index.html.erb +0 -40
  53. data/app/views/beer_db_admin/users/edit.html.erb +0 -40
  54. 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
+ &bull;
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
+
@@ -19,6 +19,6 @@
19
19
  </h4>
20
20
 
21
21
  <p>
22
- <%= render_countries( continent.countries.order(:title) ) %>
22
+ <%= render_countries( continent.countries.order(:name) ) %>
23
23
  </p>
24
24
  <% end %><!-- each continent-->
@@ -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
+ &bull;
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
+ &bull;
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
  &bull;
@@ -60,73 +90,38 @@
60
90
  </td>
61
91
  </tr>
62
92
 
63
- <% breweries_missing_regions.each do |brewery| %>
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 colspan='3' style='background-color: silver;'>
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.title_w_synonyms %>
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
- <% region.breweries.order( @order_clause ).each do |brewery| %>
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.title %>
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.title %>
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
+ &bull;
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
+ &bull;
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
+ &nbsp;
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
+ &bull; <%= 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
+ &bull;
32
+ <% end %>
33
+ <%= tag.key %>
34
+ <% end %>
35
+ </span>
36
+ <% end %>
@@ -6,7 +6,7 @@
6
6
  <% if i > 0 %>
7
7
  &bull;
8
8
  <% end %>
9
- <%= link_to beer.title, beer_path(beer.id) %>
9
+ <%= link_to beer.title, short_beer_path( beer ) %>
10
10
  <% end %><!-- each beer -->
11
11
  </span>
12
12
 
@@ -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
+ &bull;
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 -->
@@ -15,8 +15,9 @@
15
15
  <% if i > 0 %>
16
16
  &bull;
17
17
  <% end %>
18
- <%= link_to brewery.title, brewery_path( brewery.id ) %>
18
+ <%= link_to brewery.title, short_brewery_path( brewery ) %>
19
19
  <% end %>
20
20
  </td>
21
21
  </tr>
22
22
  <% end %><!-- if breweries_count > 0 -->
23
+
@@ -5,7 +5,13 @@
5
5
  <% if breweries_count > 0 %>
6
6
  <p>
7
7
  <span class='region-key'><%= region.key %></span>
8
- <%= region.title %>
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
  &bull;
17
23
  <% end %>
18
24
  <!-- todo: add a href title -- use address for hover if present -->
19
- <%= link_to brewery.title, brewery_path( brewery.id ) %>
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 -->