Skip to main content

rubymine

Expert RubyMine assistance covering Ruby on Rails development, gem management via Bundler, RSpec/minitest test runners, and remote container debugging. Use when configuring Ruby SDKs/rbenv/asdf, running Rails migrations, debugging RSpec specs, or profiling Ruby applications.

Informations de source

Dépôt
G1Joshi/Agent-Skills
Dernière activité de la source
1 octobre 2026 à 16:38
Langue détectée de SKILL.md
anglais
Étoiles
14
Forks
2

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
rubymine
description
Expert RubyMine assistance covering Ruby on Rails development, gem management via Bundler, RSpec/minitest test runners, and remote container debugging. Use when configuring Ruby SDKs/rbenv/asdf, running Rails migrations, debugging RSpec specs, or profiling Ruby applications.
# RubyMine RubyMine provides specialized tooling for **Ruby** and **Rails**. It excels at navigating the "Magic" of Rails (views to controllers, routes to actions). ## When to Use - **Full-Stack Ruby on Rails Development**: Navigation between controllers, views, models, routes, and database migrations. - **Interactive Step Debugging with Ruby Debug**: Setting conditional breakpoints, inspecting active threads, and evaluating IRB expressions. - **RuboCop Code Style Enforcement**: Real-time linting, formatting, and auto-correcting Ruby style guide violations. - **RSpec & Minitest Test Running**: Running individual test cases with visual pass/fail graphs and test coverage metrics. ## Quick Start ### 1. Launch via Terminal ```bash # Open Rails project in RubyMine rubymine . ``` ### 2. Configure Bundler & Run Tests ```bash # Install bundle dependencies and verify SDK bundle install bundle exec rspec spec/models/user_spec.rb ``` ## Core Concepts ### Remote Docker Compose Interpreter Configuration Configuring RubyMine to run Rails 7/8 inside Docker with fast code synchronization: ```yaml # docker-compose.yml services: web: build: . command: bundle exec rails s -p 3000 -b '0.0.0.0' volumes: - .:/app:cached - bundle_cache:/usr/local/bundle ports: - "3000:3000" - "1234:1234" # Remote debug port environment: RAILS_ENV: development RUBY_DEBUG_PORT: 1234 volumes: bundle_cache: ``` ### RuboCop Integration & Custom Config (`.rubocop.yml`) Configuring automated real-time linting in RubyMine: ```yaml # .rubocop.yml require: - rubocop-rails - rubocop-rspec - rubocop-performance AllCops: NewCops: enable TargetRubyVersion: 3.3 Exclude: - "bin/**/*" - "db/schema.rb" - "node_modules/**/*" - "vendor/**/*" Style/Documentation: Enabled: false Layout/LineLength: Max: 120 ``` ### RSpec Visual Test Execution Running fast RSpec tests with visual assertions: ```ruby # spec/models/user_spec.rb require 'rails_helper' RSpec.describe User, type: :model do describe 'validations' do subject(:user) { build(:user) } it { is_expected.to validate_presence_of(:email) } it { is_expected.to validate_uniqueness_of(:email).case_insensitive } end describe '#generate_auth_token' do let(:user) { create(:user) } it 'generates a signed 64-character token' do token = user.generate_auth_token expect(token).to be_a(String) expect(token.length).to eq(64) end end end ``` ## Common Patterns ### Docker Compose Remote Debugging **Problem**: Run Rails server inside Docker Compose while hitting breakpoints in RubyMine. **Solution**: Configure remote Ruby SDK via Docker Compose. ```yaml # docker-compose.yml services: web: build: . command: bundle exec rails s -b '0.0.0.0' -p 3000 volumes: - .:/rails ports: - "3000:3000" environment: - RUBY_DEBUG_PORT=1234 ``` ### Database Console Active Record Integration **Problem**: Inspect database records and verify schema migrations directly. **Solution**: Execute SQL scratchpad queries against development database. ```sql -- Scratchpad query in RubyMine Database window SELECT id, email, created_at FROM users WHERE active = true ORDER BY created_at DESC LIMIT 10; ``` ## Best Practices **Do**: - Configure **RuboCop** under **Settings -> Tools -> RuboCop** with "Run on the fly" for instant linting feedback. - Use **Go to Model/Controller/View** (`Ctrl+Alt+Home` or `Cmd+Option+Up`) to jump across Rails MVC boundaries. - Leverage **Database View** to run interactive SQL migrations and inspect schema indices. - Use `debug` gem with Visual Debugger for seamless step debugging in modern Ruby 3.x. **Don't**: - Commit `.idea/` workspace files or personal deployment settings to git. - Leave Spring application preloader running when gems or C-extensions are updated; run `bin/spring stop`. - Run test suites without Spring or parallel test execution configured on large repositories. ## Troubleshooting | Error | Cause | Solution | | ------------------------------------------------------------------------- | ---------------------------------------------------------------------- | -------------------------------------------------------------------------------- | | `Gem not found` in RubyMine despite bundle install succeeding in terminal | RubyMine pointing to different Ruby version than shell `.ruby-version` | Check SDK setting in RubyMine matches `ruby -v` in project root directory. | | Slow indexing or freeze during Rails load | Indexing `log/`, `tmp/`, or asset compilation directories | Right-click `log/` and `tmp/` folders > **Mark Directory as > Excluded**. | | Breakpoints not triggering in Puma multi-worker mode | Puma running in cluster mode forks workers away from debug listener | Run server with single worker in dev: `bundle exec puma -w 0` or `rails s -w 0`. | ## References - [RubyMine Documentation](https://www.jetbrains.com/ruby/documentation/)
Voir sur GitHub