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.
Files changed (118) hide show
  1. data/CHANGELOG +8 -0
  2. data/README.rdoc +71 -0
  3. data/Rakefile +144 -14
  4. data/generators/right_rails/right_rails_generator.rb +18 -21
  5. data/init.rb +11 -32
  6. data/lib/generators/right_rails/right_rails_generator.rb +27 -0
  7. data/lib/generators/right_rails/templates/iframed.html.erb +10 -0
  8. data/lib/right-rails.rb +1 -1
  9. data/lib/right_rails/config.rb +278 -0
  10. data/lib/right_rails/controller_extensions.rb +10 -5
  11. data/lib/right_rails/helpers/basic.rb +10 -66
  12. data/lib/right_rails/helpers/forms.rb +141 -139
  13. data/lib/right_rails/helpers/misc.rb +45 -67
  14. data/lib/right_rails/helpers/rails.rb +40 -105
  15. data/lib/right_rails/helpers.rb +364 -1
  16. data/lib/right_rails/java_script_generator.rb +34 -24
  17. data/lib/right_rails.rb +6 -1
  18. data/{images → public/images}/colorpicker.png +0 -0
  19. data/{images → public/images}/resizable.png +0 -0
  20. data/public/javascripts/right/autocompleter-src.js +612 -0
  21. data/public/javascripts/right/autocompleter.js +18 -0
  22. data/public/javascripts/right/calendar-src.js +1448 -0
  23. data/public/javascripts/right/calendar.js +36 -0
  24. data/public/javascripts/right/colorpicker-src.js +967 -0
  25. data/public/javascripts/right/colorpicker.js +26 -0
  26. data/{javascripts/right-dnd-src.js → public/javascripts/right/dnd-src.js} +86 -52
  27. data/public/javascripts/right/dnd.js +20 -0
  28. data/{javascripts/right-effects-src.js → public/javascripts/right/effects-src.js} +90 -45
  29. data/public/javascripts/right/effects.js +17 -0
  30. data/{javascripts/right-ui-i18n-de.js → public/javascripts/right/i18n/de.js} +7 -7
  31. data/{javascripts/right-ui-i18n-en-us.js → public/javascripts/right/i18n/en-us.js} +1 -1
  32. data/{javascripts/right-ui-i18n-es.js → public/javascripts/right/i18n/es.js} +7 -7
  33. data/{javascripts/right-ui-i18n-fr.js → public/javascripts/right/i18n/fr.js} +7 -7
  34. data/{javascripts/right-ui-i18n-hu.js → public/javascripts/right/i18n/hu.js} +7 -7
  35. data/{javascripts/right-ui-i18n-jp.js → public/javascripts/right/i18n/jp.js} +7 -7
  36. data/{javascripts/right-ui-i18n-nl.js → public/javascripts/right/i18n/nl.js} +7 -7
  37. data/{javascripts/right-ui-i18n-pt-br.js → public/javascripts/right/i18n/pt-br.js} +7 -7
  38. data/{javascripts/right-ui-i18n-ru.js → public/javascripts/right/i18n/ru.js} +7 -7
  39. data/{javascripts/right-ui-i18n-ua.js → public/javascripts/right/i18n/ua.js} +17 -12
  40. data/public/javascripts/right/in-edit-src.js +352 -0
  41. data/public/javascripts/right/in-edit.js +13 -0
  42. data/public/javascripts/right/json-src.js +160 -0
  43. data/public/javascripts/right/json.js +10 -0
  44. data/public/javascripts/right/lightbox-src.js +881 -0
  45. data/public/javascripts/right/lightbox.js +24 -0
  46. data/{javascripts/right-rails-src.js → public/javascripts/right/rails-src.js} +195 -171
  47. data/public/javascripts/right/rails.js +14 -0
  48. data/public/javascripts/right/rater-src.js +366 -0
  49. data/public/javascripts/right/rater.js +13 -0
  50. data/public/javascripts/right/resizable-src.js +420 -0
  51. data/public/javascripts/right/resizable.js +15 -0
  52. data/public/javascripts/right/selectable-src.js +687 -0
  53. data/public/javascripts/right/selectable.js +22 -0
  54. data/public/javascripts/right/slider-src.js +377 -0
  55. data/public/javascripts/right/slider.js +14 -0
  56. data/public/javascripts/right/sortable-src.js +392 -0
  57. data/public/javascripts/right/sortable.js +16 -0
  58. data/public/javascripts/right/tabs-src.js +1123 -0
  59. data/public/javascripts/right/tabs.js +29 -0
  60. data/public/javascripts/right/tooltip-src.js +307 -0
  61. data/public/javascripts/right/tooltip.js +12 -0
  62. data/public/javascripts/right/uploader-src.js +283 -0
  63. data/public/javascripts/right/uploader.js +13 -0
  64. data/{javascripts → public/javascripts}/right-olds-src.js +134 -186
  65. data/public/javascripts/right-olds.js +18 -0
  66. data/public/javascripts/right-safe-src.js +161 -0
  67. data/public/javascripts/right-safe.js +8 -0
  68. data/{javascripts → public/javascripts}/right-src.js +2558 -1750
  69. data/public/javascripts/right.js +92 -0
  70. data/spec/lib/right_rails/config_spec.rb +133 -0
  71. data/spec/lib/right_rails/controller_extensions_spec.rb +1 -1
  72. data/spec/lib/right_rails/helpers/basic_spec.rb +77 -66
  73. data/spec/lib/right_rails/helpers/forms_spec.rb +231 -33
  74. data/spec/lib/right_rails/helpers/misc_spec.rb +94 -26
  75. data/spec/lib/right_rails/helpers/rails_spec.rb +42 -7
  76. data/spec/lib/right_rails/helpers_spec.rb +125 -0
  77. data/spec/lib/right_rails/java_script_generator_spec.rb +30 -0
  78. data/spec/rcov.opts +3 -0
  79. data/spec/spec_helper.rb +12 -7
  80. metadata +70 -61
  81. data/README.textile +0 -69
  82. data/javascripts/right-autocompleter-src.js +0 -318
  83. data/javascripts/right-autocompleter.js +0 -9
  84. data/javascripts/right-behavior-src.js +0 -261
  85. data/javascripts/right-behavior.js +0 -8
  86. data/javascripts/right-calendar-src.js +0 -946
  87. data/javascripts/right-calendar.js +0 -9
  88. data/javascripts/right-colorpicker-src.js +0 -635
  89. data/javascripts/right-colorpicker.js +0 -9
  90. data/javascripts/right-dnd.js +0 -9
  91. data/javascripts/right-effects.js +0 -6
  92. data/javascripts/right-events-src.js +0 -321
  93. data/javascripts/right-events.js +0 -6
  94. data/javascripts/right-in-edit-src.js +0 -194
  95. data/javascripts/right-in-edit.js +0 -6
  96. data/javascripts/right-json-src.js +0 -141
  97. data/javascripts/right-json.js +0 -6
  98. data/javascripts/right-lightbox-src.js +0 -651
  99. data/javascripts/right-lightbox.js +0 -9
  100. data/javascripts/right-olds.js +0 -9
  101. data/javascripts/right-rails.js +0 -9
  102. data/javascripts/right-rater-src.js +0 -253
  103. data/javascripts/right-rater.js +0 -9
  104. data/javascripts/right-resizable-src.js +0 -336
  105. data/javascripts/right-resizable.js +0 -9
  106. data/javascripts/right-selectable-src.js +0 -565
  107. data/javascripts/right-selectable.js +0 -7
  108. data/javascripts/right-slider-src.js +0 -288
  109. data/javascripts/right-slider.js +0 -7
  110. data/javascripts/right-sortable-src.js +0 -225
  111. data/javascripts/right-sortable.js +0 -9
  112. data/javascripts/right-tabs-src.js +0 -937
  113. data/javascripts/right-tabs.js +0 -6
  114. data/javascripts/right-tooltips-src.js +0 -195
  115. data/javascripts/right-tooltips.js +0 -9
  116. data/javascripts/right-uploader-src.js +0 -167
  117. data/javascripts/right-uploader.js +0 -9
  118. 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
- };
@@ -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(",")));