File: event.rb

package info (click to toggle)
ruby-xmpp4r 0.5.6-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, forky, sid, trixie
  • size: 1,384 kB
  • sloc: ruby: 17,382; xml: 74; sh: 12; makefile: 4
file content (49 lines) | stat: -rw-r--r-- 1,165 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# =XMPP4R - XMPP Library for Ruby
# License:: Ruby's license (see the LICENSE file) or GNU GPL, at your option.
# Website::http://xmpp4r.github.io

require 'xmpp4r/iq'

module Jabber
  module PubSub

    ##
    # Event
    # a publishing event
    class Event < XMPPElement
      name_xmlns 'event', NS_PUBSUB + '#event'
      force_xmlns true

      ##
      # return payload
      def payload
        elements
      end

      ##
      # add payload
      # payload:: [REXML::Element]
      def payload=(pl)
        add_element = pl
      end

      ##
      # return the payload type
      def event_type?
        # each child of event
        # this should iterate only one time
        each_element('./event/*') { |plelement|
          case plelement.name
            when 'collection' 	   then return :collection
            when 'configuration'   then	return :configuration
            when 'delete'	   then return :delete
            when 'items'	   then return :items
            when 'purge'	   then return :purge
            when 'subscription'	   then return :subscription
            else return nil
          end
        }
      end
    end
  end
end