Sha256: bd7a94cdb2c13186a23d0ebcb7ff904a9f9003ec2e9b719b80cd388d72a5159c

Contents?: true

Size: 1.06 KB

Versions: 2

Compression:

Stored size: 1.06 KB

Contents

module GoogleApps
  module Atom
    class Export
      def initialize
        @document = Atom::XML::Document.new
        set_header
      end

      def to_s
        @document.to_s
      end
      
      def start_date(date)
        add_prop('beginDate', date)
      end

      def end_date(date)
        add_prop('endDate', date)
      end

      def include_deleted
        add_prop('includeDeleted', 'true')
      end

      def query(query_string)
        add_prop('searchQuery', query_string)
      end

      def content(type)
        add_prop('packageContent', type)
      end

      
      private

      def set_header
        @document.root = Atom::XML::Node.new 'atom:entry'

        Atom::XML::Namespace.new(@document.root, 'atom', 'http://www.w3.org/2005/Atom')
        Atom::XML::Namespace.new(@document.root, 'apps', 'http://schemas.google.com/apps/2006')
      end

      def add_prop(name, value)
        prop = Atom::XML::Node.new('apps:property')
        prop['name'] = name
        prop['value'] = value

        @document.root << prop
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
google_apps-0.3.1 lib/google_apps/atom/export.rb
google_apps-0.3.0 lib/google_apps/atom/export.rb