Module: Lesli::Router

Defined in:
lib/lesli/router.rb

Class Method Summary collapse

Class Method Details

.login(router, path = "") ⇒ Object



36
37
38
39
40
41
42
43
44
# File 'lib/lesli/router.rb', line 36

def self.(router, path = "")
    # Prefer LesliShield’s dedicated routes if installed
    if defined?(LesliShield)
        # Make LesliShield::Router accept router too (recommended)
        LesliShield::Router.(router, path)
    elsif defined?(Devise)
        router.devise_for :users, class_name: "Lesli::User", module: :devise
    end
end

.mount(router, path = "") ⇒ Object



46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# File 'lib/lesli/router.rb', line 46

def self.mount(router, path = "")
    (router, path)

    router.root to: "lesli/abouts#welcome", as: :welcome

    router.mount Lesli::Engine => "/lesli" if defined?(Lesli)
    router.mount LesliBell::Engine => "/bell" if defined?(LesliBell)
    router.mount LesliAdmin::Engine => "/admin" if defined?(LesliAdmin)
    router.mount LesliAudit::Engine => "/audit" if defined?(LesliAudit)
    router.mount LesliBabel::Engine => "/babel" if defined?(LesliBabel)
    router.mount LesliMailer::Engine => "/mailer" if defined?(LesliMailer)
    router.mount LesliShield::Engine => "/shield" if defined?(LesliShield)
    router.mount LesliPapers::Engine => "/papers" if defined?(LesliPapers)
    router.mount LesliSupport::Engine => "/support" if defined?(LesliSupport)
    router.mount LesliSecurity::Engine => "/security" if defined?(LesliSecurity)
    router.mount LesliCalendar::Engine => "/calendar" if defined?(LesliCalendar)
    router.mount LesliContacts::Engine => "/contacts" if defined?(LesliContacts)
    router.mount LesliDashboard::Engine => "/dashboard" if defined?(LesliDashboard)
end

.mount_lesli_engine_routes(router) ⇒ Object

Shared default routes for any Lesli engine



67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# File 'lib/lesli/router.rb', line 67

def self.mount_lesli_engine_routes(router)
    router.root to: "dashboards#show"

    # Load dashboard resources
    router.resource :dashboard, only: %i[show edit]

    # Load Lesli items
    router.namespace :items do

        # Load item tasks
        router.resources :tasks, only: %i[index update create]

        # Load item discussions
        router.resources :discussions, only: %i[index update create]
    end

    # Optional: health check inside engine scope (pick a consistent path)
    router.get "up", to: "/rails/health#show"
end