class Lookbook::Engine

def mounted_path

def mounted_path
  Lookbook::Engine.routes.find_script_name({})
end

def parser

def parser
  @parser ||= Lookbook::Parser.new(config.lookbook.preview_paths, config.lookbook.parser_registry_path)
end

def websocket

def websocket
  return @websocket unless @websocket.nil?
  if config.lookbook.auto_refresh
    cable = ActionCable::Server::Configuration.new
    cable.cable = {adapter: "async"}.with_indifferent_access
    cable.mount_path = config.lookbook.cable_mount_path
    cable.connection_class = -> { Lookbook::Connection }
    cable.logger = config.lookbook.cable_logger
    @websocket ||= if Rails.version.to_f >= 6.0
      ActionCable::Server::Base.new(config: cable)
    else
      @websocket ||= ActionCable::Server::Base.new
      @websocket.config = cable
      @websocket
    end
  end
end

def websocket_mount_path

def websocket_mount_path
  "#{mounted_path}#{config.lookbook.cable_mount_path}" if websocket
end