Full Refactoring Support

Ever since my start in Ruby coding a few years back, I've been really unhappy with the lack of ide's for programming ruby, and specifically, rails.  Textmate is really nice, but for larger projects the lack of refactoring support becomes a glaring weakness.  It's been over a year since I've gotten an update from them, and I gave up hope that it will evolve into a full featured IDE.

I've been hoping IDEA would be doing a ruby IDE and was thrilled to see RubyMine.  After downloading a copy and briefly using it on project I was really disappointed that refactoring support is incomplete, is there any eta on when this feature will be available?

Once it's in I'll be making my switch almost immediately.

0
6 comments

Hello Joe,

"Full refactoring support" is not something which will magically appear in
the product one day out of nothing. There are many different possible refactorings,
and many possible levels of smartness for each individual refactoring.

We definitely plan to include "Extract Method" and Rails-aware move/rename
refactorings in the 1.0 release (Q1'2009). Subsequent releases will include
more refactorings, and our priorities will depend on user feedback.

Which refactorings would you like to see first?

Ever since my start in Ruby coding a few years back, I've been really
unhappy with the lack of ide's for programming ruby, and specifically,
rails. Textmate is really nice, but for larger projects the lack of
refactoring support becomes a glaring weakness. It's been over a year
since I've gotten a

n update from them, and I gave up hope that it will evolve into a full
featured IDE.

I've been hoping IDEA would be doing a ruby IDE and was thrilled to
see RubyMine. After downloading a copy and briefly using it on
project I was really disappointed that refactoring support is
incomplete, is there any eta on when this feature will be available?

Once it's in I'll be making my switch almost immediately.

---
Original message URL:
http://www.jetbrains.net/devnet/message/5230915#5230915

--
Dmitry Jemerov
Development Lead
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"


0
Avatar
Permanently deleted user

Hi, thanks for the quick response!  You're very correct that Refactoring is a very broad subject, sorry for being vague.

Some of the refactoring selections off the menu are active but not yet implemented fully, I was asking about those.

As far as which refactorings I'd like to see first, definitely rename and move support.  Of course even in those refactorings there is a lot of room for what gets done automagically.

Just renaming a model for instance will save so much work since I would potentially need to change:

* File name
* File header
* Code references (models/views/controllers/mixins/helpers)
* ActiveRecord associations
* Unit Tests
* Creation of new migrations (rather than updating old ones)
* Fixtures and rake tasks

I know I'm missing tons, you guys have your work cut out.  Good to know this is coming soon, thanks, and keep up the good work!

0
Avatar
Permanently deleted user

Just renaming a model for instance will save so much work since I would potentially need to change:

* Creation of new migrations (rather than updating old ones)


Unless the migration creating this model has never been deployed in production. In this case it's preferrable to update the migration.

0
Avatar
Permanently deleted user

I was going to ask for that, but I didn't want to be greedy lol

If that's part of your plan, that's really cool!

0
Avatar
Permanently deleted user

Hello Joe,

Extract method refactoring will be available in coming RubyMine EAP build and Ruby plugin for IntelliJ IDEA.

Thanks,
Oleg

0
Avatar
Permanently deleted user

Oleg,

Thanks for implementing Extract Method.

The next obvious step is to implement the reverse - Inline Method. I often use these in tandem until I'm happy that I've extracted the correct section of code and reorganised things appropriately.

Cheers, Paul.

0

Please sign in to leave a comment.