Sha256: 4f73f137a1b0a429cd33acb0bde8b92a9d6dc2e90dc20b5caee47b08ddee0cfe

Contents?: true

Size: 1.38 KB

Versions: 2

Compression:

Stored size: 1.38 KB

Contents

module Atomic
  module Extensions
    module Cirrus
      class Announcement < Atomic::Extensions::Cirrus::Base

        class << self
          def mapping
            [namespace, 'announcement']
          end
        end

        def handle_open_element(node, reader)
          progressed = false
          case [node.depth, node.uri, node.name]
          when [0, Announcement.namespace, 'announcement']
          when [1, Announcement.namespace, 'message']
          when [1, Announcement.namespace, 'starts-at']
          when [1, Announcement.namespace, 'ends-at']
          else
            puts "Announcement ==>> Unexpected OPEN #{node.depth} #{node.uri} #{node.name} #{node.attributes.inspect}"
          end
          return progressed
        end

        def handle_close_element(node)
          case [node.depth, node.uri, node.name]
          when [0, Announcement.namespace, 'announcement']
          when [1, Announcement.namespace, 'message']
            @parent.content[:message] = node.text
          when [1, Announcement.namespace, 'starts-at']
            @parent.content[:starts_at] = node.text
          when [1, Announcement.namespace, 'ends-at']
            @parent.content[:ends_at] = node.text
          else
            puts "Announcement ==>> Unexpected CLOSE #{node.depth} #{node.uri} #{node.name} #{node.attributes.inspect}"
          end
        end

      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
exempla-atomic-0.0.11 lib/atomic/extensions/cirrus/announcement.rb
exempla-atomic-0.0.12 lib/atomic/extensions/cirrus/announcement.rb