Introduction
LesliSystem provides shared system-level utilities for applications built with the Lesli Framework.
It exposes installed engine and gem metadata and provides helpers for resolving engine-specific models from application objects.
Features
- Installed engine discovery
- Engine metadata and version introspection
- Installed Lesli gem discovery
- Lookup by engine name or code
- Engine-specific model resolution
- Shared system utilities for the Lesli ecosystem
Quick Start
Requirements
LesliSystem is designed for Rails applications with Rails and Active Support loaded. Standard Lesli applications install it through the main lesli gem.
Installation
Add LesliSystem to the application:
bundle add lesli_systemNo initializer, routes, migrations, or database preparation are required.
Usage
Inspect installed engines
LesliSystem.engines
LesliSystem.engine("Lesli")
LesliSystem.engine(:lesli)
LesliSystem.engine("Lesli", "path")Engine metadata includes its code, name, route path, version, build, description, and installation directory when available.
List the installed Lesli gems:
LesliSystem.gemsResolve engine models
LesliSystem::Klass derives the engine namespace from an object or accepts it explicitly:
builder = LesliSystem::Klass.new(self)
builder.engine_name
builder.model.account
builder.model.dashboardMissing conventional model constants resolve to nil.
builder = LesliSystem::Klass.new(engine: "LesliBell")
builder.model.dashboardDevelopment
Clone the repository and install its dependencies:
git clone https://github.com/LesliTech/LesliSystem.git
cd LesliSystem
bundle installTo use local source from a Lesli development workspace, reference it from the host application's Gemfile:
gem "lesli_system", path: "gems/LesliSystem"Tests
Run the default test task from the LesliSystem directory:
bundle exec rakeDocumentation
- Lesli website
- LesliSystem documentation
- Installation
- API overview
- Engine discovery
- Gem discovery
- Model resolution
- Release notes
- Issue tracker
- Source code
Community
License
Copyright (c) 2026, Lesli Technologies, S. A.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.
The complete license text is available in the license file.