source: subversion/sites/rails_port/app/models/old_segment.rb @ 4144

Last change on this file since 4144 was 3269, checked in by tomhughes, 13 years ago

Close a number of holes in the API by making it validate changes
more carefully.

File size: 977 bytes
Line 
1class OldSegment < ActiveRecord::Base
2  set_table_name 'segments'
3
4  validates_presence_of :user_id, :timestamp
5  validates_inclusion_of :visible, :in => [ true, false ]
6  validates_numericality_of :node_a, :node_b
7
8  belongs_to :user
9
10  def self.from_segment(segment)
11    old_segment = OldSegment.new
12    old_segment.node_a = segment.node_a
13    old_segment.node_b = segment.node_b
14    old_segment.visible = segment.visible
15    old_segment.tags = segment.tags
16    old_segment.timestamp = segment.timestamp
17    old_segment.user_id = segment.user_id
18    old_segment.id = segment.id
19    return old_segment
20  end
21
22  def to_xml_node
23    el1 = XML::Node.new 'segment'
24    el1['id'] = self.id.to_s
25    el1['from'] = self.node_a.to_s
26    el1['to'] = self.node_b.to_s
27    el1['user'] = self.user.display_name if self.user.data_public?
28    Segment.split_tags(el1, self.tags)
29    el1['visible'] = self.visible.to_s
30    el1['timestamp'] = self.timestamp.xmlschema
31    return el1
32  end
33end
Note: See TracBrowser for help on using the repository browser.