class V1::SearchController < ApplicationController before_action :set_search # GET v1/search # GET v1/search.json def index begin render json: search_service.fetch, status: :ok rescue => e if e.message == "Invalid search" render json: @search.errors, status: :bad_request end end end # GET v1/search/autocomplete # GET v1/search/autocomplete.json def autocomplete begin render json: search_service.autocomplete, status: :ok rescue => e if e.message == "Invalid search" render json: @search.errors, status: :bad_request end end end private def set_search @search = Search.new(params) end def search_service @search_service ||= SearchService.new(@search) end end