RubyMine 2017.3 Help

Chef Support



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: 4 April 2018

See Also