Added helper functions, added test data files
[photo-filing.git] / helpers.rb
index a0de50de0a95e8f787a1212db9e63e40699f153d..66ca90e0015b49105fa18ac3459d0a2dd2c13ffa 100644 (file)
@@ -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