Module: Lesli::Router
- Defined in:
- lib/lesli/router.rb
Class Method Summary collapse
- .login(router, path = "") ⇒ Object
- .mount(router, path = "") ⇒ Object
-
.mount_lesli_engine_routes(router) ⇒ Object
Shared default routes for any Lesli engine.
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.login(router, path = "") # Prefer LesliShield’s dedicated routes if installed if defined?(LesliShield) # Make LesliShield::Router accept router too (recommended) LesliShield::Router.mount_login_at(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 = "") login(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 |