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.
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:
Command Mark Directory As on the context menu of the Project Tool Window:
The Project Structure page of the Settings/Preferences dialog:
You can always cancel marking, using the command Unmark directory ....
It is possible to invoke code completion for any Chef resource:
RubyMine enables navigation to a resource declaration in the Chef library:
Own attributes of a resource, and the inherited ones are also available inside the resource code block:
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.