Class: Api::Vendor::V1::CuisinesController
- Inherits:
-
BaseController
- Object
- ActionController::API
- BaseController
- Api::Vendor::V1::CuisinesController
- Includes:
- Api::Vendor::V1::Concerns::PaginationParam
- Defined in:
- app/controllers/api/vendor/v1/cuisines_controller.rb
Constant Summary
Constants inherited from BaseController
BaseController::CACHE_NAMESPACE
Instance Attribute Summary
Attributes inherited from BaseController
Instance Method Summary collapse
Methods included from LogrageCustomLogger
Methods included from ResponseCacheConcern
Instance Method Details
#index ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'app/controllers/api/vendor/v1/cuisines_controller.rb', line 5 def index city_id = params[:city_id] filter = Api::Vendor::V1::CuisinesFilter.new. init_default filter.by_city_id(city_id) if city_id.present? filter.page_number(page_number_param).per_page(page_size_param) cache_key = "#{CACHE_NAMESPACE}:#{self.class}:#{I18n.locale}:#{filter.collections.cache_key}:#{params[:sort]}#{city_id}" my_response_cache(cache_key, :json, public: true) do = {} filter.sort_by(params[:sort]) cuisines = filter.collections serialized_data = Api::Vendor::V1::CuisineSerializer.new(cuisines, ).serializable_hash serialized_data[:success] = true serialized_data[:message] = nil serialized_data end end |