At JetBrains, we sincerely believe that programming is by no means reduced to simple code writing. Programming means constantly developing, increasing your knowledge, improving your skills, using the best tools. If you are familiar with the
parable of the two woodcutters , in which the one who does not forget to sharpen his ax is more skilled, then you will understand our desire to hone the development tools with each subsequent release. The latest release of RubyMine, our development environment for Ruby and Rails, is not an exception, which we want to talk about in more detail in this post. By the way, yesterday the first update became
available for download - RubyMine 7.0.1.

')
Chef integration
Chef's configuration management system is now supported through a separate plug-in compatible with RubyMine 7 and IntelliJ IDEA 14 and allows recognition and creation of
books ,
recipes and
resources in the IDE.
If Chef gem is installed and a project is opened that contains a folder with the
recipes directory with a ruby file inside, then when opening this file, RubyMine automatically recognizes it as a recipe and suggests adding the appropriate directory as a book:

The structure of the project can be changed at any time in the settings (Settings | Project Structure):

After the settings are completed, code completion as a resource becomes available in the recipe files:

so for their attributes:

Puppet language support
Support for the Puppet language in IDE is also provided through a separate plug-in compatible with RubyMine 7 and IntelliJ IDEA 14, which has been significantly improved and tailored to work with
Puppet manifests .
First of all, we improved
the navigation mechanism , since manifests can contain a large number of definitions of resources, classes, nodes, variables, etc., which must be correctly processed:

Navigation is carried out not only among user-created manifests, but also on modules installed from Puppet Forge. However, it should be noted that the modules used must be located in the default directory or in the directory specified in the
puppet.conf configuration file:

The plugin also implements the traditional for our IDE functions, such as
code completion ,
refactoring ,
inspections ,
search usage ,
quick documentation ,
code formatting , etc., taking into account the structure of the project and the installed modules:

New features for customizing code style
EditorConfig format support has been added to RubyMine 7, which allows you to use the same code style settings in different projects and different editors. The formatting rules are described in the
editorconfig configuration file, when added to the project root, the rules are automatically recognized and applied:

Please note that the formatting rules described in
.editorconfig , by default, take precedence over the IDE settings. You can turn off EditorConfig in Editor | Code Style.
In addition, in the formatting settings (Editor | Code Style), the
Detect and use existing file options option appeared, which allows the editor to define and use the current formatting settings in the file:

Thus, even if the code style settings (such as Use Tab Character and Indent Size) in the edited file are different from the IDE settings, they will be saved.
Improved debugger
When you start a project in debug mode,
an interactive console has now become available, which allows you to execute commands directly in the IDE using, among other things, the code auto-completion functions:

When running tests in debug mode, the interactive console is available as a separate tab:

In addition, a new convenient debugger function has been added to RubyMine 7: now the
values of the objects are displayed directly in the editor next to the code:

More intelligent code analysis
Thanks to the ideas and comments of our users, we were able to make code analysis in the new IDE version even smarter. Now,
YARD attributes and RDoc methods are also correctly recognized as method
attributes :

RVM support as remote project SDK
Remote Ruby interpreters running RVM can now be added as a project SDK:

In addition, we have improved support for remote SDKs based on vagrant configuration files.
Scratch files
Using
the Scratch Files function, you can now experiment and prototype code directly in the editor without creating new files in the project. On the shortcut Shift-Cmd-N / Ctrl + Alt + Shift + Insert you can create a temporary file by selecting the desired file type. All features of the editor, such as code completion and inspection, are available in Scratch files:

And much more
RubyMine 7 also inherited from WebStorm 9 a number of improvements for web development, including
a preview for Emmet , support for the latest versions of
CSS3 ,
Stylus and
Sass , code reformatting for
Slim and
HAML , support for
ReactJS and
JSX / ES6 , etc.
We can talk for a long time about many other, small, but not less pleasant and useful innovations of RubyMine 7. But isn’t it better to just try the new version in action? You can learn more about RubyMine 7 and download a free 30-day trial version of IDE
on our website . The update is free for all users who have bought or renewed their licenses on November 13, 2013 or later. We also remind you that all JetBrains IDEs are now
free for students .
We will try to answer your questions in the comments, and we will be glad to any new requests in our
bug tracker .
Program with pleasure!
- JetBrains team