Class: Riddl::Protocols::XMPP::Generator
- Inherits:
-
Object
- Object
- Riddl::Protocols::XMPP::Generator
- Defined in:
- lib/ruby/riddl/protocols/xmpp/generator.rb
Instance Method Summary collapse
- #generate(mode = :output) ⇒ Object
-
#initialize(what, params, headers, ack = false) ⇒ Generator
constructor
A new instance of Generator.
Constructor Details
#initialize(what, params, headers, ack = false) ⇒ Generator
Returns a new instance of Generator.
59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/ruby/riddl/protocols/xmpp/generator.rb', line 59 def initialize(what,params,headers,ack=false) @params = params @stanza = Stanza.new @node = XML::Smart::Dom::Element.new(@stanza) if what.is_a?(Fixnum) @node.add('ok').namespaces.add(nil,XR_NS) else @node.add('operation',what,:ack=>ack).namespaces.add(nil,XR_NS) end headers.each do |k,v| @node.add('header',v,:name => k).namespaces.add(nil,XR_NS) end end |
Instance Method Details
#generate(mode = :output) ⇒ Object
73 74 75 76 77 78 79 80 81 82 83 |
# File 'lib/ruby/riddl/protocols/xmpp/generator.rb', line 73 def generate(mode=:output) if @params.is_a?(Array) && @params.length == 1 body(@params[0],mode) elsif @params.class == Riddl::Parameter::Simple || @params.class == Riddl::Parameter::Complex body(@params,mode) elsif @params.is_a?(Array) && @params.length > 1 multipart(mode) else @stanza end end |