модуль ActiveModel::Serializers::Xml
Active Модель сериализатор XML
Публичные методы экземпляра
Устанавливает модель attributes из строки XML. Возвращает self.
class Person
include ActiveModel::Serializers::Xml
attr_accessor :name, :age, :awesome
def attributes=(hash)
hash.each do |key, value|
instance_variable_set("@#{key}", value)
end
end
def attributes
instance_values
end
end
xml = { name: 'bob', age: 22, awesome:true }.to_xml
person = Person.new
person.from_xml(xml) # => #<Person:0x007fec5e3b3c40 @age=22, @awesome=true, @name="bob">
person.name # => "bob"
person.age # => 22
person.awesome # => true
# File activemodel/lib/active_model/serializers/xml.rb, line 232 def from_xml(xml) self.attributes = Hash.from_xml(xml).values.first self end
Возвращает XML, представляющий модель. Настройка может быть передана через options.
Без каких-либо options, возвращаемая строка XML будет включать все атрибуты модели.
user = User.find(1) user.to_xml <?xml version="1.0" encoding="UTF-8"?> <user> <id type="integer">1</id> <name>David</name> <age type="integer">16</age> <created-at type="dateTime">2011-01-30T22:29:23Z</created-at> </user>
Параметры :only и :except могут быть использованы для ограничения включаемых атрибутов и работают аналогично методу attributes.
Для включения результата вызовов некоторых методов модели используйте :methods.
Для включения ассоциаций используйте :include.
Для дополнительной документации см. ActiveRecord::Serialization#to_xml.
# File activemodel/lib/active_model/serializers/xml.rb, line 204
def to_xml(options = {}, &block)
Serializer.new(self, options).serialize(&block)
end
© 2004–2016 David Heinemeier Hansson
Licensed under the MIT License.