* Enable Rails cops * Fix Rails/DynamicFindBy * Fix Rails/HttpStatus * Fix Rails/Blank * Fix Rails/RequestReferer * Fix Rails/ActiveRecordAliases * Fix Rails/FindBy * Fix Rails/Presence * Fix Rails/Delegate * Fix Rails/Validation * Fix Rails/PluralizationGrammar * Fix Rails/Present * Fix Rails/Output * Fix Rails/Blank * Fix Rails/FilePath * Fix Rails/InverseOf * Fix Rails/LexicallyScopedActionFilter * Add Rails/OutputSafety to TODO * Add Rails/HasManyOrHasOneDependent to TODO * Add Rails/SkipsModelValidations to TODO
32 lines
946 B
Ruby
32 lines
946 B
Ruby
module Api
|
|
module V0
|
|
class PodcastEpisodesController < ApiController
|
|
# before_action :set_cache_control_headers, only: [:index, :show]
|
|
caches_action :index,
|
|
cache_path: proc { |c| c.params.permit! },
|
|
expires_in: 10.minutes
|
|
respond_to :json
|
|
|
|
caches_action :show,
|
|
cache_path: proc { |c| c.params.permit! },
|
|
expires_in: 10.minutes
|
|
respond_to :json
|
|
|
|
before_action :cors_preflight_check
|
|
after_action :cors_set_access_control_headers
|
|
|
|
def index
|
|
@page = params[:page]
|
|
if params[:username]
|
|
@podcast = Podcast.find_by(slug: params[:username]) || not_found
|
|
@podcast_episodes = @podcast.
|
|
podcast_episodes.order("published_at desc").
|
|
page(@page).
|
|
per(30)
|
|
else
|
|
@podcast_episodes = PodcastEpisode.order("published_at desc").page(@page).per(30)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|