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