RubyMine 7.0.4 Help

Extract Method


When the Extract Method refactoring is invoked , RubyMine analyses the selected block of code and detects variables that are the input for the selected code fragment and the variables that are output for it.

The detected output variable is used as a return value for the extracted function.


Before After
name = "RubyMine" puts "Hello world from #{name}"
name = "RubyMine" def greet name puts "Hello world from #{name}" end greet(name)
def foo a = 0 b = 1 c = 2 return a * b + c * 123 end
def bar(a, b, c) return a * b + c * 123 end def foo a = 0 b = 1 c = 2 return bar(a, b, c) end
class Bar def foo a = 11 + 2 b = 11 + 2 end end
class Bar def foo a = addition() b = addition() end def addition 11+2 end end

To extract a method

  1. In the editor, select a block of code to be transformed into a method or a function.
  2. On the main menu or on the context menu of the selection, choose Refactor | Extract | Method or press Ctrl+Alt+M.
  3. In the Extract Method dialog box that opens, specify the name of the new method.
  4. In the Parameters area, do the following:
    • Specify the variables to be passed as method parameters by selecting/clearing the corresponding check boxes.
    • Rename the desired parameters, by double-clicking the corresponding parameter lines and entering new names.
  5. Check the result in the Signature Preview pane and click OK to create the method.

    The selected code fragment will be replaced with a method call.

See Also

Last modified: 4 February 2015
comments powered by Disqus