私はRubyを初めて使っていますが、私は過去2週間シェフテストに関する多くの研究を行っています。このテストではChefSpec & Fauxhaiを使用していますが、 "ruby-ish"のようには見えず、コミュニティがコーディングスタイルについていくつか指摘してくれることを期待していました。このようなネストされたループを書く良い方法はありますか?Ruby/ChefSpecコーディングスタイルへのフィードバック
料理/ fooの/レシピ/ default.rb
package "foo" do
action :install
end
料理/ fooの/スペック/ default_spec.rb
require 'chefspec'
describe 'foo::default' do
platforms = {
"debian" => ['6.0.5'],
"ubuntu" => ['12.04', '10.04'],
"centos" => ['5.8', '6.0', '6.3'],
"redhat" => ['5.8', '6.3'],
"mac_os_x" => ['10.6.8', '10.7.4', '10.8.2'],
"windows" => ['2008R2']
}
platforms.each do |platform,versions|
versions.each do |version|
context "on #{platform} #{version}" do
before do
Fauxhai.mock(platform: platform, version: version)
end
it 'should install foo' do
@runner = ChefSpec::ChefRunner.new.converge('foo::default')
@runner.should install_package 'foo'
end
end
end
end
end
任意およびすべてのフィードバックは大歓迎です。ありがとうございました!
https://github.com/bbatsov/ruby-style-guideはRubyコーディングの推奨ガイドラインの一般的な参考資料です。私は可読性を維持しながら、それらの入れ子にされたループをきれいにするためにできることはたくさんあるとは思わない。 –
私はガイドを読んだことがありますが、改善することはできません。フィードバックをお寄せいただきありがとうございます! – Rapsey