]> git.openstreetmap.org Git - rails.git/blobdiff - app/models/old_segment.rb
Handle errors a bit better.
[rails.git] / app / models / old_segment.rb
index 26e2b6abb7535c86538e7e75d97b7d2541e8b80f..c243c522db628bfd24628feaab9d000b18843ef1 100644 (file)
@@ -1,6 +1,10 @@
 class OldSegment < ActiveRecord::Base
   set_table_name 'segments'
 
+  validates_presence_of :user_id, :timestamp
+  validates_inclusion_of :visible, :in => [ true, false ]
+  validates_numericality_of :node_a, :node_b
+
   belongs_to :user
 
   def self.from_segment(segment)
@@ -15,4 +19,15 @@ class OldSegment < ActiveRecord::Base
     return old_segment
   end
 
+  def to_xml_node
+    el1 = XML::Node.new 'segment'
+    el1['id'] = self.id.to_s
+    el1['from'] = self.node_a.to_s
+    el1['to'] = self.node_b.to_s
+    el1['user'] = self.user.display_name if self.user.data_public?
+    Segment.split_tags(el1, self.tags)
+    el1['visible'] = self.visible.to_s
+    el1['timestamp'] = self.timestamp.xmlschema
+    return el1
+  end
 end