MacVimを使用してChefクックブックを編集していますが、gf
(ファイルに移動)コマンドで同じクックブック内の他のChefレシピを開くことができます。
ソリューションが他のChefクックブックでもレシピを開くことができる場合は、超追加ボーナスポイント。
したがって、次のようなディレクトリ構造が与えられます。
1. cookbooks/mycookbook/recipes/default.rb
2. cookbooks/mycookbook/recipes/foo.rb
3. cookbooks/mycookbook/recipes/bar.rb
4. cookbooks/apache2/recipes/default.rb
5. cookbooks/apache2/recipes/mod-ssl.rb
そしてmycookbook/recipes/default.rb
これが含まれています:
include_recipe 'mycookbook::foo'
include_recipe 'mycookbook::bar'
include_recipe 'apache2'
include_recipe 'apache2::mod_ssl'
gf
Vimのコマンドで上記のレシピを開くことができるようにしたいと思います。
アプローチ:
path
基本的に、現在のRubyファイルの親ディレクトリ構造がのような場合は、Rubyファイルにsetlocalを使用して変数を設定することを考えていますがcookbooks/<cookbook name>/recipes/
、その方法がわかりません。
path
簡単な解決策として、現在のファイルの親パスがであった場合は、現在のファイルの親ディレクトリ(レシピ)を追加するだけで済みますcookbooks/<cookbook name>/recipes/
。
cookbooks/<all cookbooks>/recipes/
より包括的なソリューションの場合は、path
変数に追加する必要もあります。