Class: FavouriteObject::BaseFavouritesController
- Inherits:
-
ApplicationController
- Object
- ApplicationController
- FavouriteObject::BaseFavouritesController
- Defined in:
- app/controllers/favourite_object/base_favourites_controller.rb
Direct Known Subclasses
Instance Method Summary collapse
- #collection ⇒ Object
- #collection_pagination ⇒ Object
- #index ⇒ Object
- #meta ⇒ Object
- #respond_to_method(serializer) ⇒ Object
- #show ⇒ Object
- #toggle ⇒ Object
- #update ⇒ Object
Instance Method Details
#collection ⇒ Object
14 15 16 17 18 19 20 21 22 |
# File 'app/controllers/favourite_object/base_favourites_controller.rb', line 14 def collection @favourites = Favourite.for_owner(@user) .where(is_favourited: true).order("created_at DESC") @favourites = @favourites.where(target_type: params[:target_type]) if params[:target_type] @favourites = @favourites.where(target_id: params[:target_ids]) if params[:target_ids] collection_pagination end |
#collection_pagination ⇒ Object
24 25 26 |
# File 'app/controllers/favourite_object/base_favourites_controller.rb', line 24 def collection_pagination @favourites = @favourites.page(params[:page]).per(params[:per_page]) end |
#index ⇒ Object
8 9 10 11 12 |
# File 'app/controllers/favourite_object/base_favourites_controller.rb', line 8 def index collection respond_to_method(params[:serializer]) end |
#meta ⇒ Object
61 62 63 64 65 66 67 68 69 70 71 |
# File 'app/controllers/favourite_object/base_favourites_controller.rb', line 61 def if action_name == 'index' { pagination: { per_page: @favourites.limit_value, total_pages: @favourites.total_pages, total_objects: @favourites.total_count } } end end |
#respond_to_method(serializer) ⇒ Object
28 29 30 31 32 33 |
# File 'app/controllers/favourite_object/base_favourites_controller.rb', line 28 def respond_to_method(serializer) if serializer == 'lite' return respond_with @favourites, each_serializer: LiteFavouriteSerializer end respond_with @favourites end |
#show ⇒ Object
35 36 37 38 39 40 |
# File 'app/controllers/favourite_object/base_favourites_controller.rb', line 35 def show @favourite = Favourite.find_with_target(@user, params[:target_id], params[:target_type], params[:third_party_flag]) respond_with @favourite, serializer: LiteFavouriteSerializer end |
#toggle ⇒ Object
51 52 53 54 55 56 57 58 59 |
# File 'app/controllers/favourite_object/base_favourites_controller.rb', line 51 def toggle # toggle for web interface @favourite = Favourite.find_with_target(@user, params[:target_id], params[:target_type], params[:third_party_flag]) @favourite.toggle respond_with @favourite end |
#update ⇒ Object
42 43 44 45 46 47 48 49 |
# File 'app/controllers/favourite_object/base_favourites_controller.rb', line 42 def update @favourite = Favourite.find_with_target(@user, params[:target_id], params[:target_type], params[:third_party_flag]) @favourite.update(permitted_params[:favourite]) respond_with @favourite, serializer: LiteFavouriteSerializer end |