Make setting of a default status for new notes work
authorTom Hughes <tom@compton.nu>
Fri, 9 Mar 2012 00:31:53 +0000 (00:31 +0000)
committerTom Hughes <tom@compton.nu>
Fri, 9 Mar 2012 00:31:53 +0000 (00:31 +0000)
app/models/note.rb

index a2937074c4053d8b4eaaca9a051fb4b67508d0e4..76c5e53081158809f55f381e3457719f2cf9e38a 100644 (file)
@@ -14,16 +14,13 @@ class Note < ActiveRecord::Base
   validates_inclusion_of :status, :in => ["open", "closed", "hidden"]
   validate :validate_position
 
+  after_initialize :set_defaults
+
   # Sanity check the latitude and longitude and add an error if it's broken
   def validate_position
     errors.add_to_base("Note is not in the world") unless in_world?
   end
 
-  # Fill in default values for new notes
-  def after_initialize
-    self.status = "open" unless self.attribute_present?(:status)
-  end
-
   # Close a note
   def close
     self.status = "closed"
@@ -72,4 +69,11 @@ class Note < ActiveRecord::Base
   def author_name
     self.comments.first.author_name
   end
+
+private
+
+  # Fill in default values for new notes
+  def set_defaults
+    self.status = "open" unless self.attribute_present?(:status)
+  end
 end