url = node['repo_url'] + “tsm-client/install/” + version … spojovani retezcu
localfilepath = “#{Chef::Config['file_cache_path']}/#{filename}” … tvoreni retezcu
PROMENNA.to_s … prevedeni promenne do retezce
promenna.inspet … vytvori dump promenne - prevede promennou vcetne cele struktury na text
promenna.nil? … true pokud promenna neni definovana nebo je nil
and, or … operatory na logicky beh programu
promenna.empty? … pravda pokud se jedna o prazdny retezec ''
promenna.strip … orizne bile znaky na zacatku retezce
promenna.empty? … pravda pokud je to prazdne pole []
promenna.keys … prevede hash na array klicu
promenna.values … prevede hash na array hodnot
promenna.traverse{ |k, v| [k.downcase, v]} … prevede hash na hash, kde ztransformuje klic na male pismena
promenna.key({“klient” ⇒ “280”}) … vrati klic kde hash ma hodnotu klient rovnu 280
promenna.key?(“klic”) … true, pokud klic “klic” existuje
prikaz if node['platform_family'] == 'rhel' … podminka
if node.attribute?('override_domain_name')\\else\\end
… if-else podminka
unless () {} … misto if not
case promenna
when 'hodnota'\\else\\end
… case podminka
node['dhs_ucdagent'].each do |key, value|
send(key, value)
end
…. for each
puts “OK: #{checkOriginalInstallationDate}” … vystup na standartni vystup
file = File.open(“/tmp/some_file”, “w”) { |file| file.write(“your text”) }… zapis do souboru i se zavrenim souboru.
file.close … zavreni souvoru
begin
prikazy\\ raise 'chyba' ... vyvola vyjimku\\
rescue Exception ⇒ e
puts e.message ... zobrazi text vyjimky - chyba\\ puts e.backtrace.join("\n") ... vypise podrobnosti o chybe vcetne radku\\ prikazy\\ retry ... zkusi jeste jednou blok, ktery selhal\\
end
require 'chef/win32/version' … nacteni externiho modulu
Time.now.strftime('%Y%m%d%H%M%S%L') … cas v presnem formatu