class PubviewController < ApplicationController
- def index
- @pages = Page.where(visibility: :visible).order(created_at: :asc).first(2).sort_by { |item| item.downcase }
-
+ before_action :set_pages, only: [:index, :show_public]
+
+ def index
@per_page = 15
@page = params[:page].to_i || 1
@filter = params[:filter] || 'all'
@current_page = @items.current_page
end
- def show_public
- @pages = Page.where(visibility: :visible).order(created_at: :asc).first(2).sort_by { |item| item.downcase }
-
+ def show_public
if current_user&.admin?
@page = Page.find_by(slug: params[:slug], visibility: ['visible', 'user_only', 'admin_only'])
elsif current_user
word_count = content.split.size
(word_count / 200.0).ceil
end
+
+ def set_pages
+ @pages = Page.where(visibility: :visible)
+ .order(Arel.sql("CASE
+ WHEN title = 'About' THEN 1
+ WHEN title = 'Sponsorship' THEN 2
+ ELSE 3
+ END"))
+ .limit(2)
+ end
end