Das Projekt “30 Posts in 30 Tagen” neigt sich dem Ende zu. An den meisten Tagen habe ich es geschafft – leider aufgrund von Weiterbildung und co – meistens nur sehr kurze Artikel zu schreiben.
Vorhin gab es wieder das tolle Problem “entwickle doch mal unter Ruby 2.1 Code der dann später auf 1.8.7 laufen muss”. Meine Reaktion….
Codeauszug:
Prüfe ob ein Verzeichniss existiert:
root@puppet ~ $ irb irb(main):001:0> Dir.exists?("/home") => true irb(main):002:0>
Das war die Entwicklungsumgebung. Live:
root@dns01 ~ $ irb irb(main):001:0> Dir.exists?("/home") NoMethodError: undefined method `exists?' for Dir:Class from (irb):1 from :0 irb(main):002:0> Dir.exist?("/home") NoMethodError: undefined method `exist?' for Dir:Class from (irb):2 from :0 irb(main):003:0> File.exist?("/home") => true irb(main):004:0> File.exists?("/home") => true irb(main):005:0> File.exists?("/home") && File.dir?("/home") NoMethodError: undefined method `dir?' for File:Class from (irb):5 from :0 irb(main):006:0> File.directory?('/home') => true irb(main):007:0> File.exists?("/home") && File.directory?('/home') => true irb(main):008:0>
Man sieht hier sehr gut die verschiedenen Trial and Error Ansätze. Die passende Idee gab ein Nutzer aus #r10k Inkl. Hinweis auf DevDocs wo wir die passende Doku gefunden haben.