From 686fee43bfc1fe95e4e85e1d94fba0fe325a4ca6 Mon Sep 17 00:00:00 2001 From: Andy Allan Date: Wed, 9 Jan 2019 14:15:39 +0100 Subject: [PATCH] Use full list of osm xml root attributes in builder templates --- app/views/api/permissions.builder | 2 +- app/views/notes/index.xml.builder | 2 +- app/views/notes/show.xml.builder | 2 +- app/views/users/api_read.builder | 2 +- app/views/users/api_users.builder | 2 +- lib/osm.rb | 16 +++++++++++----- 6 files changed, 16 insertions(+), 10 deletions(-) diff --git a/app/views/api/permissions.builder b/app/views/api/permissions.builder index 6d26a9e53..f97dd55f8 100644 --- a/app/views/api/permissions.builder +++ b/app/views/api/permissions.builder @@ -1,6 +1,6 @@ # create list of permissions xml.instruct! :xml, :version => "1.0" -xml.osm("version" => API_VERSION.to_s, "generator" => "OpenStreetMap Server") do +xml.osm(OSM::API.new.xml_root_attributes) do xml.permissions do @permissions.each do |permission| xml.permission :name => permission diff --git a/app/views/notes/index.xml.builder b/app/views/notes/index.xml.builder index c1c2be7e4..286b1e1cc 100644 --- a/app/views/notes/index.xml.builder +++ b/app/views/notes/index.xml.builder @@ -1,5 +1,5 @@ xml.instruct! -xml.osm(:version => API_VERSION, :generator => GENERATOR) do |osm| +xml.osm(OSM::API.new.xml_root_attributes) do |osm| osm << (render(:partial => "note", :collection => @notes) || "") end diff --git a/app/views/notes/show.xml.builder b/app/views/notes/show.xml.builder index f16cda3a6..51b3daebd 100644 --- a/app/views/notes/show.xml.builder +++ b/app/views/notes/show.xml.builder @@ -1,5 +1,5 @@ xml.instruct! -xml.osm(:version => API_VERSION, :generator => GENERATOR) do |osm| +xml.osm(OSM::API.new.xml_root_attributes) do |osm| osm << render(:partial => "note", :object => @note) end diff --git a/app/views/users/api_read.builder b/app/views/users/api_read.builder index 1598f3c53..78533279c 100644 --- a/app/views/users/api_read.builder +++ b/app/views/users/api_read.builder @@ -1,4 +1,4 @@ xml.instruct! :xml, :version => "1.0" -xml.osm("version" => API_VERSION, "generator" => GENERATOR) do |osm| +xml.osm(OSM::API.new.xml_root_attributes) do |osm| osm << render(:partial => "api_user", :object => @user) end diff --git a/app/views/users/api_users.builder b/app/views/users/api_users.builder index 1d2475743..a3c0f4d9a 100644 --- a/app/views/users/api_users.builder +++ b/app/views/users/api_users.builder @@ -1,4 +1,4 @@ xml.instruct! :xml, :version => "1.0" -xml.osm("version" => API_VERSION, "generator" => GENERATOR) do |osm| +xml.osm(OSM::API.new.xml_root_attributes) do |osm| osm << render(:partial => "api_user", :collection => @users) end diff --git a/lib/osm.rb b/lib/osm.rb index 841cce17b..1951e3c31 100644 --- a/lib/osm.rb +++ b/lib/osm.rb @@ -494,14 +494,20 @@ module OSM doc = XML::Document.new doc.encoding = XML::Encoding::UTF_8 root = XML::Node.new "osm" - root["version"] = API_VERSION.to_s - root["generator"] = GENERATOR - root["copyright"] = COPYRIGHT_OWNER - root["attribution"] = ATTRIBUTION_URL - root["license"] = LICENSE_URL + xml_root_attributes.each do |k, v| + root[k] = v + end doc.root = root doc end + + def xml_root_attributes + { "version" => API_VERSION.to_s, + "generator" => GENERATOR, + "copyright" => COPYRIGHT_OWNER, + "attribution" => ATTRIBUTION_URL, + "license" => LICENSE_URL } + end end def self.ip_to_country(ip_address) -- 2.39.5