Installation
Lesli is a Ruby on Rails gem designed to integrate seamlessly into your application. It keeps its code, database, and assets fully isolated, ensuring it won’t interfere with your main app. This isolation allows you to extend functionality without adding complexity or risking conflicts within your core codebase.
Install Lesli
Create a New Rails Application
rails new LesliApp
Navigate to the app directory:
cd LesliApp
Add Lesli to Your Gemfile
bundle add lesli
Set Up Lesli
After installing the gem, run the installation generator to configure the necessary files and routes:
rails generate lesli:install
This command will:
- Create the initializer file for Lesli.
- Add the required route to your routes.rb.
Database Setup
Lesli includes a Rake task to prepare the database for demo and development purposes. This task will:
- Run migrations.
- Set up privileges (if LesliShield is installed).
- Load translations (if LesliBabel is installed).
- Seed the database with demo users and demo data for each installed engine.
- Display a summary message with the application status.
rake lesli:db:dev
Running Lesli
Start the Rails server:
rails server
Using your favorite web browser navigate to http://127.0.0.1:3000/login
You must be able to see the Lesli welcome page
Adding More Engines to Lesli
Lesli is designed to be extended through additional engines. These engines work as modular components to add features without affecting your core application.
Below is an example of how to install some of the official Lesli engines.
Install the Engines
Add the desired engines to your Gemfile:
gem 'lesli_shield'
gem 'lesli_dashboard'
Then run:
bundle install
Update the Database
Lesli includes a Rake task to load new engines:
rake lesli:db:setup
This will:
- Apply migrations for each installed engine.
- Seed demo data, including privileges (for LesliShield) and dashboard components (for LesliDashboard).
You can easily add development users, roles, privileges, and more. We'll cover these options later in the documentation.
Accessing the Engines
LesliShield
LesliShield provides user roles, privileges, and authentication tools. After installation, it integrates into your app’s authentication and permission layers automatically. LesliDashboard
LesliDashboard
LesliDashboard provides a customizable dashboard for users to visualize key data, metrics, or tools from other engines.
Lesli mounts Devise at the root level, so you’ll have an authentication system working out of the box.
Last Update: 2025/07/15