Early Access Program Features

What’s mining: Extract Method Refactoring

We thought of making it “What’s cooking:…” but then realized we are not about food, we are about RubyMine, so – meet the new “What’s mining” blogpost series!

One of the things that’s in the works right now is the extract method refactoring. This feature is likely to appear in one of the next EAP releases.

On our developers’ machines, RubyMine can already do a simple, yet probably the most often used, kind of method extraction. Here is an example.

We have these three lines of code:

If we select the code to extract and choose Refactor|Extract Method… (or press Ctrl+Alt+M / ⌥⌘M), we can set the new method name and define parameter names and order in the following dialog:

After we click OK, the code looks like this:

Pretty simple, huh? Right, but not just simple :)

It is also smart enough to not let you easily break you code. Here is another example where RubyMine warns you about inability to make the refactoring and gives the reason.

Isn’t it cool? It is coming soon.

The following refactorings are already available in RubyMine:

  • Rename
  • Introduce Variable
  • Copy and Move for files

There are some improvements we have in mind (see the Issue Tracker) for the existing refactorings, and we also plan to add Extract Constant before RubyMine 1.0 is released.

Do you have an idea you’d like to share? Please leave a comment or start a discussion on our forum

image description