beerdb-admin 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
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,47 @@
1
+
2
+
3
+ <!-- note: for now add section for uncategorized breweries
4
+ (e.g. w/o city; city missing)
5
+ -->
6
+
7
+ <% breweries_missing_cities = region.breweries.where( 'city_id is null')
8
+ breweries_missing_cities_count = breweries_missing_cities.count
9
+
10
+ if breweries_missing_cities_count > 0
11
+ %>
12
+
13
+ <tr>
14
+ <td colspan='3' style='background-color: silver;'>
15
+ <b>Uncategorized</b>
16
+ <span class='city-count'>
17
+ (<%= breweries_missing_cities_count %>)
18
+ </span>
19
+ </td>
20
+ </tr>
21
+
22
+ <%= render_breweries_table_rows( breweries_missing_cities ) %>
23
+ <% end %><!-- if breweries_missing_cities_count > 0 -->
24
+
25
+
26
+
27
+ <% region.cities.order(:name).each do |city|
28
+ city_breweries_count = city.breweries.count
29
+
30
+ if city_breweries_count > 0
31
+ %>
32
+ <tr>
33
+ <td colspan='3' style='background-color: silver;'>
34
+ <a name='<%= city.key %>'></a>
35
+ <%= link_to_city( city ) %>
36
+ <% if city_breweries_count > 1 %>
37
+ <span class='city-count'>
38
+ (<%= city_breweries_count %>)
39
+ </span>
40
+ <% end %>
41
+ </td>
42
+ </tr>
43
+
44
+ <%= render_breweries_table_rows( city.breweries ) %>
45
+
46
+ <% end %>
47
+ <% end %>
@@ -6,9 +6,8 @@
6
6
 
7
7
  <% if beers_count > 0 || breweries_count > 0 %>
8
8
  <div>
9
- <span class='country-key'><%= country.key %></span>
10
- <%= image_tag_for_country( country ) %>
11
- <%= link_to country.title, short_country_path( country ) %>
9
+ <span class='country-key'><%= country.key %></span>
10
+ <%= link_to_country( country, flag: true ) %>
12
11
  (<%= country.code %>)
13
12
 
14
13
  <span class='country-key'>
@@ -28,7 +27,7 @@
28
27
  <% if i > 0 %>
29
28
  &bull;
30
29
  <% end %>
31
- <%= link_to beer.title, beer_path( beer.id ) %>
30
+ <%= link_to_beer( beer ) %>
32
31
  <% end %>
33
32
  <span class="beer-count">(<%= beers_count %>)</span>
34
33
  </div>
@@ -0,0 +1,26 @@
1
+
2
+ <div>
3
+ <% if city.present? %>
4
+ <%= link_to_city( city ) %>
5
+ <% else %>
6
+ -
7
+ <% end %>
8
+
9
+ <% if region.present? %>
10
+ <%= link_to_region( region ) %>
11
+ <% if region.abbr.present? %>
12
+ <!-- fix: check if abbr is same as title
13
+ or lowercase is same as key e.g. NY == ny or similar ??
14
+ - if yes, do NOT print
15
+ -->
16
+ <!-- fix move into link_to_region!!! w/ option abbr: true
17
+ -->
18
+ • <%= region.abbr %>
19
+ <% end %>
20
+ <% else %>
21
+ -
22
+ <% end %>
23
+
24
+ <%= link_to_country( country, flag: show_flag ) %>
25
+ </div>
26
+
@@ -7,8 +7,6 @@
7
7
  <body>
8
8
 
9
9
 
10
- <% unless controller_name == 'sessions' %>
11
-
12
10
  <div class='navbar'>
13
11
  <table width='100%' cellspacing=0>
14
12
  <tr>
@@ -22,7 +20,7 @@
22
20
  <%= Brand.count %> brands,
23
21
  <%= Brewery.count %> breweries
24
22
  in
25
- 65 countries
23
+ ?? countries
26
24
 
27
25
  </span> &nbsp;&nbsp;&nbsp;
28
26
 
@@ -34,27 +32,12 @@
34
32
  </td>
35
33
  <!-- right -->
36
34
  <td style='text-align: right;'>
37
- <% if signed_in? %>
38
- Willkommen, <%= link_to current_user.name, edit_user_path(current_user_id) %>!
39
-
40
- &nbsp;
41
- <span class='signout'>
42
- <%= link_to t(:signout), signout_path %>
43
- </span>
44
- <% else %>
45
- <span class='signin'>
46
- <%= link_to t(:signin), signin_path %>
47
- </span>
48
- <% end %>
49
35
  </td>
50
36
  </tr>
51
37
  </table>
52
38
  </div>
53
39
 
54
40
  <p>
55
- <% if signed_in? %>
56
- <%= link_to 'Frontpage', frontpage_path() %> &bull;
57
- <% end %>
58
41
 
59
42
  <%= link_to 'Countries', countries_path() %> &bull;
60
43
  <!--
@@ -64,7 +47,6 @@
64
47
  <%= link_to 'Brands', brands_path() %> &bull;
65
48
  <%= link_to 'Breweries', breweries_path() %> &bull;
66
49
  <%= link_to 'Tags', tags_path() %> &bull;
67
- <%= link_to 'Timeline', time_path() %> &bull;
68
50
  <%= link_to 'About', about_path() %>
69
51
  .::.
70
52
 
@@ -77,7 +59,6 @@
77
59
 
78
60
  </p>
79
61
 
80
- <% end %>
81
62
 
82
63
 
83
64
 
@@ -1,45 +1,37 @@
1
1
 
2
2
  BeerDbAdmin::Engine.routes.draw do
3
3
 
4
- match 'signin', :to => 'sessions#new'
5
- match 'signout', :to => 'sessions#destroy'
6
-
7
4
  match 'about', :to => 'pages#about'
8
-
9
- resource :session, :only => [:new, :create, :destroy]
10
-
11
- match 'time', :to => 'time#index'
12
5
 
13
6
  ###############################
14
7
  # routes for shortcuts (friendly urls)
15
8
 
16
- ## 2 lower case letters - assume shortcut for country
17
- match '/:key', :to => 'countries#shortcut', :as => :short_country_worker, :key => /[a-z]{2}/
18
9
 
10
+ ## check - use only get instead of match - will it work??
11
+ match '/b/:key', :to => 'beers#shortcut' # convenience alias for /beer/:key
12
+ match '/beer/:key', :to => 'beers#shortcut', :as => :short_beer_worker
13
+ # todo/check: use brewery instead of by shortcut ??
14
+ match '/by/:key', :to => 'breweries#shortcut', :as => :short_brewery_worker
19
15
 
20
- # current user's start page/front page
21
- match 'frontpage', :to => 'frontpage#index'
16
+ # note: 2-3 lower case letters - assume shortcut for country e.g. /at or /mx or /nir or /sco
17
+
18
+ match '/c/:key', :to => 'cities#shortcut', :key => /[a-z0-9]+/
19
+ match '/city/:key', :to => 'cities#shortcut', :as => :short_city_worker, :key => /[a-z0-9]+/
22
20
 
23
- match 'beers/:beer_id/users/:id', :to => 'users#add_beer', :as => 'add_beer_to_user'
24
- match 'breweries/:brewery_id/users/:id', :to => 'users#add_brewery', :as => 'add_brewery_to_user'
25
- match 'users/:user_id/beers/:beer_id/drinks/new', :to => 'drinks#new', :as => 'new_user_beer_drink'
21
+ match '/:key', :to => 'regions#shortcut', :as => :short_region_worker, :key => /[a-z]{2,3}[\-+.][a-z]{1,3}/
22
+ match '/:key', :to => 'countries#shortcut', :as => :short_country_worker, :key => /[a-z]{2,3}/
26
23
 
27
- match 'bookmarks/:id/flag', :to => 'bookmarks#update_flag', :as => 'update_bookmark_flag'
28
24
 
29
- resources :drinks
30
- resources :bookmarks
31
-
25
+ match 'beers/:beer_id/users/:id', :to => 'users#add_beer', :as => 'add_beer_to_user'
26
+ match 'breweries/:brewery_id/users/:id', :to => 'users#add_brewery', :as => 'add_brewery_to_user'
32
27
 
33
- resources :users do
34
- ## resources :drinks
35
- ## resources :bookmarks
36
- end
37
28
 
38
29
  resources :beers
39
30
  resources :brands
40
31
  resources :breweries
41
32
  resources :countries
42
33
  resources :regions
34
+ resources :cities
43
35
  resources :tags
44
36
 
45
37
  root :to => 'countries#index'
@@ -5,7 +5,7 @@ require 'beerdb/admin/engine'
5
5
  module BeerDbAdmin
6
6
 
7
7
  def self.banner
8
- "beerdb-admin #{VERSION} on Ruby #{RUBY_VERSION} (#{RUBY_RELEASE_DATE}) [#{RUBY_PLATFORM}]"
8
+ "beerdb-admin/#{VERSION} on Ruby #{RUBY_VERSION} (#{RUBY_RELEASE_DATE}) [#{RUBY_PLATFORM}]"
9
9
  end
10
10
 
11
11
  ## cut off folders lib(#1)/sportdb(#2) to get to root
@@ -16,5 +16,5 @@ module BeerDbAdmin
16
16
  end
17
17
 
18
18
 
19
- # say hello
20
- puts BeerDbAdmin.banner
19
+ puts BeerDbAdmin.banner # say hello
20
+
@@ -1,5 +1,5 @@
1
1
 
2
2
  module BeerDbAdmin
3
- VERSION = '0.1.1'
3
+ VERSION = '0.1.2'
4
4
  end
5
5
 
metadata CHANGED
@@ -1,38 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: beerdb-admin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
5
- prerelease:
4
+ version: 0.1.2
6
5
  platform: ruby
7
6
  authors:
8
7
  - Gerald Bauer
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2014-01-25 00:00:00.000000000 Z
11
+ date: 2014-11-13 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: rdoc
16
- requirement: &20976972 !ruby/object:Gem::Requirement
17
- none: false
15
+ requirement: !ruby/object:Gem::Requirement
18
16
  requirements:
19
- - - ~>
17
+ - - "~>"
20
18
  - !ruby/object:Gem::Version
21
19
  version: '4.0'
22
20
  type: :development
23
21
  prerelease: false
24
- version_requirements: *20976972
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '4.0'
25
27
  - !ruby/object:Gem::Dependency
26
28
  name: hoe
27
- requirement: &20976624 !ruby/object:Gem::Requirement
28
- none: false
29
+ requirement: !ruby/object:Gem::Requirement
29
30
  requirements:
30
- - - ~>
31
+ - - "~>"
31
32
  - !ruby/object:Gem::Version
32
- version: '3.7'
33
+ version: '3.13'
33
34
  type: :development
34
35
  prerelease: false
35
- version_requirements: *20976624
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '3.13'
36
41
  description: beerdb admin addon - rails engine
37
42
  email: beerdb@googlegroups.com
38
43
  executables: []
@@ -54,47 +59,44 @@ files:
54
59
  - app/assets/stylesheets/beer_db_admin/settings.css.scss
55
60
  - app/controllers/beer_db_admin/beer_db_admin_controller.rb
56
61
  - app/controllers/beer_db_admin/beers_controller.rb
57
- - app/controllers/beer_db_admin/bookmarks_controller.rb
58
62
  - app/controllers/beer_db_admin/brands_controller.rb
59
63
  - app/controllers/beer_db_admin/breweries_controller.rb
64
+ - app/controllers/beer_db_admin/cities_controller.rb
60
65
  - app/controllers/beer_db_admin/countries_controller.rb
61
- - app/controllers/beer_db_admin/drinks_controller.rb
62
- - app/controllers/beer_db_admin/frontpage_controller.rb
63
66
  - app/controllers/beer_db_admin/pages_controller.rb
64
67
  - app/controllers/beer_db_admin/regions_controller.rb
65
- - app/controllers/beer_db_admin/sessions_controller.rb
66
68
  - app/controllers/beer_db_admin/tags_controller.rb
67
- - app/controllers/beer_db_admin/time_controller.rb
68
- - app/controllers/beer_db_admin/users_controller.rb
69
69
  - app/helpers/beer_db_admin/application_helper.rb
70
+ - app/helpers/beer_db_admin/link_helper.rb
70
71
  - app/helpers/beer_db_admin/part_helper.rb
71
72
  - app/helpers/beer_db_admin/routes_helper.rb
73
+ - app/helpers/beer_db_admin/service_helper.rb
72
74
  - app/views/beer_db_admin/beers/index.html.erb
73
75
  - app/views/beer_db_admin/beers/show.html.erb
74
76
  - app/views/beer_db_admin/brands/index.html.erb
77
+ - app/views/beer_db_admin/breweries/_actions.html.erb
75
78
  - app/views/beer_db_admin/breweries/index.html.erb
76
79
  - app/views/beer_db_admin/breweries/show.html.erb
80
+ - app/views/beer_db_admin/cities/show.html.erb
77
81
  - app/views/beer_db_admin/countries/index.html.erb
78
82
  - app/views/beer_db_admin/countries/show.html.erb
79
83
  - app/views/beer_db_admin/countries/show_pocket.html.erb
80
- - app/views/beer_db_admin/drinks/_form.html.erb
81
- - app/views/beer_db_admin/drinks/edit.html.erb
82
- - app/views/beer_db_admin/drinks/new.html.erb
83
84
  - app/views/beer_db_admin/pages/about.html.erb
84
85
  - app/views/beer_db_admin/pages/index.html.erb
85
86
  - app/views/beer_db_admin/regions/index.html.erb
86
- - app/views/beer_db_admin/sessions/new.html.erb
87
+ - app/views/beer_db_admin/regions/show.html.erb
88
+ - app/views/beer_db_admin/shared/_beer.html.erb
87
89
  - app/views/beer_db_admin/shared/_beers.html.erb
88
- - app/views/beer_db_admin/shared/_bookmarks.html.erb
90
+ - app/views/beer_db_admin/shared/_breweries_for_city.html
89
91
  - app/views/beer_db_admin/shared/_breweries_for_country.html.erb
90
92
  - app/views/beer_db_admin/shared/_breweries_for_region.html.erb
93
+ - app/views/beer_db_admin/shared/_breweries_table_rows.html.erb
94
+ - app/views/beer_db_admin/shared/_breweries_table_rows_for_region.html.erb
91
95
  - app/views/beer_db_admin/shared/_brewery_tags.html.erb
92
96
  - app/views/beer_db_admin/shared/_countries.html.erb
93
97
  - app/views/beer_db_admin/shared/_tags.html.erb
98
+ - app/views/beer_db_admin/shared/_world_tree.html.erb
94
99
  - app/views/beer_db_admin/tags/index.html.erb
95
- - app/views/beer_db_admin/time/index.html.erb
96
- - app/views/beer_db_admin/users/edit.html.erb
97
- - app/views/beer_db_admin/users/show.html.erb
98
100
  - app/views/layouts/beer_db_admin/_flash.html.erb
99
101
  - app/views/layouts/beer_db_admin/_header.html.erb
100
102
  - app/views/layouts/beer_db_admin/beer_db_admin.html.erb
@@ -102,31 +104,30 @@ files:
102
104
  - lib/beerdb/admin.rb
103
105
  - lib/beerdb/admin/engine.rb
104
106
  - lib/beerdb/admin/version.rb
105
- homepage: https://github.com/geraldb/beer.db.admin
107
+ homepage: https://github.com/beerkit/beer.db.admin
106
108
  licenses:
107
109
  - Public Domain
110
+ metadata: {}
108
111
  post_install_message:
109
112
  rdoc_options:
110
- - --main
113
+ - "--main"
111
114
  - README.md
112
115
  require_paths:
113
116
  - lib
114
117
  required_ruby_version: !ruby/object:Gem::Requirement
115
- none: false
116
118
  requirements:
117
- - - ! '>='
119
+ - - ">="
118
120
  - !ruby/object:Gem::Version
119
121
  version: 1.9.2
120
122
  required_rubygems_version: !ruby/object:Gem::Requirement
121
- none: false
122
123
  requirements:
123
- - - ! '>='
124
+ - - ">="
124
125
  - !ruby/object:Gem::Version
125
126
  version: '0'
126
127
  requirements: []
127
- rubyforge_project: beerdb-admin
128
- rubygems_version: 1.8.16
128
+ rubyforge_project:
129
+ rubygems_version: 2.4.2
129
130
  signing_key:
130
- specification_version: 3
131
+ specification_version: 4
131
132
  summary: beerdb admin addon - rails engine
132
133
  test_files: []
@@ -1,47 +0,0 @@
1
- # encoding: utf-8
2
-
3
- module BeerDbAdmin
4
-
5
- class BookmarksController < BeerDbAdminController
6
-
7
- def update_flag
8
-
9
- bookmark = Bookmark.find( params[:id] )
10
-
11
- # check params
12
- if params[:yes].present?
13
- if params[:yes] == 'true' || params[:yes] == 't'
14
- bookmark.yes = true # +1
15
- bookmark.no = false
16
- else
17
- bookmark.yes = false
18
- end
19
- end
20
-
21
- if params[:no].present?
22
- if params[:no] == 'true' || params[:no] == 't'
23
- bookmark.no = true # -1
24
- bookmark.yes = false
25
- else
26
- bookmark.no = false
27
- end
28
- end
29
-
30
- if params[:wish].present?
31
- if params[:wish] == 'true' || params[:wish] == 't'
32
- bookmark.wish = true
33
- bookmark.no = false # reset -1 flag if present
34
- else
35
- bookmark.wish = false
36
- end
37
- end
38
-
39
- flash[:notice] = 'Bookmark erfolgreich gespeichert.'
40
- bookmark.save!
41
-
42
- redirect_to :back
43
- end
44
-
45
- end # class BookmarksController
46
-
47
- end # module BeerDbAdmin
@@ -1,63 +0,0 @@
1
- # encoding: utf-8
2
-
3
- module BeerDbAdmin
4
-
5
- class DrinksController < BeerDbAdminController
6
-
7
- include ApplicationHelper # fix: move current_user to application controller too
8
-
9
- # GET /drinks
10
- def index
11
- end
12
-
13
- # GET /drinks/new
14
- def new
15
- # NB: beer_id n current_user (user_id) required
16
-
17
- @drink = Drink.new
18
- @beer = Beer.find( params[:beer_id] )
19
- @user = current_user() # assert user_id == current_user_id
20
-
21
- @drink.beer_id = @beer.id
22
- @drink.user_id = @user.id
23
- end
24
-
25
- # POST /drinks
26
- def create
27
- @drink = Drink.new(params[:drink])
28
-
29
- if @drink.save
30
- flash[:notice] = 'Drink erfolgreich gespeichert.'
31
- redirect_to frontpage_path()
32
- else
33
- @beer = @drink.beer
34
- @user = current_user() # assert @drink.user_id == current_user_id
35
- render action: 'new'
36
- end
37
- end
38
-
39
-
40
- # GET /drinks/1/edit
41
- def edit
42
- @drink = Drink.find( params[:id] )
43
- @beer = @drink.beer
44
- @user = current_user() # assert @drink.user_id == current_user_id
45
- end
46
-
47
- # PUT /drinks/1
48
- def update
49
- @drink = Drink.find( params[:id] )
50
-
51
- if @drink.update_attributes( params[:drink] )
52
- flash[:notice] = 'Drink erfolgreich gespeichert.'
53
- redirect_to frontpage_path()
54
- else
55
- @beer = @drink.beer
56
- @user = current_user() # assert @drink.user_id == current_user_id
57
- render action: 'edit'
58
- end
59
- end
60
-
61
- end # class DrinksController
62
-
63
- end # module BeerDbAdmin