Module: GoogleApps::Atom

Includes:
LibXML
Defined in:
lib/google_apps/atom/atom.rb,
lib/google_apps/atom/feed.rb,
lib/google_apps/atom/node.rb,
lib/google_apps/atom/user.rb,
lib/google_apps/atom/group.rb,
lib/google_apps/atom/export.rb,
lib/google_apps/atom/document.rb,
lib/google_apps/atom/nickname.rb,
lib/google_apps/atom/public_key.rb,
lib/google_apps/atom/group_owner.rb,
lib/google_apps/atom/group_member.rb,
lib/google_apps/atom/message_attributes.rb

Defined Under Namespace

Modules: Node Classes: Document, Export, Feed, Group, GroupMember, GroupOwner, MessageAttributes, Nickname, PublicKey, User

Constant Summary collapse

HASH_FUNCTION =
"SHA-1"
NAMESPACES =
{
  atom: 'http://www.w3.org/2005/Atom',
  apps: 'http://schemas.google.com/apps/2006',
  gd: 'http://schemas.google.com/g/2005',
  openSearch: 'http://a9.com/-/spec/opensearchrss/1.0/'
}
CATEGORY =
{
  user: [['scheme', 'http://schemas.google.com/g/2005#kind'], ['term', 'http://schemas.google.com/apps/2006#user']],
  nickname: [['scheme', 'http://schemas.google.com/g/2005#kind'], ['term', 'http://schemas.google.com/apps/2006#nickname']]
  #group: [['scheme', 'http://schemas.google.com/g/2005#kind'], ['term', 'http://schemas.google.com/apps/2006#group']]
}
ENTRY_TAG =
["<atom:entry xmlns:atom=\"#{NAMESPACES[:atom]}\" xmlns:apps=\"#{NAMESPACES[:apps]}\" xmlns:gd=\"#{NAMESPACES[:gd]}\">", '</atom:entry>']

Class Method Summary collapse

Class Method Details

.add_doc_dispatcher(type) ⇒ Object

Adds a Module Function that creates a corresponding document. This allows for a centralized location for document creation.

Parameters:

  • type (String)

    should correspond to the class name

Returns:



39
40
41
42
# File 'lib/google_apps/atom/atom.rb', line 39

def add_doc_dispatcher(type)
  eval "def #{type}(*args)\n  #{type.camel_up}.new *args\nend" # Needs __file__ and __line__
  module_function type.to_sym
end