Написание хороших поваренных книг без каких-либо проблем является довольно сложной задачей. Но есть способы, которые могут помочь в выявлении подводных камней. Пометка в поваренной книге шеф-повара возможна. Foodcritic — один из лучших способов его архивирования, который пытается выявить возможные проблемы с логикой и стилем поваренных книг.
Foodcritic Setup
Шаг 1 — Добавьте Foodcritic самоцвет.
vipin@laptop:~/chef-repo $ subl Gemfile source 'https://rubygems.org' gem 'foodcritic', '~>2.2.0'
Шаг 2 — Установите драгоценный камень.
vipin@laptop:~/chef-repo $ bundle install Fetching gem metadata from https://rubygems.org/ ...TRUNCATED OUTPUT... Installing foodcritic (2.2.0)
Foodcritic Gem
Шаг 1 — Запустите Foodcritic в кулинарной книге.
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
Шаг 2 — Генерация подробного отчета.
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|
Метод работы
Foodcritic определяет набор правил и проверяет рецептурные агенты, каждый из них. Он поставляется с несколькими правилами, касающимися различных областей: стилей, связности, атрибутов, строки, вероятности, поиска, служб, файлов, метаданных и так далее.