RubyMine 2018.1 Help

Pull Members Up, Push Members Down

Basics

The Pull Members Up refactoring allows you to move class members to a superclass.

The Push Members Down refactoring helps clean up the class hierarchy by moving class members to a subclass. The members are then relocated into the direct subclasses only.

Pulling members up

  1. Select the class to be moved to a superclass.
  2. On the main menu or on the context menu, choose Refactor | Pull Members Up. The Pull Members Up dialog box appears.
  3. Select the destination object (superclass).
  4. In the Members section, select the members you want to move.
  5. To move a method as abstract, select the checkbox in the column Make abstract next to the method in question.
  6. Click Refactor to pull the selected members to their destination.

Example

BeforeAfter
ruby_pullUpBefore.png
ruby_pullUpAfter.png

Pushing members down

  1. In the editor, open the class whose members you need to push down.
  2. On the main menu or on the context menu, choose Refactor | Push Members Down. Push Members Down dialog box displays the list of members to be pushed down.
  3. In the Members to be pushed down area, select the members you want to move. Note that the member at caret is already selected.

    If pushing a member might cause problems, you will be notified with red highlighting. It means that, if the situation is unattended, an error will emerge after refactoring. RubyMine prompts you with a Problems Detected dialog, where you can opt to ignore or fix the problem.

  4. Preview and apply changes.

Example

BeforeAfter
ruby_pushDownBefore.png
ruby_pushDownAfter.png
Last modified: 1 August 2018

See Also