Module: Babylon

Defined in:
lib/babylon.rb,
lib/babylon/router.rb,
lib/babylon/runner.rb,
lib/babylon/base/view.rb,
lib/babylon/generator.rb,
lib/babylon/router/dsl.rb,
lib/babylon/base/stanza.rb,
lib/babylon/xmpp_parser.rb,
lib/babylon/xpath_helper.rb,
lib/babylon/base/controller.rb,
lib/babylon/xmpp_connection.rb,
lib/babylon/client_connection.rb,
lib/babylon/component_connection.rb

Overview

Babylon is a XMPP Component Framework based on EventMachine. It uses the Nokogiri GEM, which is a Ruby wrapper for Libxml2. It implements the MVC paradigm. You can create your own application by running :

$> babylon app_name

This will generate some folders and files for your application. Please see README.rdoc for further instructions

Defined Under Namespace

Modules: Base, Generator, Router Classes: AuthenticationError, ClientConnection, ComponentConnection, NoConnection, NotConnected, Route, Runner, StanzaRouter, StanzaTooBig, XmlNotWellFormed, XmppConnection, XmppParser, XpathHelper

Class Method Summary collapse

Class Method Details

.cache_viewsObject

Caches the view files to improve performance.



65
66
67
68
69
70
# File 'lib/babylon.rb', line 65

def self.cache_views
  @@views= {}
  Dir.glob('app/views/*/*').each do |f|
    @@views[f] = File.read(f)
  end        
end

.configObject

Return the configuration for this component.



97
98
99
# File 'lib/babylon.rb', line 97

def self.config
  @@config
end

.config=(conf) ⇒ Object

Set the configuration for this component.



91
92
93
# File 'lib/babylon.rb', line 91

def self.config=(conf)
  @@config = conf
end

.decode_xml(str) ⇒ Object

Decodes XML special characters.



103
104
105
# File 'lib/babylon.rb', line 103

def self.decode_xml(str)
  CGI.unescapeHTML(str)
end

.environmentObject



41
42
43
44
45
46
# File 'lib/babylon.rb', line 41

def self.environment
  unless self.class_variable_defined?("@@env")
    @@env = "development"
  end
  @@env
end

.environment=(_env) ⇒ Object



37
38
39
# File 'lib/babylon.rb', line 37

def self.environment=(_env)
  @@env = _env
end

.loggerObject

Returns a shared logger for this component.



81
82
83
84
85
86
87
# File 'lib/babylon.rb', line 81

def self.logger
  unless self.class_variable_defined?("@@logger")
    @@logger = Log4r::Logger.new("BABYLON")
    @@logger.add(Log4r::Outputter.stdout) if Babylon.environment == "development"
  end
  @@logger
end

.routerObject

Retruns the router



56
57
58
59
60
61
# File 'lib/babylon.rb', line 56

def self.router
  unless self.class_variable_defined?("@@router")
    @@router = nil
  end
  @@router
end

.router=(router) ⇒ Object

Sets up the router



50
51
52
# File 'lib/babylon.rb', line 50

def self.router=(router)
  @@router = router
end

.viewsObject



72
73
74
75
76
77
# File 'lib/babylon.rb', line 72

def self.views
  unless self.class_variable_defined?("@@views")
    @@views= {}
  end
  @@views
end