Railways
A plugin for RubyMine and IntelliJ IDEA Ultimate that adds a panel with routes of Ruby on Rails application.
Install / Use
/learn @basgren/RailwaysREADME
Railways
Railways is a plugin for RubyMine that provides a convenient way to navigate between route actions.
Features
- Displays routes of Ruby On Rails application/engine in a separate "Routes" panel
- Adds quick navigation to action implementation from routes panel or "Go to route action" popup available in code editor by pressing Ctrl + Shift + G (or Cmd + Shift + G on Mac)
- Provides quick routes filtering by route path, controller/action or route name
Compatibility
- RubyMine: 2024.1 - 2025.3
- Java: 17+
Installation
From JetBrains Marketplace (Coming Soon)
- Open RubyMine
- Go to Settings → Plugins → Marketplace
- Search for "Railways"
- Click Install
Manual Installation
- Download the latest release from Releases
- Open RubyMine
- Go to Settings → Plugins → ⚙️ → Install Plugin from Disk...
- Select the downloaded
.zipfile - Restart RubyMine
Usage
- Open a Ruby on Rails project in RubyMine
- Open the Routes tool window (usually on the right side panel)
- Click the refresh button to load routes from your application
- Use the search field to filter routes by path, controller/action, or route name
- Double-click a route to navigate to its controller action
- Use Ctrl + Shift + G (or Cmd + Shift + G on Mac) to open the "Go to route action" popup from anywhere
Development
Prerequisites
- JDK 17+
- IntelliJ IDEA (Community or Ultimate)
Setup
-
Clone the repository:
git clone https://github.com/basgren/railways.git cd railways -
Open the project in IntelliJ IDEA
-
The project uses Gradle with the IntelliJ Platform Gradle Plugin 2.x. Dependencies will be downloaded automatically.
Building
./gradlew buildPlugin
The plugin will be built to build/distributions/railways-*.zip
Running/Debugging
./gradlew runIde
This will launch a sandboxed RubyMine instance with the plugin installed.
Testing
./gradlew test
Version History
0.9.0
- Migrate to Gradle build system with IntelliJ Platform Gradle Plugin 2.x
- Add compatibility with RubyMine 2024.1 - 2025.3
- Fix Ruby plugin API changes (RubyProjectAndLibrariesScope, getQualifiedName)
- Replace deprecated ServiceManager API
0.8.17 and earlier
See CHANGES.md for full version history.
Credits
Created by Basil Gren.
0.9.0 modernization by Srdjan Sin Jovanovic.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
