if node_ids.length > 0
node_ids_sql = "(#{node_ids.join(',')})"
# get the referenced segments
- segments = Segment.find_by_sql "select * from segments where node_a in #{node_ids_sql} or node_b in #{node_ids_sql}"
+ segments = Segment.find_by_sql "select * from current_segments where node_a in #{node_ids_sql} or node_b in #{node_ids_sql}"
end
# see if we have nay missing nodes
segments_nodes = segments.collect {|segment| segment.node_a }
segment_ids = segments.collect {|segment| segment.id }
ways = Array.new
if segment_ids.length > 0
- way_segments = WaySegment.find_by_segment_id(segment_ids)
+ way_segments = WaySegment.find_all_by_segment_id(segment_ids)
way_ids = way_segments.collect {|way_segment| way_segment.id }
- ways = Way.find(segment_ids)
+ ways = Way.find(way_ids)
end
nodes.each do |node|
key = parts[0].strip unless parts[0].nil?
val = parts[1].strip unless parts[1].nil?
if key != '' && val != ''
- el2 = Node.new('tag')
+ el2 = XML::Node.new('tag')
el2['k'] = key.to_s
el2['v'] = val.to_s
el << el2
has_many :old_segments, :foreign_key => :id
belongs_to :user
- has_one :from_node, :class => 'Node', :foreign_key => 'node_a'
- has_one :to_node, :class => 'Node', :foreign_key => 'node_b'
+ has_one :from_node, :class_name => 'Node', :foreign_key => 'node_a'
+ has_one :to_node, :class_name => 'Node', :foreign_key => 'node_b'
def self.from_xml(xml, create=false)
p = XML::Parser.new
end
def precondtions_ok?
- return from_node and from_node.visible and to_node and to_node.visible
+ from_node and from_node.visible and to_node and to_node.visible
end
end