Ich bin ziemlich neu in Ruby, aber ich habe in den letzten zwei Wochen eine Menge Forschung über Chef-Tests gemacht. Dieser Test verwendet ChefSpec & Fauxhai, aber es sieht nicht sehr "Ruby-ish" aus und ich hatte gehofft, dass die Community mir einige Hinweise zum Coding-Stil geben könnte. Gibt es eine bessere Möglichkeit, eine verschachtelte Schleife so zu schreiben?Feedback zu Ruby/ChefSpec Codierungsstil
Kochbücher/foo/Rezepte/default.rb
package "foo" do
action :install
end
Kochbücher/foo/spec/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
Jedwedes Feedback ist willkommen. Vielen Dank!
https://github.com/bbatsov/ruby-style-guide ist eine gute allgemeine Ressource für vorgeschlagene Ruby Codierungsrichtlinien. Ich glaube nicht, dass Sie viel tun können, um diese verschachtelten Schleifen zu bereinigen, während die Lesbarkeit erhalten bleibt. –
Ich habe den Leitfaden gelesen, aber ich sehe nicht viel, was ich verbessern kann. Danke für die Rückmeldung! – Rapsey