right-rails 0.6.0 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +8 -0
- data/README.rdoc +71 -0
- data/Rakefile +144 -14
- data/generators/right_rails/right_rails_generator.rb +18 -21
- data/init.rb +11 -32
- data/lib/generators/right_rails/right_rails_generator.rb +27 -0
- data/lib/generators/right_rails/templates/iframed.html.erb +10 -0
- data/lib/right-rails.rb +1 -1
- data/lib/right_rails/config.rb +278 -0
- data/lib/right_rails/controller_extensions.rb +10 -5
- data/lib/right_rails/helpers/basic.rb +10 -66
- data/lib/right_rails/helpers/forms.rb +141 -139
- data/lib/right_rails/helpers/misc.rb +45 -67
- data/lib/right_rails/helpers/rails.rb +40 -105
- data/lib/right_rails/helpers.rb +364 -1
- data/lib/right_rails/java_script_generator.rb +34 -24
- data/lib/right_rails.rb +6 -1
- data/{images → public/images}/colorpicker.png +0 -0
- data/{images → public/images}/resizable.png +0 -0
- data/public/javascripts/right/autocompleter-src.js +612 -0
- data/public/javascripts/right/autocompleter.js +18 -0
- data/public/javascripts/right/calendar-src.js +1448 -0
- data/public/javascripts/right/calendar.js +36 -0
- data/public/javascripts/right/colorpicker-src.js +967 -0
- data/public/javascripts/right/colorpicker.js +26 -0
- data/{javascripts/right-dnd-src.js → public/javascripts/right/dnd-src.js} +86 -52
- data/public/javascripts/right/dnd.js +20 -0
- data/{javascripts/right-effects-src.js → public/javascripts/right/effects-src.js} +90 -45
- data/public/javascripts/right/effects.js +17 -0
- data/{javascripts/right-ui-i18n-de.js → public/javascripts/right/i18n/de.js} +7 -7
- data/{javascripts/right-ui-i18n-en-us.js → public/javascripts/right/i18n/en-us.js} +1 -1
- data/{javascripts/right-ui-i18n-es.js → public/javascripts/right/i18n/es.js} +7 -7
- data/{javascripts/right-ui-i18n-fr.js → public/javascripts/right/i18n/fr.js} +7 -7
- data/{javascripts/right-ui-i18n-hu.js → public/javascripts/right/i18n/hu.js} +7 -7
- data/{javascripts/right-ui-i18n-jp.js → public/javascripts/right/i18n/jp.js} +7 -7
- data/{javascripts/right-ui-i18n-nl.js → public/javascripts/right/i18n/nl.js} +7 -7
- data/{javascripts/right-ui-i18n-pt-br.js → public/javascripts/right/i18n/pt-br.js} +7 -7
- data/{javascripts/right-ui-i18n-ru.js → public/javascripts/right/i18n/ru.js} +7 -7
- data/{javascripts/right-ui-i18n-ua.js → public/javascripts/right/i18n/ua.js} +17 -12
- data/public/javascripts/right/in-edit-src.js +352 -0
- data/public/javascripts/right/in-edit.js +13 -0
- data/public/javascripts/right/json-src.js +160 -0
- data/public/javascripts/right/json.js +10 -0
- data/public/javascripts/right/lightbox-src.js +881 -0
- data/public/javascripts/right/lightbox.js +24 -0
- data/{javascripts/right-rails-src.js → public/javascripts/right/rails-src.js} +195 -171
- data/public/javascripts/right/rails.js +14 -0
- data/public/javascripts/right/rater-src.js +366 -0
- data/public/javascripts/right/rater.js +13 -0
- data/public/javascripts/right/resizable-src.js +420 -0
- data/public/javascripts/right/resizable.js +15 -0
- data/public/javascripts/right/selectable-src.js +687 -0
- data/public/javascripts/right/selectable.js +22 -0
- data/public/javascripts/right/slider-src.js +377 -0
- data/public/javascripts/right/slider.js +14 -0
- data/public/javascripts/right/sortable-src.js +392 -0
- data/public/javascripts/right/sortable.js +16 -0
- data/public/javascripts/right/tabs-src.js +1123 -0
- data/public/javascripts/right/tabs.js +29 -0
- data/public/javascripts/right/tooltip-src.js +307 -0
- data/public/javascripts/right/tooltip.js +12 -0
- data/public/javascripts/right/uploader-src.js +283 -0
- data/public/javascripts/right/uploader.js +13 -0
- data/{javascripts → public/javascripts}/right-olds-src.js +134 -186
- data/public/javascripts/right-olds.js +18 -0
- data/public/javascripts/right-safe-src.js +161 -0
- data/public/javascripts/right-safe.js +8 -0
- data/{javascripts → public/javascripts}/right-src.js +2558 -1750
- data/public/javascripts/right.js +92 -0
- data/spec/lib/right_rails/config_spec.rb +133 -0
- data/spec/lib/right_rails/controller_extensions_spec.rb +1 -1
- data/spec/lib/right_rails/helpers/basic_spec.rb +77 -66
- data/spec/lib/right_rails/helpers/forms_spec.rb +231 -33
- data/spec/lib/right_rails/helpers/misc_spec.rb +94 -26
- data/spec/lib/right_rails/helpers/rails_spec.rb +42 -7
- data/spec/lib/right_rails/helpers_spec.rb +125 -0
- data/spec/lib/right_rails/java_script_generator_spec.rb +30 -0
- data/spec/rcov.opts +3 -0
- data/spec/spec_helper.rb +12 -7
- metadata +70 -61
- data/README.textile +0 -69
- data/javascripts/right-autocompleter-src.js +0 -318
- data/javascripts/right-autocompleter.js +0 -9
- data/javascripts/right-behavior-src.js +0 -261
- data/javascripts/right-behavior.js +0 -8
- data/javascripts/right-calendar-src.js +0 -946
- data/javascripts/right-calendar.js +0 -9
- data/javascripts/right-colorpicker-src.js +0 -635
- data/javascripts/right-colorpicker.js +0 -9
- data/javascripts/right-dnd.js +0 -9
- data/javascripts/right-effects.js +0 -6
- data/javascripts/right-events-src.js +0 -321
- data/javascripts/right-events.js +0 -6
- data/javascripts/right-in-edit-src.js +0 -194
- data/javascripts/right-in-edit.js +0 -6
- data/javascripts/right-json-src.js +0 -141
- data/javascripts/right-json.js +0 -6
- data/javascripts/right-lightbox-src.js +0 -651
- data/javascripts/right-lightbox.js +0 -9
- data/javascripts/right-olds.js +0 -9
- data/javascripts/right-rails.js +0 -9
- data/javascripts/right-rater-src.js +0 -253
- data/javascripts/right-rater.js +0 -9
- data/javascripts/right-resizable-src.js +0 -336
- data/javascripts/right-resizable.js +0 -9
- data/javascripts/right-selectable-src.js +0 -565
- data/javascripts/right-selectable.js +0 -7
- data/javascripts/right-slider-src.js +0 -288
- data/javascripts/right-slider.js +0 -7
- data/javascripts/right-sortable-src.js +0 -225
- data/javascripts/right-sortable.js +0 -9
- data/javascripts/right-tabs-src.js +0 -937
- data/javascripts/right-tabs.js +0 -6
- data/javascripts/right-tooltips-src.js +0 -195
- data/javascripts/right-tooltips.js +0 -9
- data/javascripts/right-uploader-src.js +0 -167
- data/javascripts/right-uploader.js +0 -9
- data/javascripts/right.js +0 -7
@@ -1,141 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* The JSON encode/decode feature
|
3
|
-
*
|
4
|
-
* Copyright (C) 2009-2010 Nikolay V. Nemshilov
|
5
|
-
*/
|
6
|
-
|
7
|
-
/**
|
8
|
-
* The generic JSON interface
|
9
|
-
*
|
10
|
-
* Credits:
|
11
|
-
* Based on the original JSON escaping implementation
|
12
|
-
* http://www.json.org/json2.js
|
13
|
-
*
|
14
|
-
* @copyright (C) 2009-2010 Nikolay V. Nemshilov
|
15
|
-
*/
|
16
|
-
var JSON = (function(native_JSON) {
|
17
|
-
// see the original JSON decoder implementation for descriptions http://www.json.org/json2.js
|
18
|
-
var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
|
19
|
-
specials = {'\b': '\\b', '\t': '\\t', '\n': '\\n', '\f': '\\f', '\r': '\\r', '"' : '\\"', '\\': '\\\\'},
|
20
|
-
quotables = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;
|
21
|
-
|
22
|
-
|
23
|
-
// quotes the string
|
24
|
-
function quote(string) {
|
25
|
-
return string.replace(quotables, function(chr) {
|
26
|
-
return specials[chr] || '\\u' + ('0000' + chr.charCodeAt(0).toString(16)).slice(-4);
|
27
|
-
});
|
28
|
-
};
|
29
|
-
|
30
|
-
// adds the leading zero symbol
|
31
|
-
var zerofy = function(num) {
|
32
|
-
return (num < 10 ? '0' : '')+num;
|
33
|
-
};
|
34
|
-
|
35
|
-
|
36
|
-
// converts the value into a JSON string
|
37
|
-
var stringify = native_JSON ? native_JSON.stringify : function(value) {
|
38
|
-
if (value === null) {
|
39
|
-
return 'null';
|
40
|
-
} else if (value.toJSON) {
|
41
|
-
return value.toJSON();
|
42
|
-
} else {
|
43
|
-
|
44
|
-
switch(typeof(value)) {
|
45
|
-
case 'boolean': return String(value);
|
46
|
-
case 'number': return String(value+0);
|
47
|
-
case 'string': return '"'+ quote(value) + '"';
|
48
|
-
case 'object':
|
49
|
-
|
50
|
-
if (value instanceof Array)
|
51
|
-
return '['+value.map(JSON.stringify).join(',')+']';
|
52
|
-
|
53
|
-
else if (value instanceof Date)
|
54
|
-
return value.getUTCFullYear() + '-' +
|
55
|
-
zerofy(value.getUTCMonth() + 1) + '-' +
|
56
|
-
zerofy(value.getUTCDate()) + 'T' +
|
57
|
-
zerofy(value.getUTCHours()) + ':' +
|
58
|
-
zerofy(value.getUTCMinutes()) + ':' +
|
59
|
-
zerofy(value.getUTCSeconds()) + '.' +
|
60
|
-
zerofy(value.getMilliseconds()) + 'Z' ;
|
61
|
-
|
62
|
-
else {
|
63
|
-
var result = [];
|
64
|
-
for (var key in value) {
|
65
|
-
result.push(JSON.encode(key)+":"+JSON.encode(value[key]));
|
66
|
-
}
|
67
|
-
return '{'+result.join(',')+'}';
|
68
|
-
}
|
69
|
-
}
|
70
|
-
}
|
71
|
-
};
|
72
|
-
|
73
|
-
// parses a json string
|
74
|
-
var parse = native_JSON ? native_JSON.parse : function(string) {
|
75
|
-
if (isString(string) && string) {
|
76
|
-
// getting back the UTF-8 symbols
|
77
|
-
string = string.replace(cx, function (a) {
|
78
|
-
return '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4);
|
79
|
-
});
|
80
|
-
|
81
|
-
// checking the JSON string consistency
|
82
|
-
if (/^[\],:{}\s]*$/.test(string.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@')
|
83
|
-
.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']')
|
84
|
-
.replace(/(?:^|:|,)(?:\s*\[)+/g, '')))
|
85
|
-
|
86
|
-
return eval('('+string+')');
|
87
|
-
}
|
88
|
-
|
89
|
-
throw "JSON parse error: "+string;
|
90
|
-
};
|
91
|
-
|
92
|
-
return {
|
93
|
-
|
94
|
-
stringify: stringify,
|
95
|
-
parse: parse,
|
96
|
-
|
97
|
-
encode: stringify,
|
98
|
-
decode: parse
|
99
|
-
|
100
|
-
|
101
|
-
}})(self.JSON);
|
102
|
-
|
103
|
-
/**
|
104
|
-
* Wraps up the Cooke set/get methods so that the values
|
105
|
-
* were automatically exported/imported into JSON strings
|
106
|
-
* and it allowed transparent objects and arrays saving
|
107
|
-
*
|
108
|
-
* @copyright (C) 2009-2010 Nikolay V. Nemshilov
|
109
|
-
*/
|
110
|
-
if (window['Cookie']) {
|
111
|
-
(function(Cookie_prototype) {
|
112
|
-
var old_set = Cookie_prototype.set,
|
113
|
-
old_get = Cookie_prototype.get;
|
114
|
-
|
115
|
-
$ext(Cookie_prototype, {
|
116
|
-
set: function(value) {
|
117
|
-
return old_set.call(this, JSON.stringify(value));
|
118
|
-
},
|
119
|
-
|
120
|
-
get: function() {
|
121
|
-
return JSON.parse(old_get.call(this));
|
122
|
-
}
|
123
|
-
});
|
124
|
-
})(Cookie.prototype);
|
125
|
-
}
|
126
|
-
/**
|
127
|
-
* Better JSON sanitizing for the Xhr requests
|
128
|
-
*
|
129
|
-
* Copyright (C) 2009 Nikolay V. Nemshilov
|
130
|
-
*/
|
131
|
-
Xhr.prototype.sanitizedJSON = function() {
|
132
|
-
try {
|
133
|
-
return JSON.decode(this.text);
|
134
|
-
} catch(e) {
|
135
|
-
if (this.secureJSON) {
|
136
|
-
throw e;
|
137
|
-
} else {
|
138
|
-
return null;
|
139
|
-
}
|
140
|
-
}
|
141
|
-
};
|
data/javascripts/right-json.js
DELETED
@@ -1,6 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* The JSON encode/decode feature
|
3
|
-
*
|
4
|
-
* Copyright (C) 2009-2010 Nikolay V. Nemshilov
|
5
|
-
*/
|
6
|
-
eval((function(s,d){for(var i=d.length-1;i>-1;i--)if(d[i])s=s.replace(new RegExp(i,'g'),d[i]);return s})("15 12=(11(d){15 a=/[\\u52\\43\\49-\\45\\46\\50\\48\\37-\\47\\44-\\42\\40-\\38\\34\\36-\\39]/g,f={'\\b':'\\\\b','\\t':'\\\\t','\\n':'\\\\n','\\f':'\\\\f','\\r':'\\\\r','\"':'\\\\\"','\\\\\': '\\\\\\\\\'},q=/[\\\\\\\"\\x00-\\x1f\\x7f-\\x9f\\43\\49-\\45\\46\\50\\48\\37-\\47\\44-\\42\\40-\\38\\34\\36-\\39]/g;11 e(s){3 s.14(q,11(c){3 f[c]||'\\\\u'+('52'+c.22(0).29(16)).41(-4)})};15 z=11(n){3(n<10?'0':'')+n};15 g=d?d.13:11(v){if(v===27)3 '27';18 if(v.to12)3 v.to12();18 switch(typeof(v)){24 'boolean':3 30(v);24 'number':3 30(v+0);24 'string':3 '\"'+e(v)+'\"';24 'object':if(v 21 Array)3 '['+v.map(12.13).53(',')+']';18 if(v 21 56)3 v.55UTCFullYear()+'-'+z(v.55UTCMonth()+1)+'-'+z(v.55UTC56())+'T'+z(v.55UTCHours())+':'+z(v.55UTCMinutes())+':'+z(v.55UTCSeconds())+'.'+z(v.55Milliseconds())+'Z';18{15 r=[];for(15 k in v)r.push(12.23(k)+\":\"+12.23(v[k]));3 '{'+r.53(',')+'}'}}};15 p=d?d.19:11(s){if(is30(s)&&s){s=s.14(a,11(b){3 '\\\\u'+('52'+b.22(0).29(16)).41(-4)});if(/^[\\],:{}\\s]*$/.test(s.14(/\\\\(?:[\"\\\\\\/bfnrt]|u[0-9a-fA-F]{4})/g,'@').14(/\"[^\"\\\\\\n\\r]*\"|true|false|27|-?\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g,']').14(/(?:^|:|,)(?:\\s*\\[)+/g,'')))3 eval('('+s+')')}35 \"12 19 error: \"+s};3{13:g,19:p,23:g,32:p}})(self.12);if(window['31'])(11(C){15 a=C.54,o=C.55;$ext(C,{54:11(v){3 a.51(26,12.13(v))},55:11(){3 12.19(o.51(26))}})})(31.25);Xhr.25.sanitized12=11(){try{3 12.32(26.text)}catch(e){if(26.secure12)35 e;18 3 27}};",",,,return,,,,,,,,function,JSON,stringify,replace,var,,,else,parse,,instanceof,charCodeAt,encode,case,prototype,this,null,,toString,String,Cookie,decode,toJSON,ufeff,throw,ufff0,u200c,u206f,uffff,u2060,slice,u202f,u00ad,u2028,u0604,u070f,u200f,u17b5,u0600,u17b4,call,0000,join,set,get,Date".split(",")));
|