Class: XMLRPC::XMLParser::AbstractStreamParser2

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

Instance Method Summary collapse

Instance Method Details

#parseMethodCall(str) ⇒ Object



135
136
137
138
139
140
141
# File 'lib/stream_parser_mixin.rb', line 135

def parseMethodCall(str)
  parser = @parser_class.new
  parser.user_streams = @use_streams
  parser.parse(str)
  raise "No valid method call - missing method name!" if parser.method_name.nil?
  [parser.method_name, parser.params]
end

#parseMethodResponse(str) ⇒ Object



119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
# File 'lib/stream_parser_mixin.rb', line 119

def parseMethodResponse(str)
  parser = @parser_class.new
  parser.user_streams = @use_streams
  parser.parse(str)
  raise "No valid method response!" if parser.method_name != nil
  if parser.fault != nil
    # is a fault structure
    [false, parser.fault]
  else
    # is a normal return value
    raise "Missing return value!" if parser.params.size == 0
    raise "Too many return values. Only one allowed!" if parser.params.size > 1
    [true, parser.params[0]]
  end
end

#use_streams=(arg) ⇒ Object



116
117
118
# File 'lib/stream_parser_mixin.rb', line 116

def use_streams=(arg)
  @use_streams = arg
end