My guess is Ric’s example applied to your situation would be:
OodFilesApp.candidate_favorite_paths.tap do |paths|
paths << Pathname.new("/scratch/serial/kingspeak/#{User.new.name}")
paths << Pathname.new("/uufs/chpc.utah.edu/common/home")
end
And then you navigate to the group directory you want.
Otherwise you could try this:
OodFilesApp.candidate_favorite_paths.tap do |paths|
# add scratch
paths << Pathname.new("/scratch/serial/kingspeak/#{User.new.name}")
# add project directories
project = camp
paths.concat Pathname.glob("/uufs/chpc.utah.edu/common/home/#{project}-group*")
end
of course you would replace project = camp with something like project = OodSupport::User.new.group.name or if you had multiple groups you would do
User.new.groups.each do |group|
paths.concat Pathname.glob("/uufs/chpc.utah.edu/common/home/#{group.name}-group*")
end
Note both of those rely on the getgrgid to turn a group id into a name String, so whatever provides the group database on the web node would need to be up to date: (/etc/group) - at least converting the id to the name, not necessarily the membership list of a group though.
Also, this approach means that if the project directory does not exist at application start up, the link will not appear in the user’s dashboard once the directory is created unless their per user web server is restarted.