X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/6142980d07db9fb6c96c91adb143d04bb26911b2..0b421c9314baf227a0b3a27207b2645afa19cba7:/lib/diff_reader.rb diff --git a/lib/diff_reader.rb b/lib/diff_reader.rb index e3c533b7a..5d98ef874 100644 --- a/lib/diff_reader.rb +++ b/lib/diff_reader.rb @@ -33,8 +33,8 @@ class DiffReader # NOTE: XML::Reader#read returns false for EOF and raises an # exception if an error occurs. @reader.read - rescue LibXML::XML::Error => ex - raise OSM::APIBadXMLError.new("changeset", xml, ex.message) + rescue LibXML::XML::Error => e + raise OSM::APIBadXMLError.new("changeset", xml, e.message) end ## @@ -133,7 +133,8 @@ class DiffReader # loop at the top level, within the element with_element do |action_name, action_attributes| - if action_name == "create" + case action_name + when "create" # create a new element. this code is agnostic of the element type # because all the elements support the methods that we're using. with_model do |model, xml| @@ -168,7 +169,7 @@ class DiffReader result.root << xml_result end - elsif action_name == "modify" + when "modify" # modify an existing element. again, this code doesn't directly deal # with types, but uses duck typing to handle them transparently. with_model do |model, xml| @@ -200,7 +201,7 @@ class DiffReader result.root << xml_result end - elsif action_name == "delete" + when "delete" # delete action. this takes a payload in API 0.6, so we need to do # most of the same checks that are done for the modify. with_model do |model, xml|