adhearsion 0.7.6 → 0.7.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. data/.version +1 -1
  2. data/CHANGELOG +43 -25
  3. data/Rakefile +0 -5
  4. data/TODO +51 -2
  5. data/ahn +2 -1
  6. data/apps/default/Rakefile +16 -7
  7. data/apps/default/config/adhearsion.yml +22 -1
  8. data/apps/default/config/helpers/manager_proxy.yml +1 -0
  9. data/apps/default/config/helpers/micromenus/images/arrow-off.gif +0 -0
  10. data/apps/default/config/helpers/micromenus/images/arrow-on.gif +0 -0
  11. data/apps/default/config/helpers/micromenus/images/error.gif +0 -0
  12. data/apps/default/config/helpers/micromenus/images/folder-off.gif +0 -0
  13. data/apps/default/config/helpers/micromenus/images/folder-on.gif +0 -0
  14. data/apps/default/config/helpers/micromenus/images/folder.png +0 -0
  15. data/apps/default/config/helpers/micromenus/images/ggbridge.jpg +0 -0
  16. data/apps/default/config/helpers/micromenus/images/green.png +0 -0
  17. data/apps/default/config/helpers/micromenus/images/microbrowser.bg.gif +0 -0
  18. data/apps/default/config/helpers/micromenus/images/red.png +0 -0
  19. data/apps/default/config/helpers/micromenus/images/url-off.gif +0 -0
  20. data/apps/default/config/helpers/micromenus/images/url-on.gif +0 -0
  21. data/apps/default/config/helpers/micromenus/images/yellow.png +0 -0
  22. data/apps/default/config/helpers/micromenus/javascripts/animation.js +1341 -0
  23. data/apps/default/config/helpers/micromenus/javascripts/carousel.js +1238 -0
  24. data/apps/default/config/helpers/micromenus/javascripts/columnav.js +306 -0
  25. data/apps/default/config/helpers/micromenus/javascripts/connection.js +965 -0
  26. data/apps/default/config/helpers/micromenus/javascripts/container.js +4727 -0
  27. data/apps/default/config/helpers/micromenus/javascripts/container_core.js +2915 -0
  28. data/apps/default/config/helpers/micromenus/javascripts/dom.js +892 -0
  29. data/apps/default/config/helpers/micromenus/javascripts/dragdrop.js +2921 -907
  30. data/apps/default/config/helpers/micromenus/javascripts/event.js +1771 -0
  31. data/apps/default/config/helpers/micromenus/javascripts/yahoo.js +433 -0
  32. data/apps/default/config/helpers/micromenus/stylesheets/carousel.css +78 -0
  33. data/apps/default/config/helpers/micromenus/stylesheets/columnav.css +135 -0
  34. data/apps/default/config/helpers/micromenus/stylesheets/microbrowsers.css +42 -0
  35. data/apps/default/config/helpers/multi_messenger.yml +5 -1
  36. data/apps/default/config/migration.rb +10 -0
  37. data/apps/default/extensions.rb +1 -1
  38. data/apps/default/helpers/factorial.alien.c +3 -3
  39. data/apps/default/helpers/lookup.rb +2 -1
  40. data/apps/default/helpers/manager_proxy.rb +67 -15
  41. data/apps/default/helpers/micromenus.rb +173 -31
  42. data/apps/default/helpers/multi_messenger.rb +20 -3
  43. data/lib/adhearsion.rb +218 -88
  44. data/lib/constants.rb +1 -0
  45. data/lib/core_extensions.rb +15 -9
  46. data/lib/phone_number.rb +85 -0
  47. data/lib/rami.rb +3 -2
  48. data/lib/servlet_container.rb +47 -24
  49. data/lib/sexy_migrations.rb +70 -0
  50. data/test/asterisk_module_test.rb +9 -9
  51. data/test/specs/numerical_string_spec.rb +53 -0
  52. metadata +31 -11
  53. data/apps/default/config/helpers/micromenus/javascripts/builder.js +0 -131
  54. data/apps/default/config/helpers/micromenus/javascripts/controls.js +0 -834
  55. data/apps/default/config/helpers/micromenus/javascripts/effects.js +0 -956
  56. data/apps/default/config/helpers/micromenus/javascripts/prototype.js +0 -2319
  57. data/apps/default/config/helpers/micromenus/javascripts/scriptaculous.js +0 -51
  58. data/apps/default/config/helpers/micromenus/javascripts/slider.js +0 -278
  59. data/apps/default/config/helpers/micromenus/javascripts/unittest.js +0 -557
  60. data/apps/default/config/helpers/micromenus/stylesheets/firefox.css +0 -10
  61. data/apps/default/config/helpers/micromenus/stylesheets/firefox.xul.css +0 -44
@@ -0,0 +1,433 @@
1
+ /*
2
+ Copyright (c) 2007, Yahoo! Inc. All rights reserved.
3
+ Code licensed under the BSD License:
4
+ http://developer.yahoo.net/yui/license.txt
5
+ version: 2.2.0
6
+ */
7
+ /**
8
+ * The YAHOO object is the single global object used by YUI Library. It
9
+ * contains utility function for setting up namespaces, inheritance, and
10
+ * logging. YAHOO.util, YAHOO.widget, and YAHOO.example are namespaces
11
+ * created automatically for and used by the library.
12
+ * @module yahoo
13
+ * @title YAHOO Global
14
+ */
15
+
16
+ /**
17
+ * YAHOO_config is not included part of the library. Instead it is an object
18
+ * that can be defined by the implementer immediately before including the
19
+ * YUI library. The properties included in this object will be used to
20
+ * configure global properties needed as soon as the library begins to load.
21
+ * @class YAHOO_config
22
+ * @static
23
+ */
24
+
25
+ /**
26
+ * A reference to a function that will be executed every time a YAHOO module
27
+ * is loaded. As parameter, this function will receive the version
28
+ * information for the module. See <a href="YAHOO.env.html#getVersion">
29
+ * YAHOO.env.getVersion</a> for the description of the version data structure.
30
+ * @property listener
31
+ * @static
32
+ */
33
+ if (typeof YAHOO == "undefined") {
34
+ /**
35
+ * The YAHOO global namespace object. If YAHOO is already defined, the
36
+ * existing YAHOO object will not be overwritten so that defined
37
+ * namespaces are preserved.
38
+ * @class YAHOO
39
+ * @static
40
+ */
41
+ var YAHOO = {};
42
+ }
43
+
44
+ /**
45
+ * Returns the namespace specified and creates it if it doesn't exist
46
+ * <pre>
47
+ * YAHOO.namespace("property.package");
48
+ * YAHOO.namespace("YAHOO.property.package");
49
+ * </pre>
50
+ * Either of the above would create YAHOO.property, then
51
+ * YAHOO.property.package
52
+ *
53
+ * Be careful when naming packages. Reserved words may work in some browsers
54
+ * and not others. For instance, the following will fail in Safari:
55
+ * <pre>
56
+ * YAHOO.namespace("really.long.nested.namespace");
57
+ * </pre>
58
+ * This fails because "long" is a future reserved word in ECMAScript
59
+ *
60
+ * @method namespace
61
+ * @static
62
+ * @param {String*} arguments 1-n namespaces to create
63
+ * @return {Object} A reference to the last namespace object created
64
+ */
65
+ YAHOO.namespace = function() {
66
+ var a=arguments, o=null, i, j, d;
67
+ for (i=0; i<a.length; i=i+1) {
68
+ d=a[i].split(".");
69
+ o=YAHOO;
70
+
71
+ // YAHOO is implied, so it is ignored if it is included
72
+ for (j=(d[0] == "YAHOO") ? 1 : 0; j<d.length; j=j+1) {
73
+ o[d[j]]=o[d[j]] || {};
74
+ o=o[d[j]];
75
+ }
76
+ }
77
+
78
+ return o;
79
+ };
80
+
81
+ /**
82
+ * Uses YAHOO.widget.Logger to output a log message, if the widget is
83
+ * available.
84
+ *
85
+ * @method log
86
+ * @static
87
+ * @param {String} msg The message to log.
88
+ * @param {String} cat The log category for the message. Default
89
+ * categories are "info", "warn", "error", time".
90
+ * Custom categories can be used as well. (opt)
91
+ * @param {String} src The source of the the message (opt)
92
+ * @return {Boolean} True if the log operation was successful.
93
+ */
94
+ YAHOO.log = function(msg, cat, src) {
95
+ var l=YAHOO.widget.Logger;
96
+ if(l && l.log) {
97
+ return l.log(msg, cat, src);
98
+ } else {
99
+ return false;
100
+ }
101
+ };
102
+
103
+
104
+ /**
105
+ * Initializes the global by creating the default namespaces and applying
106
+ * any new configuration information that is detected.
107
+ * @method init
108
+ * @static
109
+ */
110
+ YAHOO.init = function() {
111
+ this.namespace("util", "widget", "example");
112
+ if (typeof YAHOO_config != "undefined") {
113
+ var l=YAHOO_config.listener,ls=YAHOO.env.listeners,unique=true,i;
114
+ if (l) {
115
+ // if YAHOO is loaded multiple times we need to check to see if
116
+ // this is a new config object. If it is, add the new component
117
+ // load listener to the stack
118
+ for (i=0;i<ls.length;i=i+1) {
119
+ if (ls[1]==l) {
120
+ unique=false;
121
+ break;
122
+ }
123
+ }
124
+ if (unique) {
125
+ ls.push(l);
126
+ }
127
+ }
128
+ }
129
+ };
130
+
131
+ /**
132
+ * Registers a module with the YAHOO object
133
+ * @method register
134
+ * @static
135
+ * @param {String} name the name of the module (event, slider, etc)
136
+ * @param {Function} mainClass a reference to class in the module. This
137
+ * class will be tagged with the version info
138
+ * so that it will be possible to identify the
139
+ * version that is in use when multiple versions
140
+ * have loaded
141
+ * @param {Object} data metadata object for the module. Currently it
142
+ * is expected to contain a "version" property
143
+ * and a "build" property at minimum.
144
+ */
145
+ YAHOO.register = function(name, mainClass, data) {
146
+ var mods = YAHOO.env.modules;
147
+ if (!mods[name]) {
148
+ mods[name] = { versions:[], builds:[] };
149
+ }
150
+ var m=mods[name],v=data.version,b=data.build,ls=YAHOO.env.listeners;
151
+ m.name = name;
152
+ m.version = v;
153
+ m.build = b;
154
+ m.versions.push(v);
155
+ m.builds.push(b);
156
+ m.mainClass = mainClass;
157
+ // fire the module load listeners
158
+ for (var i=0;i<ls.length;i=i+1) {
159
+ ls[i](m);
160
+ }
161
+ // label the main class
162
+ if (mainClass) {
163
+ mainClass.VERSION = v;
164
+ mainClass.BUILD = b;
165
+ } else {
166
+ YAHOO.log("mainClass is undefined for module " + name, "warn");
167
+ }
168
+ };
169
+
170
+ /**
171
+ * YAHOO.env is used to keep track of what is known about the YUI library and
172
+ * the browsing environment
173
+ * @class YAHOO.env
174
+ * @type Object
175
+ * @static
176
+ */
177
+ YAHOO.env = YAHOO.env || {
178
+ /**
179
+ * Keeps the version info for all YUI modules that have reported themselves
180
+ * @property modules
181
+ * @type Object[]
182
+ */
183
+ modules: [],
184
+
185
+ /**
186
+ * List of functions that should be executed every time a YUI module
187
+ * reports itself.
188
+ * @property listeners
189
+ * @type Function[]
190
+ */
191
+ listeners: [],
192
+
193
+ /**
194
+ * Returns the version data for the specified module:
195
+ * <dl>
196
+ * <dt>name:</dt> <dd>The name of the module</dd>
197
+ * <dt>version:</dt> <dd>The version in use</dd>
198
+ * <dt>build:</dt> <dd>The build number in use</dd>
199
+ * <dt>versions:</dt> <dd>All versions that were registered</dd>
200
+ * <dt>builds:</dt> <dd>All builds that were registered.</dd>
201
+ * <dt>mainClass:</dt> <dd>An object that was was stamped with the
202
+ * current version and build. If
203
+ * mainClass.VERSION != version or mainClass.BUILD != build,
204
+ * multiple versions of pieces of the library have been
205
+ * loaded, potentially causing issues.</dd>
206
+ * </dl>
207
+ *
208
+ * @method getVersion
209
+ * @static
210
+ * @param {String} name the name of the module (event, slider, etc)
211
+ * @return {Object} The version info
212
+ */
213
+ getVersion: function(name) {
214
+ return YAHOO.env.modules[name] || null;
215
+ }
216
+ };
217
+
218
+ /**
219
+ * Provides the language utilites and extensions used by the library
220
+ * @class YAHOO.lang
221
+ */
222
+ YAHOO.lang = {
223
+ /**
224
+ * Determines whether or not the provided object is an array
225
+ * @method isArray
226
+ * @param {any} obj The object being testing
227
+ * @return Boolean
228
+ */
229
+ isArray: function(obj) { // frames lose type, so test constructor string
230
+ if (obj.constructor && obj.constructor.toString().indexOf('Array') > -1) {
231
+ return true;
232
+ } else {
233
+ return YAHOO.lang.isObject(obj) && obj.constructor == Array;
234
+ }
235
+ },
236
+
237
+ /**
238
+ * Determines whether or not the provided object is a boolean
239
+ * @method isBoolean
240
+ * @param {any} obj The object being testing
241
+ * @return Boolean
242
+ */
243
+ isBoolean: function(obj) {
244
+ return typeof obj == 'boolean';
245
+ },
246
+
247
+ /**
248
+ * Determines whether or not the provided object is a function
249
+ * @method isFunction
250
+ * @param {any} obj The object being testing
251
+ * @return Boolean
252
+ */
253
+ isFunction: function(obj) {
254
+ return typeof obj == 'function';
255
+ },
256
+
257
+ /**
258
+ * Determines whether or not the provided object is null
259
+ * @method isNull
260
+ * @param {any} obj The object being testing
261
+ * @return Boolean
262
+ */
263
+ isNull: function(obj) {
264
+ return obj === null;
265
+ },
266
+
267
+ /**
268
+ * Determines whether or not the provided object is a legal number
269
+ * @method isNumber
270
+ * @param {any} obj The object being testing
271
+ * @return Boolean
272
+ */
273
+ isNumber: function(obj) {
274
+ return typeof obj == 'number' && isFinite(obj);
275
+ },
276
+
277
+ /**
278
+ * Determines whether or not the provided object is of type object
279
+ * or function
280
+ * @method isObject
281
+ * @param {any} obj The object being testing
282
+ * @return Boolean
283
+ */
284
+ isObject: function(obj) {
285
+ return typeof obj == 'object' || YAHOO.lang.isFunction(obj);
286
+ },
287
+
288
+ /**
289
+ * Determines whether or not the provided object is a string
290
+ * @method isString
291
+ * @param {any} obj The object being testing
292
+ * @return Boolean
293
+ */
294
+ isString: function(obj) {
295
+ return typeof obj == 'string';
296
+ },
297
+
298
+ /**
299
+ * Determines whether or not the provided object is undefined
300
+ * @method isUndefined
301
+ * @param {any} obj The object being testing
302
+ * @return Boolean
303
+ */
304
+ isUndefined: function(obj) {
305
+ return typeof obj == 'undefined';
306
+ },
307
+
308
+ /**
309
+ * Determines whether or not the property was added
310
+ * to the object instance. Returns false if the property is not present
311
+ * in the object, or was inherited from the prototype.
312
+ * This abstraction is provided to enable hasOwnProperty for Safari 1.3.x.
313
+ * There is a discrepancy between YAHOO.lang.hasOwnProperty and
314
+ * Object.prototype.hasOwnProperty when the property is a primitive added to
315
+ * both the instance AND prototype with the same value:
316
+ * <pre>
317
+ * var A = function() {};
318
+ * A.prototype.foo = 'foo';
319
+ * var a = new A();
320
+ * a.foo = 'foo';
321
+ * alert(a.hasOwnProperty('foo')); // true
322
+ * alert(YAHOO.lang.hasOwnProperty(a, 'foo')); // false when using fallback
323
+ * </pre>
324
+ * @method hasOwnProperty
325
+ * @param {any} obj The object being testing
326
+ * @return Boolean
327
+ */
328
+ hasOwnProperty: function(obj, prop) {
329
+ if (Object.prototype.hasOwnProperty) {
330
+ return obj.hasOwnProperty(prop);
331
+ }
332
+
333
+ return !YAHOO.lang.isUndefined(obj[prop]) &&
334
+ obj.constructor.prototype[prop] !== obj[prop];
335
+ },
336
+
337
+ /**
338
+ * Utility to set up the prototype, constructor and superclass properties to
339
+ * support an inheritance strategy that can chain constructors and methods.
340
+ *
341
+ * @method extend
342
+ * @static
343
+ * @param {Function} subc the object to modify
344
+ * @param {Function} superc the object to inherit
345
+ * @param {Object} overrides additional properties/methods to add to the
346
+ * subclass prototype. These will override the
347
+ * matching items obtained from the superclass
348
+ * if present.
349
+ */
350
+ extend: function(subc, superc, overrides) {
351
+ var F = function() {};
352
+ F.prototype=superc.prototype;
353
+ subc.prototype=new F();
354
+ subc.prototype.constructor=subc;
355
+ subc.superclass=superc.prototype;
356
+ if (superc.prototype.constructor == Object.prototype.constructor) {
357
+ superc.prototype.constructor=superc;
358
+ }
359
+
360
+ if (overrides) {
361
+ for (var i in overrides) {
362
+ subc.prototype[i]=overrides[i];
363
+ }
364
+ }
365
+ },
366
+
367
+ /**
368
+ * Applies all prototype properties in the supplier to the receiver if the
369
+ * receiver does not have these properties yet. Optionally, one or more
370
+ * methods/properties can be specified (as additional parameters). This
371
+ * option will overwrite the property if receiver has it already.
372
+ *
373
+ * @method augment
374
+ * @static
375
+ * @param {Function} r the object to receive the augmentation
376
+ * @param {Function} s the object that supplies the properties to augment
377
+ * @param {String*} arguments zero or more properties methods to augment the
378
+ * receiver with. If none specified, everything
379
+ * in the supplier will be used unless it would
380
+ * overwrite an existing property in the receiver
381
+ */
382
+ augment: function(r, s) {
383
+ var rp=r.prototype, sp=s.prototype, a=arguments, i, p;
384
+ if (a[2]) {
385
+ for (i=2; i<a.length; i=i+1) {
386
+ rp[a[i]] = sp[a[i]];
387
+ }
388
+ } else {
389
+ for (p in sp) {
390
+ if (!rp[p]) {
391
+ rp[p] = sp[p];
392
+ }
393
+ }
394
+ }
395
+ }
396
+ };
397
+
398
+ YAHOO.init();
399
+
400
+ /*
401
+ * An alias for <a href="YAHOO.lang.html">YAHOO.lang</a>
402
+ * @class YAHOO.util.Lang
403
+ */
404
+ YAHOO.util.Lang = YAHOO.lang;
405
+
406
+ /**
407
+ * An alias for <a href="YAHOO.lang.html#augment">YAHOO.lang.augment</a>
408
+ * @for YAHOO
409
+ * @method augment
410
+ * @static
411
+ * @param {Function} r the object to receive the augmentation
412
+ * @param {Function} s the object that supplies the properties to augment
413
+ * @param {String*} arguments zero or more properties methods to augment the
414
+ * receiver with. If none specified, everything
415
+ * in the supplier will be used unless it would
416
+ * overwrite an existing property in the receiver
417
+ */
418
+ YAHOO.augment = YAHOO.lang.augment;
419
+
420
+ /**
421
+ * An alias for <a href="YAHOO.lang.html#extend">YAHOO.lang.extend</a>
422
+ * @method extend
423
+ * @static
424
+ * @param {Function} subc the object to modify
425
+ * @param {Function} superc the object to inherit
426
+ * @param {Object} overrides additional properties/methods to add to the
427
+ * subclass prototype. These will override the
428
+ * matching items obtained from the superclass
429
+ * if present.
430
+ */
431
+ YAHOO.extend = YAHOO.lang.extend;
432
+
433
+ YAHOO.register("yahoo", YAHOO, {version: "2.2.0", build: "125"});
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Copyright (c) 2006, Bill W. Scott
3
+ * All rights reserved.
4
+ *
5
+ * This work is licensed under the Creative Commons Attribution 2.5 License. To view a copy
6
+ * of this license, visit http://creativecommons.org/licenses/by/2.5/ or send a letter to
7
+ * Creative Commons, 543 Howard Street, 5th Floor, San Francisco, California, 94105, USA.
8
+ *
9
+ * This work was created by Bill Scott (billwscott.com, looksgoodworkswell.com).
10
+ *
11
+ * The only attribution I require is to keep this notice of copyright & license
12
+ * in this original source file.
13
+ */
14
+
15
+ /**
16
+ * Standard Configuration. It is advised that this section NOT be modified as the
17
+ * carousel.js expects the behavior outlined below.
18
+ **/
19
+ .carousel-component {
20
+ position:relative;
21
+ overflow:hidden;
22
+ visibility:hidden; /* component turns it on when first item is rendered */
23
+ }
24
+
25
+ .carousel-component ul.carousel-list {
26
+ width:10000000px;
27
+ position:relative;
28
+ z-index:1;
29
+ }
30
+
31
+ .carousel-component .carousel-list li {
32
+ float:left;
33
+ list-style:none;
34
+ overflow:hidden;
35
+ }
36
+
37
+ .carousel-component .carousel-vertical li {
38
+ float:none;
39
+ margin-bottom:0px;
40
+ }
41
+
42
+ .carousel-component ul.carousel-vertical {
43
+ width:auto;
44
+ }
45
+
46
+ .carousel-component .carousel-clip-region {
47
+ overflow:hidden;
48
+ margin:0px auto;
49
+ position:relative;
50
+ }
51
+
52
+ /**
53
+ * Safe to override. It is safe to override background, padding, margin, color,
54
+ * text alignment, fonts, etc. Define a separate CSS file and override your style
55
+ * preferences.
56
+ **/
57
+
58
+ .carousel-component {
59
+ background:#e2edfa;
60
+ padding:6px 0px 6px 0px;
61
+ -moz-border-radius:10px;
62
+ color:#618cbe;
63
+ }
64
+ .carousel-component ul.carousel-list {
65
+ margin:0px;
66
+ padding:0px 0px 0px 0px;
67
+ }
68
+ .carousel-component .carousel-list li {
69
+ text-align:center;
70
+ margin:0px 0px 0px 0px;
71
+ padding:0px;
72
+ font:10px verdana,arial,sans-serif;
73
+ color:#666;
74
+ }
75
+ .carousel-component .carousel-vertical li {
76
+ }
77
+ .carousel-component ul.carousel-vertical {
78
+ }