ActiveResourceで特殊なフォーマットのXMLを処理する

試しに全体がくくられていないSJISXMLを処理してみた。

module ActiveResource::Formats::SampleXmlFormat
  include ActiveResource::Formats::XmlFormat
  def decode(xml)
    super("<content>#{xml}</content>".toutf8)
  end
  extend self
end

class Sample < ActiveResource::Base
  self.format = :sample_xml
end

「SampleXmlFormat」が「:sample_xml」になるのがわかりずらいとおもいました。