docbrown/app/controllers/videos_controller.rb
rhymes 5782ffd7e0 Use published scope for articles (#2374)
* Use published scope for articles

* Fix variable name

* The sequencing in the union query matters

* Fix spec

* Restore a published: true condition

* This test is actually misleading due to the union

* Revert this change, not sure why it's not a relation

* Fix useless diff
2019-04-11 13:18:26 -04:00

30 lines
731 B
Ruby

class VideosController < ApplicationController
after_action :verify_authorized, except: %i[index]
before_action :set_cache_control_headers, only: %i[index]
def new
authorize :video
end
def index
@video_articles = Article.published.
where.not(video: [nil, ""], video_thumbnail_url: [nil, ""]).
where("score > ?", -4).
order("hotness_score DESC").
page(params[:page].to_i).per(24)
set_surrogate_key_header "videos_landing_page"
end
def create
authorize :video
@article = ArticleWithVideoCreationService.new(article_params, current_user).create!
render action: "js_response"
end
private
def article_params
params.require(:article).permit(:video)
end
end