Class: Api::Aoa::V1::ReviewsController
- Inherits:
-
BaseController
- Object
- ActionController::API
- BaseController
- Api::Aoa::V1::ReviewsController
- Defined in:
- app/controllers/api/aoa/v1/reviews_controller.rb
Constant Summary
Constants inherited from BaseController
BaseController::CACHE_NAMESPACE
Instance Method Summary collapse
Methods inherited from BaseController
Methods included from LogrageCustomLogger
Methods included from ResponseCacheConcern
Instance Method Details
#index ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# File 'app/controllers/api/aoa/v1/reviews_controller.rb', line 3 def index restaurant = Restaurant.fetch_by_id(params.require(:restaurant_id)) return render '/404', status: :not_found if restaurant.nil? page = params.fetch(:page, {}) filter = Api::V5::ReviewsFilter.new filter.scope_by(restaurant_id: restaurant.id) filter.page_number(page[:number].presence || 1). per_page(page[:size].presence || 10). use_default_order. sort_by(params[:sort]) my_response_cache(filter.collections.cache_key, :json, public: true) do Api::Aoa::V1::ReviewSerializer.new(filter.collections) end end |