Class: OXMLRPC::Serializer

Inherits:
Object
  • Object
show all
Defined in:
lib/oxmlrpc/serializer.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(data = {}) ⇒ Serializer

Returns a new instance of Serializer.



27
28
29
# File 'lib/oxmlrpc/serializer.rb', line 27

def initialize(data = {})
  @data = data
end

Class Method Details

.fault(code, string) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/oxmlrpc/serializer.rb', line 10

def self.fault(code, string)
  doc = Ox::Document.new(:version => '1.0')
  doc << mr = Ox::Element.new('methodResponse')
  mr << fault = Ox::Element.new('fault')
  fault << value = Ox::Element.new('value')
  value << struct = Ox::Element.new('struct')
  struct << member = Ox::Element.new('member')
  member << (Ox::Element.new('name') << "faultCode")
  member << value = Ox::Element.new('value')
  value << int = (Ox::Element.new('int') << code.to_s)
  struct << member = Ox::Element.new('member')
  member << (Ox::Element.new('name') << "faultString")
  member << value = Ox::Element.new('value')
  value << string = (Ox::Element.new('string') << string.to_s)
  Ox.dump(doc, :indent => -1)
end

.serialize(data) ⇒ Object



6
7
8
# File 'lib/oxmlrpc/serializer.rb', line 6

def self.serialize(data)
  self.new(data).to_rpc
end

Instance Method Details

#to_rpcObject



31
32
33
34
35
36
37
38
# File 'lib/oxmlrpc/serializer.rb', line 31

def to_rpc
  doc = Ox::Document.new(:version => '1.0')
  doc << mr = Ox::Element.new('methodResponse')
  mr << params = Ox::Element.new('params')
  params << param = Ox::Element.new('param')
  param << serialize(@data)
  Ox.dump(doc, :indent => -1)
end