RubyMine 2017.3 Help

Chef Support

The following is only valid when Chef Support Plugin is installed and enabled!



Following the main concepts of Chef, the Chef Integration plugin introduces cookbooks, recipes, resources and attributes. The plugin provides marking and detection for a cookbook and code insight for the resources and their attributes.

If a certain directory contains a sub-directory named recipes, with the Ruby file inside, such directory is recognized as a cookbook. RubyMine suggests to mark such a directory with chef cookbook icon icon.

Since a directory is marked as a cookbook, code insight is available for any Ruby file inside the cookbook folder.

Marking directories as cookbooks

RubyMine provides the following ways of marking a directory as a cookbook:

  • RubyMine recognizes a cookbook and suggests to configure it. To see the suggestion to configure, start typing into a recipie file:
    chef configure cookbooks
  • Command Mark Directory As on the context menu of the Project Tool Window:
    chef mark directory as
  • The Project Structure page of the Settings/Preferences dialog:
    chef mark directory as project structure

You can always cancel marking, using the command Unmark directory ....

Coding assistance

  • It is possible to invoke code completion for any Chef resource:
    chef code completion
  • RubyMine enables navigation to a resource declaration in the Chef library:
    chef resources
  • Own attributes of a resource, and the inherited ones are also available inside the resource code block:
    chef attributes
  • Whenever possible, RubyMine suggests attribute arguments, such as allowed actions for the action attribute; actions for the notifies and subscribes; all boolean arguments, and many more.

Running the Bundler

On the UNIX-like computers, RubyMine suggests to run the Bundler with the sudo privileges, if SDK so requires. For example, Chef DK by default, requires installing gems under sudo:

rm chef sudo
Last modified: 29 November 2017

See Also