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