class Lookbook::ApplicationController
def self.controller_path
def self.controller_path "lookbook" end
def assign_instance_vars
def assign_instance_vars @previews = Engine.previews @pages = Engine.pages @theme = Engine.theme @config = Lookbook.config @engine = Lookbook.engine @embed = !!params[:lookbook_embed] @blank_slate = Engine.pages.none? && Engine.previews.none? end
def assign_theme_overrides
def assign_theme_overrides @theme_overrides ||= Engine.theme.to_css end
def current_layout
def current_layout self.class.send(:_layout) end
def get_status_code(err)
def get_status_code(err) if err.respond_to?(:status) err.status else status_map = ActionDispatch::ExceptionWrapper.rescue_responses status_map.fetch(err.class.name, :internal_server_error) end end
def handle_error(err)
def handle_error(err) @error = err.is_a?(Lookbook::Error) ? err : Lookbook::Error.new(original: err) @status_code = get_status_code(err) view = (@status_code == :not_found) ? "not_found" : "default" layout = current_layout || "lookbook/skeleton" render "lookbook/errors/#{view}", layout: layout, status: @status_code end
def index
def index landing = Engine.pages.find(&:landing?) || Engine.pages.first if landing.present? redirect_to lookbook_page_path(landing.lookup_path) else render "lookbook/index" end end
def not_found
def not_found raise_not_found end
def raise_not_found(message = "Page not found")
def raise_not_found(message = "Page not found") raise Lookbook::RoutingError, message end