Chef - Foodcritic
Gute Kochbücher ohne Probleme zu schreiben ist eine ziemlich schwierige Aufgabe. Es gibt jedoch Möglichkeiten, wie Sie die Fallstricke identifizieren können. Das Markieren im Kochbuch ist möglich. Foodcritic ist eine der besten Methoden zur Archivierung, mit der versucht wird, mögliche Probleme mit der Logik und dem Stil von Kochbüchern zu identifizieren.
Foodcritic Setup
Step 1 - Foodcritic Edelstein hinzufügen.
vipin@laptop:~/chef-repo $ subl Gemfile
source 'https://rubygems.org'
gem 'foodcritic', '~>2.2.0'
Step 2 - Installieren Sie den Edelstein.
vipin@laptop:~/chef-repo $ bundle install
Fetching gem metadata from https://rubygems.org/
...TRUNCATED OUTPUT...
Installing foodcritic (2.2.0)
Foodcritic Gem
Step 1 - Führen Sie Foodcritic im Kochbuch aus.
vipin@laptop:~/chef-repo $ foodcritic ./cookbooks/<Cookbook Name>
FC002: Avoid string interpolation where not required: ./cookbooks/
mysql/attributes/server.rb:220
...TRUNCATED OUTPUT...
FC024: Consider adding platform equivalents: ./cookbooks/<Cookbook Name>/
recipes/server.rb:132
Step 2 - Erstellen Sie einen detaillierten Bericht.
vipin@laptop:~/chef-repo $ foodcritic -C ./cookbooks/mysql
cookbooks/<cookbook Name>/attributes/server.rb
FC002: Avoid string interpolation where not required
[...]
85| default['<Cookbook Name>']['conf_dir'] = "#{mysql['basedir']}"
[...]
cookbooks/<Cookbook Name>/recipes/client.rb
FC007: Ensure recipe dependencies are reflected in cookbook
metadata
40| end
41|when "mac_os_x"
42| include_recipe 'homebrew'
43|end
44|
Arbeitsmethode
Foodcritic definiert eine Reihe von Regeln und überprüft jeweils die Rezeptagenten. Es enthält mehrere Regeln für verschiedene Bereiche: Stile, Verbundenheit, Attribute, Zeichenfolge, Wahrscheinlichkeit, Suche, Dienste, Dateien, Metadaten usw.