%W{ openssl openssl-devel }.each do |pkg| package "#{pkg}" do action [ :install, :upgrade ] end end rubyのeachメソッドの説明をすると、 %W{}の中にスペース区切りで対象パッケージを入れます。 .eachの手前に配列変数をおいて食わせるかんじ。 だからまあ、.eachの手前にnode['base_setting']['ssl_packages']とかのアトリビュートそのまま書いて呼び出しても動きます。 で、doとendの中身が一つのブロックで、 |pkg|に配列が入れられて、#{pkg}で変数を呼びだしてつかってるかんじです。 上記の例ではアクションを配列で複数指定しているので、入ってなければinstallされ古ければupgradeされます。 rubyのメソッドを簡単に解説してる以下