Move user preference XML generation to a view

This commit is contained in:
Andy Allan 2019-11-20 16:31:46 +01:00
parent 25ebf87e5a
commit 8ad88b9ddc
4 changed files with 15 additions and 20 deletions

View file

@ -10,18 +10,9 @@ module Api
##
# return all the preferences as an XML document
def index
doc = OSM::API.new.get_xml_doc
@user_preferences = current_user.preferences
prefs = current_user.preferences
el1 = XML::Node.new "preferences"
prefs.each do |pref|
el1 << pref.to_xml_node
end
doc.root << el1
render :xml => doc.to_s
render :formats => [:xml]
end
##

View file

@ -18,13 +18,4 @@ class UserPreference < ActiveRecord::Base
validates :user, :presence => true, :associated => true
validates :k, :v, :length => 1..255, :characters => true
# Turn this Node in to an XML Node without the <osm> wrapper.
def to_xml_node
el1 = XML::Node.new "preference"
el1["k"] = k
el1["v"] = v
el1
end
end

View file

@ -0,0 +1,6 @@
attrs = {
"k" => user_preference.k,
"v" => user_preference.v
}
xml.preference(attrs)

View file

@ -0,0 +1,7 @@
xml.instruct!
xml.osm(OSM::API.new.xml_root_attributes) do |osm|
osm.preferences do |preferences|
preferences << (render(@user_preferences) || "")
end
end