# shouldn't be possible to get race conditions.
Node.transaction do
lock!
- check_consistency(self, new_node, user)
+ check_update_element_consistency(self, new_node, user)
ways = Way.joins(:way_nodes).where(:visible => true, :current_way_nodes => { :node_id => id }).order(:id)
raise OSM::APIPreconditionFailedError, "Node #{id} is still used by ways #{ways.collect(&:id).join(',')}." unless ways.empty?
def update_from(new_node, user)
Node.transaction do
lock!
- check_consistency(self, new_node, user)
+ check_update_element_consistency(self, new_node, user)
# update changeset first
self.changeset_id = new_node.changeset_id
save_with_history!
end
- def tags_as_hash
- tags
- end
-
def tags
@tags ||= node_tags.to_h { |t| [t.k, t.v] }
end