module ProjectLayout
  extend ActiveSupport::Concern

  included do
    layout "project"

    breadcrumb -> { t("shared.files") }, -> { project_for_layout }, match: :exact
    breadcrumb -> { controller_name.titleize }, -> { [project_for_layout, controller_name] }, match: :exact
    breadcrumb -> { action_name.titleize }, :url_for, only: [:new, :edit]

    def project_for_layout
      @project || instance_variable_get("@#{controller_name.singularize}").project
    end
  end
end
