X-Git-Url: https://git.njae.me.uk/?a=blobdiff_plain;f=helpers.rb;fp=helpers.rb;h=66ca90e0015b49105fa18ac3459d0a2dd2c13ffa;hb=093b3b444f3248de9a8475c68dfed9cb52ff6143;hp=a0de50de0a95e8f787a1212db9e63e40699f153d;hpb=c40583eccc91c86c78d57a82f681155c73a3f27c;p=photo-filing.git diff --git a/helpers.rb b/helpers.rb index a0de50d..66ca90e 100644 --- a/helpers.rb +++ b/helpers.rb @@ -1,13 +1,36 @@ module Sinatra - module SampleApp + module PhotoFiling module Helpers - def require_logged_in - redirect('/sessions/new') unless is_authenticated? + def files_in_dir + Dir.entries(session[:current_dir]).select {|f| File.file? f}.sort_by {|f| file_sort_key f} end - def is_authenticated? - return !!session[:user_id] + def files_for_today(current_file) + if File.exists?(current_file) + day = File.mtime(current_file).to_date + files_in_dir.select {|f| File.mtime(f).to_date == day} + end + end + + def next_file(file) + fid = files_in_dir + i = fid.find_index(file) + if i && i < fid.length + fid[i + 1] + end + end + + def previous_file(file) + fid = files_in_dir + i = fid.find_index(file) + if i && i > 0 + fid[i - 1] + end + end + + def file_sort_key(file) + File.mtime(file).to_s + file end end