adhearsion 0.7.6 → 0.7.7

Sign up to get free protection for your applications and to get access to all the features.
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
+ }