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
@@ -10,6 +10,23 @@ module RoutesHelper
10
10
  short_country_worker_path( country.key, opts )
11
11
  end
12
12
 
13
+ def short_region_path( region, opts={} )
14
+ short_region_worker_path( "#{region.country.key}-#{region.key}", opts )
15
+ end
16
+
17
+ def short_city_path( city, opts={} )
18
+ short_city_worker_path( city.key, opts )
19
+ end
20
+
21
+
22
+ def short_brewery_path( brewery, opts={} )
23
+ short_brewery_worker_path( brewery.key, opts )
24
+ end
25
+
26
+ def short_beer_path( beer, opts={} )
27
+ short_beer_worker_path( beer.key, opts )
28
+ end
29
+
13
30
  =begin
14
31
  def short_tag_path( tag, opts={} )
15
32
  ## NB: tag needs slug NOT key (key may contain spaces)
@@ -0,0 +1,69 @@
1
+ # encoding: utf-8
2
+
3
+ module BeerDbAdmin
4
+ module ServiceHelper
5
+
6
+
7
+ ###
8
+ #
9
+ # todo/fix: move to its own gem for reuse and sharing ?? - why? why not?
10
+ # - check alternatives - any?
11
+ #
12
+ # - use open search xml spec ??
13
+ #
14
+
15
+
16
+ #####################
17
+ # browse tags
18
+
19
+ def link_to_flickr_tags( tags, opts={} ) # fix: add alias for link_to_flickr_tag
20
+ # e.g. use
21
+ # ottakringer
22
+ # ottakringer+beer -- use plus for multiple tags
23
+ link_to tags, "http://www.flickr.com/photos/tags/#{tags}", opts
24
+ end
25
+
26
+ #########################
27
+ # search terms (q)
28
+
29
+ def link_to_flickr_search( q, opts={} )
30
+ # e.g. use
31
+ # ottakringer
32
+ # ottakringer+beer -- note: + is url encoded for space e.g. equals ottakringer beer
33
+ link_to q, "http://www.flickr.com/search/?q=#{q}", opts
34
+ end
35
+
36
+
37
+ def link_to_google_search( q, opts={} )
38
+ link_to q, "https://www.google.com/search?q=#{q}", opts
39
+ end
40
+
41
+ def link_to_google_de_search( q, opts={} )
42
+ link_to q, "https://www.google.de/search?hl=de&q=#{q}", opts
43
+ end
44
+
45
+
46
+ def link_to_google_search_images( q, opts={} )
47
+ link_to q, "https://www.google.com/search?tbm=isch&q=#{q}", opts
48
+ end
49
+
50
+ def link_to_bing_search_images( q, opts={} )
51
+ link_to q, "http://www.bing.com/images/search?q=#{q}", opts
52
+ end
53
+
54
+ def link_to_wikipedia_search( q, opts={} )
55
+ link_to q, "http://en.wikipedia.org/?search=#{q}", opts
56
+ end
57
+
58
+ def link_to_wikipedia_de_search( q, opts={} )
59
+ link_to q, "http://de.wikipedia.org/?search=#{q}", opts
60
+ end
61
+
62
+ def link_to_untappd_search( q, opts={} )
63
+ link_to q, "https://untappd.com/search?q=#{q}", opts
64
+ end
65
+
66
+
67
+ end # module ServiceHelper
68
+ end # moudle BeerDbAdmin
69
+
@@ -1,19 +1,17 @@
1
+ <% beers = @beers
2
+ %>
3
+
1
4
 
2
5
  <h3><%= Beer.count %> Beers</h3>
3
6
  <!-- todo: add display/page count e.g. 25 -->
4
7
 
5
8
  <table>
6
- <% @beers.each do |beer| %>
9
+ <% beers.each do |beer| %>
7
10
  <tr>
8
11
  <td class='beer-key'><%= beer.key %></td>
9
-
10
- <% if signed_in? %>
12
+
11
13
  <td>
12
- <%= link_to 'Add', add_beer_to_user_path( beer.id, current_user_id ), class: 'btn' %>
13
- </td>
14
- <% end %>
15
-
16
- <td><%= link_to beer.title, beer_path( beer.id ) %>
14
+ <%= link_to_beer( beer ) %>
17
15
  <% if beer.synonyms.present? %>
18
16
  | <%= beer.synonyms %>
19
17
  <% end %>
@@ -30,39 +28,22 @@
30
28
 
31
29
  //
32
30
  <% if beer.brewery.present? %>
33
- <%= beer.brewery.title %>
31
+ <%= link_to_brewery( beer.brewery ) %>
34
32
  <% else %>
35
33
  -
36
34
  <% end %>
37
-
35
+
38
36
  <% if beer.tags.count > 0 %>
39
37
  <br>
40
- <span class='tags'>
41
- <% beer.tags.each_with_index do |tag,i| %>
42
- <% if i > 0 %>
43
- &bull;
44
- <% end %>
45
- <%= tag.key %>
46
- <% end %>
47
- </span>
38
+ <%= render_tags( beer.tags ) %>
48
39
  <% end %>
49
-
40
+
50
41
  </td>
51
42
  <td>
52
- <% if beer.city.present? %>
53
- <%= beer.city.title %>
54
- <% else %>
55
- -
56
- <% end %>
57
- /
58
- <% if beer.region.present? %>
59
- <%= beer.region.title %>
60
- <% else %>
61
- -
62
- <% end %>
63
- /
64
- <%= image_tag_for_country( beer.country ) %>
65
- <%= link_to beer.country.title, short_country_path( beer.country ) %>
43
+
44
+ <!-- fix: add option flag: true -->
45
+ <%= render_world_tree( beer, flag: true ) %>
46
+
66
47
  </td>
67
48
  </tr>
68
49
 
@@ -8,23 +8,11 @@
8
8
 
9
9
  <h3 style='margin-top: 0;'>
10
10
  <%= beer.title %>
11
- ,
12
- <%= beer.bookmarks.where(yes:true).count %> +1s,
13
- <%= beer.drinks.count %> Ratings
14
-
15
- || <%= image_tag_for_country( beer.country ) %>
16
- <%= link_to beer.country.title, short_country_path( beer.country ) %>
11
+ ||
12
+ <%= link_to_country( beer.country, flag: true ) %>
17
13
  </h3>
18
14
 
19
15
 
20
-
21
- <% if signed_in? %>
22
- <p>
23
- <%= link_to "Add", add_beer_to_user_path( beer.id, current_user_id ), class: 'btn' %>
24
- </p>
25
- <% end %>
26
-
27
-
28
16
  <p>
29
17
  <!-- todo ? move synonyms up to header ???
30
18
  -->
@@ -55,7 +43,7 @@
55
43
 
56
44
  <% if beer.brewery.present? %>
57
45
  <p>
58
- By <%= link_to beer.brewery.title, brewery_path( beer.brewery.id ) %> |
46
+ By <%= link_to_brewery( beer.brewery ) %> |
59
47
  <%= beer.brewery.founded %> ||
60
48
  <%= beer.brewery.address %>
61
49
  </p>
@@ -64,69 +52,19 @@
64
52
  <% end %>
65
53
 
66
54
 
67
-
68
- <h3><%= beer.bookmarks.where(yes:true).count %> +1s</h3>
69
-
70
- <p>
71
- <% beer.bookmarks.where(yes:true).each_with_index do |bookmark,i| %>
72
- <% if i > 0 %>
73
- &bull;
74
- <% end %>
75
- <%= link_to bookmark.user.name, user_path( bookmark.user.id ) %>
76
- <% end %>
77
- </p>
78
-
79
- <h3><%= beer.drinks.count %> Ratings</h3>
80
-
81
- <% beer.drinks.each do |drink| %>
82
-
83
- <p>
84
- <%= link_to drink.user.name, user_path( drink.user.id ) %>
85
- -
86
- <span class='drink-rating'>
87
- <%= drink.rating %>
88
- </span>
89
-
90
- <span class='drink-comments'>
91
- <%= drink.comments %>
92
- </span>
93
- /
94
- <span class='drink-place'>
95
- <%= drink.place %>
96
- </span>
97
- </p>
98
-
99
- <% end %>
100
-
101
-
102
-
103
55
  <hr>
104
56
  <% if beer.brewery.present? %>
105
57
  <p>
106
- <% beer.brewery.beers.order(:title).each_with_index do |beer,i| %>
58
+ <% beer.brewery.beers.order(:key).each_with_index do |beer,i| %>
107
59
  <% if i > 0 %>
108
60
  &bull;
109
61
  <% end %>
110
- <%= link_to beer.title, beer_path( beer.id ) %>
62
+ <%= link_to_beer( beer ) %>
111
63
  <% end %>
112
64
  </p>
113
65
  <% end %>
114
66
 
115
67
 
116
68
  <hr>
117
- <p>
118
- <% if beer.city.present? %>
119
- <%= beer.city.title %>
120
- <% else %>
121
- -
122
- <% end %>
123
- /
124
- <% if beer.region.present? %>
125
- <%= beer.region.title %>
126
- <% else %>
127
- -
128
- <% end %>
129
- /
130
- <%= image_tag_for_country( beer.country ) %>
131
- <%= link_to beer.country.title, short_country_path( beer.country ) %>
132
- </p>
69
+ <%= render_world_tree( beer ) %>
70
+
@@ -1,8 +1,11 @@
1
+ <% brands = @brands
2
+ %>
3
+
4
+ <h3><%= Brand.count %> Brands</h3>
1
5
 
2
- <h3><%= @brands.count %> Brands</h3>
3
6
 
4
7
  <table>
5
- <% @brands.each do |brand| %>
8
+ <% brands.each do |brand| %>
6
9
  <tr>
7
10
  <td class='beer-key'><%= brand.key %></td>
8
11
 
@@ -13,29 +16,19 @@
13
16
 
14
17
  //
15
18
  <% if brand.brewery.present? %>
16
- <%= brand.brewery.title %>
19
+ <%= link_to_brewery( brand.brewery ) %>
17
20
  <% else %>
18
21
  -
19
22
  <% end %>
20
23
 
21
24
  </td>
22
25
  <td>
23
- <% if brand.city.present? %>
24
- <%= brand.city.title %>
25
- <% else %>
26
- -
27
- <% end %>
28
- /
29
- <% if brand.region.present? %>
30
- <%= brand.region.title %>
31
- <% else %>
32
- -
33
- <% end %>
34
- /
35
- <%= image_tag_for_country( brand.country ) %>
36
- <%= link_to brand.country.title, short_country_path( brand.country ) %>
26
+
27
+ <!-- fix: add option flag: true -->
28
+ <%= render_world_tree( brand, flag: true ) %>
29
+
37
30
  </td>
38
31
  </tr>
39
32
 
40
33
  <% end %>
41
- </table>
34
+ </table>
@@ -0,0 +1,53 @@
1
+
2
+ <div id='actions' style='float: right; border: 1pt solid grey; background-color: silver; padding: 6px; font-size: 80%;'>
3
+
4
+ Browse Tagged Fotos
5
+ <ul>
6
+ <li>Flickr:
7
+ <%= link_to_flickr_tags "#{brewery.key}", target: 'beerdb' %>,
8
+ <%= link_to_flickr_tags "#{brewery.key}+beer", target: 'beerdb' %>,
9
+ <%= link_to_flickr_tags "#{brewery.key}+bier", target: 'beerdb' %>
10
+ </li>
11
+ </ul>
12
+
13
+ Search Fotos
14
+ <ul>
15
+ <li>Flickr:
16
+ <%= link_to_flickr_search "#{brewery.key}", target: 'beerdb' %>,
17
+ <%= link_to_flickr_search "#{brewery.key}+beer", target: 'beerdb' %>,
18
+ <!-- check: can we select the language e.g. de w/ a query para ?? -->
19
+ <%= link_to_flickr_search "#{brewery.key}+bier", target: 'beerdb' %>
20
+ </li>
21
+ <li>Google:
22
+ <%= link_to_google_search_images "#{brewery.key}", target: 'beerdb' %>,
23
+ <%= link_to_google_search_images "#{brewery.key}+beer", target: 'beerdb' %>,
24
+ <%= link_to_google_search_images "#{brewery.key}+bier", target: 'beerdb' %>
25
+ <!-- add search w/ title (e.g. Zwettler BRauerei) -->
26
+ </li>
27
+ <li>Bing:
28
+ <%= link_to_bing_search_images "#{brewery.key}", target: 'beerdb' %>,
29
+ <%= link_to_bing_search_images "#{brewery.key}+beer", target: 'beerdb' %>,
30
+ <!-- check: can we select the language e.g. de w/ a query para ?? -->
31
+ <%= link_to_bing_search_images "#{brewery.key}+bier", target: 'beerdb' %>
32
+ </li>
33
+ </ul>
34
+
35
+ Search
36
+ <ul>
37
+ <li>Google:
38
+ <%= link_to_google_search "#{brewery.key}", target: 'beerdb' %>,
39
+ <%= link_to_google_search "#{brewery.key}+beer", target: 'beerdb' %>,
40
+ <%= link_to_google_de_search "#{brewery.key}+bier", target: 'beerdb' %>
41
+ </li>
42
+ <li>Wikipedia:
43
+ <%= link_to_wikipedia_search "#{brewery.key}+beer", target: 'beerdb' %>
44
+ </li>
45
+ <li>Wikipedia (de):
46
+ <%= link_to_wikipedia_de_search "#{brewery.key}+bier", target: 'beerdb' %>
47
+ </li>
48
+ <li>Untappd:
49
+ <%= link_to_untappd_search "#{brewery.key}", target: 'beerdb' %>
50
+ </li>
51
+ </ul>
52
+
53
+ </div>
@@ -1,3 +1,5 @@
1
+ <% breweries = @breweries
2
+ %>
1
3
 
2
4
  <h3><%= Brewery.count %> Breweries</h3>
3
5
  <!-- todo: add display/page count e.g. 25 -->
@@ -12,18 +14,13 @@
12
14
 
13
15
 
14
16
  <table>
15
- <% @breweries.each do |brewery| %>
17
+ <% breweries.each do |brewery| %>
16
18
  <tr>
17
19
  <td class='brewery-key'><%= brewery.key %></td>
18
20
 
19
- <% if signed_in? %>
20
- <td>
21
- <%= link_to 'Add', add_brewery_to_user_path( brewery.id, current_user_id ), class: 'btn' %>
22
- </td>
23
- <% end %>
24
21
 
25
22
  <td>
26
- <%= link_to brewery.title, brewery_path( brewery.id ) %>
23
+ <%= link_to_brewery( brewery ) %>
27
24
  <% if brewery.synonyms.present? %>
28
25
  | <%= brewery.synonyms %>
29
26
  <% end %>
@@ -32,20 +29,10 @@
32
29
 
33
30
  </td>
34
31
  <td>
35
- <% if brewery.city.present? %>
36
- <%= brewery.city.title %>
37
- <% else %>
38
- -
39
- <% end %>
40
- /
41
- <% if brewery.region.present? %>
42
- <%= brewery.region.title %>
43
- <% else %>
44
- -
45
- <% end %>
46
- /
47
- <%= image_tag_for_country( brewery.country ) %>
48
- <%= link_to brewery.country.title, short_country_path( brewery.country ) %>
32
+
33
+ <!-- fix: add option flag: true -->
34
+ <%= render_world_tree( brewery, flag: true ) %>
35
+
49
36
  </td>
50
37
  </tr>
51
38
 
@@ -17,9 +17,9 @@
17
17
  <% end %>
18
18
 
19
19
  ||
20
- <%= image_tag_for_country( brewery.country ) %>
21
- <%= link_to brewery.country.title, short_country_path( brewery.country ) %>
22
-
20
+ <%= link_to_country( brewery.country, flag: true ) %>
21
+
22
+ - <%= brewery.beers.count %> Beers
23
23
 
24
24
  <% if brewery.tags.count > 0 %>
25
25
  <span class='tags tag-list'>
@@ -29,6 +29,12 @@
29
29
 
30
30
  </h3>
31
31
 
32
+ <!-- add some quick search services for convenience
33
+ fix: move to shared ?? use render_brewery_actions() ???
34
+ -->
35
+ <%= render partial: 'actions', locals: { brewery: brewery } %>
36
+
37
+
32
38
  <p>
33
39
  <%= brewery.address %>
34
40
  </p>
@@ -41,46 +47,23 @@
41
47
 
42
48
 
43
49
  <!-- add all beers -->
44
-
45
50
  <hr>
46
51
  <ul>
47
52
  <% brewery.beers.each do |beer| %>
48
53
  <li>
49
- <%= link_to beer.title, beer_path( beer.id ) %>
50
-
51
- <% if beer.synonyms.present? %>
52
- &bull; <%= beer.synonyms %>
53
- <% end %>
54
- /
55
- <% if beer.abv.present? %>
56
- <%= beer.abv %>
57
- <% else %>
58
- -
59
- <% end %>
60
- %
61
- <% if beer.plato.present? %>
62
- / <%= beer.plato %>°
63
- <% end %>
64
-
65
- <% if beer.tags.count > 0 %>
66
- /
67
- <span class='tags'>
68
- <% beer.tags.each_with_index do |tag,i| %>
69
- <% if i > 0 %>
70
- &bull;
71
- <% end %>
72
- <%= tag.key %>
73
- <% end %>
74
- </span>
75
- <% end %>
76
-
77
-
78
-
54
+ <%= render_beer( beer ) %>
79
55
  </li>
80
56
  <% end %>
81
57
  </ul>
82
58
 
83
59
 
60
+ <hr>
61
+ <% if brewery.city.present? %>
62
+ <!-- check number of breweries !!! only if more than one!!! -->
63
+ <%= render_breweries_for_city( brewery.city ) %>
64
+ <% end %>
65
+
66
+
84
67
  <hr>
85
68
 
86
69
  <% if brewery.region.present? %>
@@ -90,22 +73,7 @@
90
73
  <% end %><!-- if brewery.region.present? -->
91
74
 
92
75
 
93
-
94
76
  <hr>
95
77
 
96
- <p>
97
- <% if brewery.city.present? %>
98
- <%= brewery.city.title %>
99
- <% else %>
100
- -
101
- <% end %>
102
- /
103
- <% if brewery.region.present? %>
104
- <%= brewery.region.title %>
105
- <% else %>
106
- -
107
- <% end %>
108
- /
109
- <%= image_tag_for_country( brewery.country ) %>
110
- <%= link_to brewery.country.title, short_country_path( brewery.country ) %>
111
- </p>
78
+ <%= render_world_tree( brewery ) %>
79
+