lib/slack/smart-bot/utils/get_vacations.rb in slack-smart-bot-1.14.2 vs lib/slack/smart-bot/utils/get_vacations.rb in slack-smart-bot-1.15.0

- old
+ new

@@ -12,16 +12,24 @@ File.write(File.join(config.path, "vacations", "v_#{key}.yaml"), Utils::Encryption.encrypt(value.to_yaml, config)) end @logger.info "Deleting old_vacations_file: #{old_vacations_file}" File.delete(old_vacations_file) end - files = Dir.glob(File.join(config.path, "vacations", "v_*.yaml")) - @datetime_vacations_file ||= {} - files.each do |file| - if !defined?(@datetime_vacations_file) or !@datetime_vacations_file.key?(file) or @datetime_vacations_file[file] != File.mtime(file) - vacations_user = YAML.load(Utils::Encryption.decrypt(File.read(file), config)) - @vacations[File.basename(file).gsub("v_","").gsub(".yaml","")] = vacations_user - @datetime_vacations_file[file] = File.mtime(file) + # get the yaml files. They will be on /vacations then in there a folder for each team and inside the yaml files for each user + folders = Dir.glob(File.join(config.path, "vacations", "*")) + folders.each do |folder| + if File.directory?(folder) + files = Dir.glob(File.join(folder, "*.yaml")) + @datetime_vacations_file ||= {} + files.each do |file| + if !defined?(@datetime_vacations_file) or !@datetime_vacations_file.key?(file) or @datetime_vacations_file[file] != File.mtime(file) + vacations_user = YAML.load(Utils::Encryption.decrypt(File.read(file), config)) + #the key of @vacations will be the team_id_user_name + team_id = File.basename(folder) + @vacations["#{team_id}_#{File.basename(file).gsub("v_","").gsub(".yaml","")}"] = vacations_user + @datetime_vacations_file[file] = File.mtime(file) + end + end end end end end