qwerty 0.0.1.pre

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 (664) hide show
  1. data/MIT-LICENSE +20 -0
  2. data/README.rdoc +16 -0
  3. data/Rakefile +39 -0
  4. data/app/assets/images/qwerty/admin/icons/down.png +0 -0
  5. data/app/assets/images/qwerty/admin/icons/up.png +0 -0
  6. data/app/assets/javascripts/application.js +8 -0
  7. data/app/assets/javascripts/ckeditor/CHANGES.html +1433 -0
  8. data/app/assets/javascripts/ckeditor/INSTALL.html +92 -0
  9. data/app/assets/javascripts/ckeditor/LICENSE.html +1327 -0
  10. data/app/assets/javascripts/ckeditor/adapters/jquery.js +6 -0
  11. data/app/assets/javascripts/ckeditor/ckeditor.js +149 -0
  12. data/app/assets/javascripts/ckeditor/ckeditor.pack +211 -0
  13. data/app/assets/javascripts/ckeditor/ckeditor_basic.js +8 -0
  14. data/app/assets/javascripts/ckeditor/ckeditor_basic_source.js +20 -0
  15. data/app/assets/javascripts/ckeditor/ckeditor_source.js +35 -0
  16. data/app/assets/javascripts/ckeditor/config.js +78 -0
  17. data/app/assets/javascripts/ckeditor/contents.css +25 -0
  18. data/app/assets/javascripts/ckeditor/filebrowser/images/gal_add.jpg +0 -0
  19. data/app/assets/javascripts/ckeditor/filebrowser/images/gal_add.png +0 -0
  20. data/app/assets/javascripts/ckeditor/filebrowser/images/gal_del.png +0 -0
  21. data/app/assets/javascripts/ckeditor/filebrowser/images/gal_more.gif +0 -0
  22. data/app/assets/javascripts/ckeditor/filebrowser/images/preloader.gif +0 -0
  23. data/app/assets/javascripts/ckeditor/filebrowser/images/thumbs/ckfnothumb.gif +0 -0
  24. data/app/assets/javascripts/ckeditor/filebrowser/images/thumbs/mp3.gif +0 -0
  25. data/app/assets/javascripts/ckeditor/filebrowser/images/thumbs/pdf.gif +0 -0
  26. data/app/assets/javascripts/ckeditor/filebrowser/images/thumbs/rar.gif +0 -0
  27. data/app/assets/javascripts/ckeditor/filebrowser/images/thumbs/swf.gif +0 -0
  28. data/app/assets/javascripts/ckeditor/filebrowser/images/thumbs/xls.gif +0 -0
  29. data/app/assets/javascripts/ckeditor/filebrowser/javascripts/application.js +222 -0
  30. data/app/assets/javascripts/ckeditor/filebrowser/javascripts/fileuploader.js +1301 -0
  31. data/app/assets/javascripts/ckeditor/filebrowser/javascripts/jquery.js +18 -0
  32. data/app/assets/javascripts/ckeditor/filebrowser/javascripts/jquery.tmpl.js +10 -0
  33. data/app/assets/javascripts/ckeditor/filebrowser/javascripts/rails.js +363 -0
  34. data/app/assets/javascripts/ckeditor/filebrowser/stylesheets/uploader.css +117 -0
  35. data/app/assets/javascripts/ckeditor/images/spacer.gif +0 -0
  36. data/app/assets/javascripts/ckeditor/lang/_languages.js +6 -0
  37. data/app/assets/javascripts/ckeditor/lang/_translationstatus.txt +61 -0
  38. data/app/assets/javascripts/ckeditor/lang/af.js +6 -0
  39. data/app/assets/javascripts/ckeditor/lang/ar.js +6 -0
  40. data/app/assets/javascripts/ckeditor/lang/bg.js +6 -0
  41. data/app/assets/javascripts/ckeditor/lang/bn.js +6 -0
  42. data/app/assets/javascripts/ckeditor/lang/bs.js +6 -0
  43. data/app/assets/javascripts/ckeditor/lang/ca.js +6 -0
  44. data/app/assets/javascripts/ckeditor/lang/cs.js +6 -0
  45. data/app/assets/javascripts/ckeditor/lang/cy.js +6 -0
  46. data/app/assets/javascripts/ckeditor/lang/da.js +6 -0
  47. data/app/assets/javascripts/ckeditor/lang/de.js +6 -0
  48. data/app/assets/javascripts/ckeditor/lang/el.js +6 -0
  49. data/app/assets/javascripts/ckeditor/lang/en-au.js +6 -0
  50. data/app/assets/javascripts/ckeditor/lang/en-ca.js +6 -0
  51. data/app/assets/javascripts/ckeditor/lang/en-gb.js +6 -0
  52. data/app/assets/javascripts/ckeditor/lang/en.js +6 -0
  53. data/app/assets/javascripts/ckeditor/lang/eo.js +6 -0
  54. data/app/assets/javascripts/ckeditor/lang/es.js +6 -0
  55. data/app/assets/javascripts/ckeditor/lang/et.js +6 -0
  56. data/app/assets/javascripts/ckeditor/lang/eu.js +6 -0
  57. data/app/assets/javascripts/ckeditor/lang/fa.js +6 -0
  58. data/app/assets/javascripts/ckeditor/lang/fi.js +6 -0
  59. data/app/assets/javascripts/ckeditor/lang/fo.js +6 -0
  60. data/app/assets/javascripts/ckeditor/lang/fr-ca.js +6 -0
  61. data/app/assets/javascripts/ckeditor/lang/fr.js +6 -0
  62. data/app/assets/javascripts/ckeditor/lang/gl.js +6 -0
  63. data/app/assets/javascripts/ckeditor/lang/gu.js +6 -0
  64. data/app/assets/javascripts/ckeditor/lang/he.js +6 -0
  65. data/app/assets/javascripts/ckeditor/lang/hi.js +6 -0
  66. data/app/assets/javascripts/ckeditor/lang/hr.js +6 -0
  67. data/app/assets/javascripts/ckeditor/lang/hu.js +6 -0
  68. data/app/assets/javascripts/ckeditor/lang/is.js +6 -0
  69. data/app/assets/javascripts/ckeditor/lang/it.js +6 -0
  70. data/app/assets/javascripts/ckeditor/lang/ja.js +6 -0
  71. data/app/assets/javascripts/ckeditor/lang/ka.js +6 -0
  72. data/app/assets/javascripts/ckeditor/lang/km.js +6 -0
  73. data/app/assets/javascripts/ckeditor/lang/ko.js +6 -0
  74. data/app/assets/javascripts/ckeditor/lang/lt.js +6 -0
  75. data/app/assets/javascripts/ckeditor/lang/lv.js +6 -0
  76. data/app/assets/javascripts/ckeditor/lang/mn.js +6 -0
  77. data/app/assets/javascripts/ckeditor/lang/ms.js +6 -0
  78. data/app/assets/javascripts/ckeditor/lang/nb.js +6 -0
  79. data/app/assets/javascripts/ckeditor/lang/nl.js +6 -0
  80. data/app/assets/javascripts/ckeditor/lang/no.js +6 -0
  81. data/app/assets/javascripts/ckeditor/lang/pl.js +6 -0
  82. data/app/assets/javascripts/ckeditor/lang/pt-br.js +6 -0
  83. data/app/assets/javascripts/ckeditor/lang/pt.js +6 -0
  84. data/app/assets/javascripts/ckeditor/lang/ro.js +6 -0
  85. data/app/assets/javascripts/ckeditor/lang/ru.js +6 -0
  86. data/app/assets/javascripts/ckeditor/lang/sk.js +6 -0
  87. data/app/assets/javascripts/ckeditor/lang/sl.js +6 -0
  88. data/app/assets/javascripts/ckeditor/lang/sr-latn.js +6 -0
  89. data/app/assets/javascripts/ckeditor/lang/sr.js +6 -0
  90. data/app/assets/javascripts/ckeditor/lang/sv.js +6 -0
  91. data/app/assets/javascripts/ckeditor/lang/th.js +6 -0
  92. data/app/assets/javascripts/ckeditor/lang/tr.js +6 -0
  93. data/app/assets/javascripts/ckeditor/lang/uk.js +6 -0
  94. data/app/assets/javascripts/ckeditor/lang/vi.js +6 -0
  95. data/app/assets/javascripts/ckeditor/lang/zh-cn.js +6 -0
  96. data/app/assets/javascripts/ckeditor/lang/zh.js +6 -0
  97. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +7 -0
  98. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/lang/en.js +6 -0
  99. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/lang/he.js +6 -0
  100. data/app/assets/javascripts/ckeditor/plugins/about/dialogs/about.js +6 -0
  101. data/app/assets/javascripts/ckeditor/plugins/about/dialogs/logo_ckeditor.png +0 -0
  102. data/app/assets/javascripts/ckeditor/plugins/adobeair/plugin.js +6 -0
  103. data/app/assets/javascripts/ckeditor/plugins/ajax/plugin.js +6 -0
  104. data/app/assets/javascripts/ckeditor/plugins/attachment/dialogs/attachment.js +1 -0
  105. data/app/assets/javascripts/ckeditor/plugins/attachment/images/attachment.png +0 -0
  106. data/app/assets/javascripts/ckeditor/plugins/attachment/lang/en.js +10 -0
  107. data/app/assets/javascripts/ckeditor/plugins/attachment/lang/ru.js +10 -0
  108. data/app/assets/javascripts/ckeditor/plugins/attachment/lang/uk.js +10 -0
  109. data/app/assets/javascripts/ckeditor/plugins/attachment/plugin.js +1 -0
  110. data/app/assets/javascripts/ckeditor/plugins/autogrow/plugin.js +6 -0
  111. data/app/assets/javascripts/ckeditor/plugins/bbcode/plugin.js +9 -0
  112. data/app/assets/javascripts/ckeditor/plugins/clipboard/dialogs/paste.js +7 -0
  113. data/app/assets/javascripts/ckeditor/plugins/colordialog/dialogs/colordialog.js +7 -0
  114. data/app/assets/javascripts/ckeditor/plugins/devtools/lang/en.js +6 -0
  115. data/app/assets/javascripts/ckeditor/plugins/devtools/plugin.js +6 -0
  116. data/app/assets/javascripts/ckeditor/plugins/dialog/dialogDefinition.js +4 -0
  117. data/app/assets/javascripts/ckeditor/plugins/div/dialogs/div.js +8 -0
  118. data/app/assets/javascripts/ckeditor/plugins/docprops/dialogs/docprops.js +10 -0
  119. data/app/assets/javascripts/ckeditor/plugins/docprops/plugin.js +6 -0
  120. data/app/assets/javascripts/ckeditor/plugins/embed/dialogs/embed.js +1 -0
  121. data/app/assets/javascripts/ckeditor/plugins/embed/images/embed.png +0 -0
  122. data/app/assets/javascripts/ckeditor/plugins/embed/lang/en.js +9 -0
  123. data/app/assets/javascripts/ckeditor/plugins/embed/lang/ru.js +9 -0
  124. data/app/assets/javascripts/ckeditor/plugins/embed/lang/uk.js +9 -0
  125. data/app/assets/javascripts/ckeditor/plugins/embed/plugin.js +1 -0
  126. data/app/assets/javascripts/ckeditor/plugins/find/dialogs/find.js +10 -0
  127. data/app/assets/javascripts/ckeditor/plugins/flash/dialogs/flash.js +9 -0
  128. data/app/assets/javascripts/ckeditor/plugins/flash/images/placeholder.png +0 -0
  129. data/app/assets/javascripts/ckeditor/plugins/forms/dialogs/button.js +6 -0
  130. data/app/assets/javascripts/ckeditor/plugins/forms/dialogs/checkbox.js +6 -0
  131. data/app/assets/javascripts/ckeditor/plugins/forms/dialogs/form.js +6 -0
  132. data/app/assets/javascripts/ckeditor/plugins/forms/dialogs/hiddenfield.js +6 -0
  133. data/app/assets/javascripts/ckeditor/plugins/forms/dialogs/radio.js +6 -0
  134. data/app/assets/javascripts/ckeditor/plugins/forms/dialogs/select.js +9 -0
  135. data/app/assets/javascripts/ckeditor/plugins/forms/dialogs/textarea.js +6 -0
  136. data/app/assets/javascripts/ckeditor/plugins/forms/dialogs/textfield.js +6 -0
  137. data/app/assets/javascripts/ckeditor/plugins/forms/images/hiddenfield.gif +0 -0
  138. data/app/assets/javascripts/ckeditor/plugins/iframe/dialogs/iframe.js +7 -0
  139. data/app/assets/javascripts/ckeditor/plugins/iframe/images/placeholder.png +0 -0
  140. data/app/assets/javascripts/ckeditor/plugins/iframedialog/plugin.js +6 -0
  141. data/app/assets/javascripts/ckeditor/plugins/image/dialogs/image.js +13 -0
  142. data/app/assets/javascripts/ckeditor/plugins/link/dialogs/anchor.js +6 -0
  143. data/app/assets/javascripts/ckeditor/plugins/link/dialogs/link.js +12 -0
  144. data/app/assets/javascripts/ckeditor/plugins/link/images/anchor.gif +0 -0
  145. data/app/assets/javascripts/ckeditor/plugins/liststyle/dialogs/liststyle.js +7 -0
  146. data/app/assets/javascripts/ckeditor/plugins/pagebreak/images/pagebreak.gif +0 -0
  147. data/app/assets/javascripts/ckeditor/plugins/pastefromword/filter/default.js +11 -0
  148. data/app/assets/javascripts/ckeditor/plugins/pastetext/dialogs/pastetext.js +6 -0
  149. data/app/assets/javascripts/ckeditor/plugins/placeholder/dialogs/placeholder.js +6 -0
  150. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/en.js +6 -0
  151. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/he.js +6 -0
  152. data/app/assets/javascripts/ckeditor/plugins/placeholder/placeholder.gif +0 -0
  153. data/app/assets/javascripts/ckeditor/plugins/placeholder/plugin.js +6 -0
  154. data/app/assets/javascripts/ckeditor/plugins/scayt/dialogs/options.js +8 -0
  155. data/app/assets/javascripts/ckeditor/plugins/scayt/dialogs/toolbar.css +6 -0
  156. data/app/assets/javascripts/ckeditor/plugins/showblocks/images/block_address.png +0 -0
  157. data/app/assets/javascripts/ckeditor/plugins/showblocks/images/block_blockquote.png +0 -0
  158. data/app/assets/javascripts/ckeditor/plugins/showblocks/images/block_div.png +0 -0
  159. data/app/assets/javascripts/ckeditor/plugins/showblocks/images/block_h1.png +0 -0
  160. data/app/assets/javascripts/ckeditor/plugins/showblocks/images/block_h2.png +0 -0
  161. data/app/assets/javascripts/ckeditor/plugins/showblocks/images/block_h3.png +0 -0
  162. data/app/assets/javascripts/ckeditor/plugins/showblocks/images/block_h4.png +0 -0
  163. data/app/assets/javascripts/ckeditor/plugins/showblocks/images/block_h5.png +0 -0
  164. data/app/assets/javascripts/ckeditor/plugins/showblocks/images/block_h6.png +0 -0
  165. data/app/assets/javascripts/ckeditor/plugins/showblocks/images/block_p.png +0 -0
  166. data/app/assets/javascripts/ckeditor/plugins/showblocks/images/block_pre.png +0 -0
  167. data/app/assets/javascripts/ckeditor/plugins/smiley/dialogs/smiley.js +7 -0
  168. data/app/assets/javascripts/ckeditor/plugins/smiley/images/angel_smile.gif +0 -0
  169. data/app/assets/javascripts/ckeditor/plugins/smiley/images/angry_smile.gif +0 -0
  170. data/app/assets/javascripts/ckeditor/plugins/smiley/images/broken_heart.gif +0 -0
  171. data/app/assets/javascripts/ckeditor/plugins/smiley/images/confused_smile.gif +0 -0
  172. data/app/assets/javascripts/ckeditor/plugins/smiley/images/cry_smile.gif +0 -0
  173. data/app/assets/javascripts/ckeditor/plugins/smiley/images/devil_smile.gif +0 -0
  174. data/app/assets/javascripts/ckeditor/plugins/smiley/images/embaressed_smile.gif +0 -0
  175. data/app/assets/javascripts/ckeditor/plugins/smiley/images/envelope.gif +0 -0
  176. data/app/assets/javascripts/ckeditor/plugins/smiley/images/heart.gif +0 -0
  177. data/app/assets/javascripts/ckeditor/plugins/smiley/images/kiss.gif +0 -0
  178. data/app/assets/javascripts/ckeditor/plugins/smiley/images/lightbulb.gif +0 -0
  179. data/app/assets/javascripts/ckeditor/plugins/smiley/images/omg_smile.gif +0 -0
  180. data/app/assets/javascripts/ckeditor/plugins/smiley/images/regular_smile.gif +0 -0
  181. data/app/assets/javascripts/ckeditor/plugins/smiley/images/sad_smile.gif +0 -0
  182. data/app/assets/javascripts/ckeditor/plugins/smiley/images/shades_smile.gif +0 -0
  183. data/app/assets/javascripts/ckeditor/plugins/smiley/images/teeth_smile.gif +0 -0
  184. data/app/assets/javascripts/ckeditor/plugins/smiley/images/thumbs_down.gif +0 -0
  185. data/app/assets/javascripts/ckeditor/plugins/smiley/images/thumbs_up.gif +0 -0
  186. data/app/assets/javascripts/ckeditor/plugins/smiley/images/tounge_smile.gif +0 -0
  187. data/app/assets/javascripts/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  188. data/app/assets/javascripts/ckeditor/plugins/smiley/images/wink_smile.gif +0 -0
  189. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/specialchar.js +7 -0
  190. data/app/assets/javascripts/ckeditor/plugins/specialchar/lang/en.js +6 -0
  191. data/app/assets/javascripts/ckeditor/plugins/styles/styles/default.js +6 -0
  192. data/app/assets/javascripts/ckeditor/plugins/stylesheetparser/plugin.js +6 -0
  193. data/app/assets/javascripts/ckeditor/plugins/table/dialogs/table.js +9 -0
  194. data/app/assets/javascripts/ckeditor/plugins/tableresize/plugin.js +7 -0
  195. data/app/assets/javascripts/ckeditor/plugins/tabletools/dialogs/tableCell.js +8 -0
  196. data/app/assets/javascripts/ckeditor/plugins/templates/dialogs/templates.js +7 -0
  197. data/app/assets/javascripts/ckeditor/plugins/templates/templates/default.js +6 -0
  198. data/app/assets/javascripts/ckeditor/plugins/templates/templates/images/template1.gif +0 -0
  199. data/app/assets/javascripts/ckeditor/plugins/templates/templates/images/template2.gif +0 -0
  200. data/app/assets/javascripts/ckeditor/plugins/templates/templates/images/template3.gif +0 -0
  201. data/app/assets/javascripts/ckeditor/plugins/uicolor/dialogs/uicolor.js +7 -0
  202. data/app/assets/javascripts/ckeditor/plugins/uicolor/lang/en.js +6 -0
  203. data/app/assets/javascripts/ckeditor/plugins/uicolor/lang/he.js +6 -0
  204. data/app/assets/javascripts/ckeditor/plugins/uicolor/plugin.js +6 -0
  205. data/app/assets/javascripts/ckeditor/plugins/uicolor/uicolor.gif +0 -0
  206. data/app/assets/javascripts/ckeditor/plugins/uicolor/yui/assets/hue_bg.png +0 -0
  207. data/app/assets/javascripts/ckeditor/plugins/uicolor/yui/assets/hue_thumb.png +0 -0
  208. data/app/assets/javascripts/ckeditor/plugins/uicolor/yui/assets/picker_mask.png +0 -0
  209. data/app/assets/javascripts/ckeditor/plugins/uicolor/yui/assets/picker_thumb.png +0 -0
  210. data/app/assets/javascripts/ckeditor/plugins/uicolor/yui/assets/yui.css +6 -0
  211. data/app/assets/javascripts/ckeditor/plugins/uicolor/yui/yui.js +76 -0
  212. data/app/assets/javascripts/ckeditor/plugins/wsc/dialogs/ciframe.html +49 -0
  213. data/app/assets/javascripts/ckeditor/plugins/wsc/dialogs/tmpFrameset.html +52 -0
  214. data/app/assets/javascripts/ckeditor/plugins/wsc/dialogs/wsc.css +6 -0
  215. data/app/assets/javascripts/ckeditor/plugins/wsc/dialogs/wsc.js +7 -0
  216. data/app/assets/javascripts/ckeditor/plugins/xml/plugin.js +6 -0
  217. data/app/assets/javascripts/ckeditor/skins/kama/dialog.css +10 -0
  218. data/app/assets/javascripts/ckeditor/skins/kama/editor.css +13 -0
  219. data/app/assets/javascripts/ckeditor/skins/kama/icons.png +0 -0
  220. data/app/assets/javascripts/ckeditor/skins/kama/icons_rtl.png +0 -0
  221. data/app/assets/javascripts/ckeditor/skins/kama/images/dialog_sides.gif +0 -0
  222. data/app/assets/javascripts/ckeditor/skins/kama/images/dialog_sides.png +0 -0
  223. data/app/assets/javascripts/ckeditor/skins/kama/images/dialog_sides_rtl.png +0 -0
  224. data/app/assets/javascripts/ckeditor/skins/kama/images/mini.gif +0 -0
  225. data/app/assets/javascripts/ckeditor/skins/kama/images/noimage.png +0 -0
  226. data/app/assets/javascripts/ckeditor/skins/kama/images/sprites.png +0 -0
  227. data/app/assets/javascripts/ckeditor/skins/kama/images/sprites_ie6.png +0 -0
  228. data/app/assets/javascripts/ckeditor/skins/kama/images/toolbar_start.gif +0 -0
  229. data/app/assets/javascripts/ckeditor/skins/kama/skin.js +7 -0
  230. data/app/assets/javascripts/ckeditor/skins/kama/templates.css +6 -0
  231. data/app/assets/javascripts/ckeditor/skins/office2003/dialog.css +9 -0
  232. data/app/assets/javascripts/ckeditor/skins/office2003/editor.css +14 -0
  233. data/app/assets/javascripts/ckeditor/skins/office2003/icons.png +0 -0
  234. data/app/assets/javascripts/ckeditor/skins/office2003/icons_rtl.png +0 -0
  235. data/app/assets/javascripts/ckeditor/skins/office2003/images/dialog_sides.gif +0 -0
  236. data/app/assets/javascripts/ckeditor/skins/office2003/images/dialog_sides.png +0 -0
  237. data/app/assets/javascripts/ckeditor/skins/office2003/images/dialog_sides_rtl.png +0 -0
  238. data/app/assets/javascripts/ckeditor/skins/office2003/images/mini.gif +0 -0
  239. data/app/assets/javascripts/ckeditor/skins/office2003/images/noimage.png +0 -0
  240. data/app/assets/javascripts/ckeditor/skins/office2003/images/sprites.png +0 -0
  241. data/app/assets/javascripts/ckeditor/skins/office2003/images/sprites_ie6.png +0 -0
  242. data/app/assets/javascripts/ckeditor/skins/office2003/skin.js +6 -0
  243. data/app/assets/javascripts/ckeditor/skins/office2003/templates.css +6 -0
  244. data/app/assets/javascripts/ckeditor/skins/v2/dialog.css +9 -0
  245. data/app/assets/javascripts/ckeditor/skins/v2/editor.css +13 -0
  246. data/app/assets/javascripts/ckeditor/skins/v2/icons.png +0 -0
  247. data/app/assets/javascripts/ckeditor/skins/v2/icons_rtl.png +0 -0
  248. data/app/assets/javascripts/ckeditor/skins/v2/images/dialog_sides.gif +0 -0
  249. data/app/assets/javascripts/ckeditor/skins/v2/images/dialog_sides.png +0 -0
  250. data/app/assets/javascripts/ckeditor/skins/v2/images/dialog_sides_rtl.png +0 -0
  251. data/app/assets/javascripts/ckeditor/skins/v2/images/mini.gif +0 -0
  252. data/app/assets/javascripts/ckeditor/skins/v2/images/noimage.png +0 -0
  253. data/app/assets/javascripts/ckeditor/skins/v2/images/sprites.png +0 -0
  254. data/app/assets/javascripts/ckeditor/skins/v2/images/sprites_ie6.png +0 -0
  255. data/app/assets/javascripts/ckeditor/skins/v2/images/toolbar_start.gif +0 -0
  256. data/app/assets/javascripts/ckeditor/skins/v2/skin.js +6 -0
  257. data/app/assets/javascripts/ckeditor/skins/v2/templates.css +6 -0
  258. data/app/assets/javascripts/ckeditor/themes/default/theme.js +8 -0
  259. data/app/assets/javascripts/documents.js +2 -0
  260. data/app/assets/javascripts/qwerty_admin/documents.js +2 -0
  261. data/app/assets/javascripts/qwerty_admin/nodes.js +2 -0
  262. data/app/assets/stylesheets/application.css +6 -0
  263. data/app/assets/stylesheets/qwerty_admin/base.css +5 -0
  264. data/app/assets/stylesheets/qwerty_admin/documents.css +0 -0
  265. data/app/assets/stylesheets/qwerty_admin/nodes.css +4 -0
  266. data/app/controllers/documents_controller.rb +50 -0
  267. data/app/controllers/qwerty_admin/base_controller.rb +8 -0
  268. data/app/controllers/qwerty_admin/documents_controller.rb +35 -0
  269. data/app/controllers/qwerty_admin/nodes_controller.rb +34 -0
  270. data/app/controllers/qwerty_base_controller.rb +6 -0
  271. data/app/helpers/documents_helper.rb +11 -0
  272. data/app/helpers/qwerty_admin/base_helper.rb +2 -0
  273. data/app/helpers/qwerty_admin/documents_helper.rb +2 -0
  274. data/app/helpers/qwerty_admin/nodes_helper.rb +2 -0
  275. data/app/helpers/qwerty_base_helper.rb +2 -0
  276. data/app/models/ckeditor/asset.rb +4 -0
  277. data/app/models/ckeditor/attachment_file.rb +15 -0
  278. data/app/models/ckeditor/picture.rb +13 -0
  279. data/app/models/document.rb +50 -0
  280. data/app/models/node/sugar.rb +30 -0
  281. data/app/models/node.rb +71 -0
  282. data/app/models/node_setting.rb +48 -0
  283. data/app/models/sitemap.rb +36 -0
  284. data/app/views/cms/show.html.erb +32 -0
  285. data/app/views/layouts/application.html.erb +72 -0
  286. data/app/views/layouts/qwerty_admin.html.erb +51 -0
  287. data/app/views/qwerty_admin/documents/_document.html.erb +45 -0
  288. data/app/views/qwerty_admin/documents/_form.html.erb +42 -0
  289. data/app/views/qwerty_admin/documents/edit.html.erb +5 -0
  290. data/app/views/qwerty_admin/documents/index.html.erb +34 -0
  291. data/app/views/qwerty_admin/documents/new.html.erb +5 -0
  292. data/app/views/qwerty_admin/documents/show.html.erb +35 -0
  293. data/app/views/qwerty_admin/nodes/_form.html.erb +28 -0
  294. data/app/views/qwerty_admin/nodes/_node.html.erb +15 -0
  295. data/app/views/qwerty_admin/nodes/edit.html.erb +5 -0
  296. data/app/views/qwerty_admin/nodes/index.html.erb +10 -0
  297. data/app/views/qwerty_admin/nodes/new.html.erb +5 -0
  298. data/config/environment.rb +0 -0
  299. data/config/initializers/ckeditor.rb +18 -0
  300. data/config/initializers/dragonfly.rb +1 -0
  301. data/config/initializers/simple_form.rb +15 -0
  302. data/config/routes.rb +26 -0
  303. data/db/migrate/20110909144240_create_nodes.rb +13 -0
  304. data/db/migrate/20110909144300_create_documents.rb +16 -0
  305. data/db/migrate/20110909144805_create_node_settings.rb +14 -0
  306. data/db/migrate/20110915174533_node_setting_typecasting.rb +9 -0
  307. data/db/migrate/20110915190140_node_ancestry.rb +9 -0
  308. data/db/migrate/20110919130646_document_extra_fields.rb +17 -0
  309. data/db/migrate/20110919175405_document_meta_fields.rb +15 -0
  310. data/db/migrate/20110919190859_create_ckeditor_assets.rb +26 -0
  311. data/db/migrate/20110922113655_document_image_alt.rb +9 -0
  312. data/db/migrate/20110922185424_document_template.rb +9 -0
  313. data/db/seed.rb +2 -0
  314. data/lib/qwerty/allow_auth.rb +7 -0
  315. data/lib/qwerty/deny_auth.rb +7 -0
  316. data/lib/qwerty/engine.rb +5 -0
  317. data/lib/qwerty/lipsum.rb +35 -0
  318. data/lib/qwerty/version.rb +3 -0
  319. data/lib/qwerty.rb +28 -0
  320. data/lib/tasks/qwerty_tasks.rake +5 -0
  321. data/test/dummy/Rakefile +7 -0
  322. data/test/dummy/app/controllers/application_controller.rb +3 -0
  323. data/test/dummy/app/helpers/application_helper.rb +2 -0
  324. data/test/dummy/config/application.rb +45 -0
  325. data/test/dummy/config/boot.rb +10 -0
  326. data/test/dummy/config/database.yml +24 -0
  327. data/test/dummy/config/environment.rb +5 -0
  328. data/test/dummy/config/environments/development.rb +30 -0
  329. data/test/dummy/config/environments/production.rb +60 -0
  330. data/test/dummy/config/environments/test.rb +42 -0
  331. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  332. data/test/dummy/config/initializers/inflections.rb +10 -0
  333. data/test/dummy/config/initializers/mime_types.rb +5 -0
  334. data/test/dummy/config/initializers/secret_token.rb +7 -0
  335. data/test/dummy/config/initializers/session_store.rb +8 -0
  336. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  337. data/test/dummy/config/locales/en.yml +5 -0
  338. data/test/dummy/config/routes.rb +58 -0
  339. data/test/dummy/config/sitemap.rb +51 -0
  340. data/test/dummy/config.ru +4 -0
  341. data/test/dummy/db/development.sqlite3 +0 -0
  342. data/test/dummy/db/schema.rb +80 -0
  343. data/test/dummy/log/development.log +66134 -0
  344. data/test/dummy/public/404.html +26 -0
  345. data/test/dummy/public/422.html +26 -0
  346. data/test/dummy/public/500.html +26 -0
  347. data/test/dummy/public/ckeditor_assets/attachments/2/p1010062.jpg +0 -0
  348. data/test/dummy/public/ckeditor_assets/pictures/1/content_member_9440972.jpeg +0 -0
  349. data/test/dummy/public/ckeditor_assets/pictures/1/original_member_9440972.jpeg +0 -0
  350. data/test/dummy/public/ckeditor_assets/pictures/1/thumb_member_9440972.jpeg +0 -0
  351. data/test/dummy/public/ckeditor_assets/pictures/3/content_p1010062.jpg +0 -0
  352. data/test/dummy/public/ckeditor_assets/pictures/3/original_p1010062.jpg +0 -0
  353. data/test/dummy/public/ckeditor_assets/pictures/3/thumb_p1010062.jpg +0 -0
  354. data/test/dummy/public/favicon.ico +0 -0
  355. data/test/dummy/script/rails +6 -0
  356. data/test/dummy/tmp/cache/assets/BDE/4D0/sprockets%2F311d16556d4f920021d040093c966028 +0 -0
  357. data/test/dummy/tmp/cache/assets/BEE/610/sprockets%2F9ca401c4946787b484734547031c5103 +0 -0
  358. data/test/dummy/tmp/cache/assets/C0C/410/sprockets%2F0458549c378353630d8464656e676ef6 +0 -0
  359. data/test/dummy/tmp/cache/assets/C10/0E0/sprockets%2F9e54dc493752b111413337f23033360d +0 -0
  360. data/test/dummy/tmp/cache/assets/C21/EC0/sprockets%2F1398d076e5760f608e00361c7b937033 +0 -0
  361. data/test/dummy/tmp/cache/assets/C4C/A20/sprockets%2F68214d7c6d2710159b107718743d1e4d +0 -0
  362. data/test/dummy/tmp/cache/assets/C56/370/sprockets%2F44e516819a1265e09ce775c124f31739 +0 -0
  363. data/test/dummy/tmp/cache/assets/C59/B40/sprockets%2Fc84747db707d581e4263412b7a395790 +0 -0
  364. data/test/dummy/tmp/cache/assets/C67/810/sprockets%2F922fd3026b350641aa1538f652b3f120 +0 -0
  365. data/test/dummy/tmp/cache/assets/C6B/670/sprockets%2F0183084bcf7e5125202ba334159382cc +0 -0
  366. data/test/dummy/tmp/cache/assets/C75/A20/sprockets%2Fb494025290020aeb38c56e8f17b44147 +0 -0
  367. data/test/dummy/tmp/cache/assets/C7A/010/sprockets%2F286345c22bee252f4c144a43977c9113 +0 -0
  368. data/test/dummy/tmp/cache/assets/C7E/380/sprockets%2F67e35841692a097ec02be71a162138f4 +0 -0
  369. data/test/dummy/tmp/cache/assets/C7F/A80/sprockets%2F88ff149f8505a00960e9c215d80035d0 +0 -0
  370. data/test/dummy/tmp/cache/assets/C84/110/sprockets%2F607cb3bb8d12865a79940464a048f239 +0 -0
  371. data/test/dummy/tmp/cache/assets/C87/400/sprockets%2F330b0ed89724739f6e40e29f53005d76 +0 -0
  372. data/test/dummy/tmp/cache/assets/C88/040/sprockets%2F9c83928a34bc422081c784992ef131f4 +0 -0
  373. data/test/dummy/tmp/cache/assets/C89/2F0/sprockets%2F94dba97434f3147a95c57f118058a940 +0 -0
  374. data/test/dummy/tmp/cache/assets/C8A/A70/sprockets%2F1cac4566e97f982516545e402607ae83 +0 -0
  375. data/test/dummy/tmp/cache/assets/C8B/580/sprockets%2F68543590e73c9934289a122dd65c36bb +0 -0
  376. data/test/dummy/tmp/cache/assets/C8D/400/sprockets%2Fc30656a43a37db4d10fb450243b06312 +0 -0
  377. data/test/dummy/tmp/cache/assets/C9C/CE0/sprockets%2F7461b7410d4ec3105d71f4e42b50308d +0 -0
  378. data/test/dummy/tmp/cache/assets/C9E/BA0/sprockets%2F8d90fe613410226318bb7b050ae25a76 +0 -0
  379. data/test/dummy/tmp/cache/assets/CA8/AA0/sprockets%2F439a2b1b28b105e731fd58712e256f45 +0 -0
  380. data/test/dummy/tmp/cache/assets/CAB/AE0/sprockets%2F028fb517982c7010d201fcd88934c5a5 +0 -0
  381. data/test/dummy/tmp/cache/assets/CAC/580/sprockets%2F35e06ad8c8087d002c808a608933f41d +0 -0
  382. data/test/dummy/tmp/cache/assets/CAE/310/sprockets%2F014ed726e92570c181a618db4b039c98 +0 -0
  383. data/test/dummy/tmp/cache/assets/CB0/6A0/sprockets%2F9c579b207d73833720c2a096ae025e9c +0 -0
  384. data/test/dummy/tmp/cache/assets/CB8/680/sprockets%2F5abaa5243061a513d5a0456b1f108d04 +0 -0
  385. data/test/dummy/tmp/cache/assets/CBE/420/sprockets%2F169ec906f26ff645078942ee431b168a +0 -0
  386. data/test/dummy/tmp/cache/assets/CBE/D60/sprockets%2F001ccd7449d98279b377b8d168e1274e +0 -0
  387. data/test/dummy/tmp/cache/assets/CC9/8D0/sprockets%2F1917e845e733759a8e3635c4ea3b97e8 +0 -0
  388. data/test/dummy/tmp/cache/assets/CCD/AA0/sprockets%2F9764a41d0730101411d9bda28ddb4a59 +0 -0
  389. data/test/dummy/tmp/cache/assets/CD1/DE0/sprockets%2F866e64f9268a26b808f585d9794aa81d +0 -0
  390. data/test/dummy/tmp/cache/assets/CD2/6E0/sprockets%2F49709b8010a17ad8ce04a3683ac6306d +0 -0
  391. data/test/dummy/tmp/cache/assets/CD3/740/sprockets%2F2c7745404c11f4e2b8e8591043a8bad0 +0 -0
  392. data/test/dummy/tmp/cache/assets/CD5/0F0/sprockets%2F38203a3abdd568f50ff08426315e80a5 +0 -0
  393. data/test/dummy/tmp/cache/assets/CD5/240/sprockets%2F8d783b81ac804a06d2171a75d2b4653c +0 -0
  394. data/test/dummy/tmp/cache/assets/CD5/610/sprockets%2Fb27392311c7db818d8c1fa08e30055c6 +0 -0
  395. data/test/dummy/tmp/cache/assets/CD6/C20/sprockets%2Fb8340ca5274524b0057417fe4d6f51cf +0 -0
  396. data/test/dummy/tmp/cache/assets/CD7/DE0/sprockets%2F4720f20e2b75f217ee197e7c50211b7e +0 -0
  397. data/test/dummy/tmp/cache/assets/CDF/3E0/sprockets%2F2fc85a2f075e63902a10640d968f5e2d +0 -0
  398. data/test/dummy/tmp/cache/assets/CE0/540/sprockets%2Fc355333ce37ace3a93e33b777c508608 +0 -0
  399. data/test/dummy/tmp/cache/assets/CE4/500/sprockets%2F16f65934b8aba4865072d41b267f3df5 +0 -0
  400. data/test/dummy/tmp/cache/assets/CE4/F80/sprockets%2Fc20b73a65ec677bf944467e29e01815a +0 -0
  401. data/test/dummy/tmp/cache/assets/CE6/670/sprockets%2F552338bdd216cf38c296665da29b6c72 +0 -0
  402. data/test/dummy/tmp/cache/assets/CE7/250/sprockets%2F365ffc773f538508666e32f201adb7a6 +0 -0
  403. data/test/dummy/tmp/cache/assets/CE9/E20/sprockets%2Fa60330f52bfa7476d7e79890c83e0e09 +0 -0
  404. data/test/dummy/tmp/cache/assets/CEB/B50/sprockets%2F25de688e596bf489043eaa01e949323a +0 -0
  405. data/test/dummy/tmp/cache/assets/CEC/760/sprockets%2F7e948c4f7d40843f90fb9cc1a1582057 +0 -0
  406. data/test/dummy/tmp/cache/assets/CF5/D10/sprockets%2Fed4f070a60c671b413546930a0bb2ce3 +0 -0
  407. data/test/dummy/tmp/cache/assets/CF7/360/sprockets%2F0d709f9c69de297f27b94c9f122d6831 +0 -0
  408. data/test/dummy/tmp/cache/assets/CFA/BC0/sprockets%2F5d2090a6bfa80d525522e8301c152edd +0 -0
  409. data/test/dummy/tmp/cache/assets/CFE/7B0/sprockets%2F62ee8b041b2d600cd601774e02ec53d8 +0 -0
  410. data/test/dummy/tmp/cache/assets/CFF/930/sprockets%2F09983bf571e99e8eff86325de42b1675 +0 -0
  411. data/test/dummy/tmp/cache/assets/D01/040/sprockets%2Fea215190e12741a67f81ae56c1dea337 +0 -0
  412. data/test/dummy/tmp/cache/assets/D03/F30/sprockets%2F41234b771cd781f506a2a0cf86ba08e5 +0 -0
  413. data/test/dummy/tmp/cache/assets/D05/A20/sprockets%2F8ea654085dec00b630f25102f89a1c7e +0 -0
  414. data/test/dummy/tmp/cache/assets/D0D/420/sprockets%2F36e003dc889f6f3f1242c6e9d1d0317a +0 -0
  415. data/test/dummy/tmp/cache/assets/D0D/660/sprockets%2Fb92af6b373409b8a2ac47cb29766f222 +0 -0
  416. data/test/dummy/tmp/cache/assets/D0D/FA0/sprockets%2Ffbd47d3b5405c8861169b5520fbc083e +0 -0
  417. data/test/dummy/tmp/cache/assets/D11/150/sprockets%2F2720b8f492d06b6d6b1724bc9cd941c9 +0 -0
  418. data/test/dummy/tmp/cache/assets/D11/1B0/sprockets%2Fb99c3678b42e004148d0868cedbe026c +0 -0
  419. data/test/dummy/tmp/cache/assets/D11/ED0/sprockets%2Ff7a8ed05241fef8b135024d51b94945e +0 -0
  420. data/test/dummy/tmp/cache/assets/D12/4F0/sprockets%2F7a26fb379fadbc24f94c345b30535287 +0 -0
  421. data/test/dummy/tmp/cache/assets/D15/8A0/sprockets%2F9b1ffb38905305577fcd88fc00c802b6 +0 -0
  422. data/test/dummy/tmp/cache/assets/D16/B10/sprockets%2Ff7f68a65b09f33f4561a4a3950eb32e8 +0 -0
  423. data/test/dummy/tmp/cache/assets/D17/130/sprockets%2F21b812e14954cfecf0cc7c64863b8829 +0 -0
  424. data/test/dummy/tmp/cache/assets/D18/010/sprockets%2F9a67ed918a54c52374df7097405cb4bc +0 -0
  425. data/test/dummy/tmp/cache/assets/D18/440/sprockets%2F45b53a8779090b1fea7e934296f7bc1a +0 -0
  426. data/test/dummy/tmp/cache/assets/D18/EB0/sprockets%2F9d5f5d6c6950d28b4df7c625190811da +0 -0
  427. data/test/dummy/tmp/cache/assets/D1B/BE0/sprockets%2Fab5f94041a5bd95b912e8839d86b736b +0 -0
  428. data/test/dummy/tmp/cache/assets/D1C/560/sprockets%2F00201c441ba9a9563b174185caa0bdea +0 -0
  429. data/test/dummy/tmp/cache/assets/D1C/DB0/sprockets%2Ffd38d829bdf04f189d1d55ec69209340 +0 -0
  430. data/test/dummy/tmp/cache/assets/D1D/2A0/sprockets%2Fe168814999aedd80caf58d82323a0f74 +0 -0
  431. data/test/dummy/tmp/cache/assets/D1D/A70/sprockets%2Ffd060d6fea64355d7e8438565a90ab79 +0 -0
  432. data/test/dummy/tmp/cache/assets/D1E/6D0/sprockets%2F4c9abb81479c230cdc309966f9cc9834 +0 -0
  433. data/test/dummy/tmp/cache/assets/D21/6C0/sprockets%2F634a6cf1fd591b98c81ca4f66b652994 +0 -0
  434. data/test/dummy/tmp/cache/assets/D24/150/sprockets%2Fd58600176d5cb1eeb26024be20a40c7b +0 -0
  435. data/test/dummy/tmp/cache/assets/D26/840/sprockets%2Fc76bba255c7bd803b4e027313e6ad021 +0 -0
  436. data/test/dummy/tmp/cache/assets/D2C/830/sprockets%2F9cc457340b3a52c2fe7a0c75b01a27a8 +0 -0
  437. data/test/dummy/tmp/cache/assets/D2C/EE0/sprockets%2F562208e38f8ac1f9762cc94f4ef89c66 +0 -0
  438. data/test/dummy/tmp/cache/assets/D2E/160/sprockets%2F1dae7e48d3c1c24b3ac21e6930a51755 +0 -0
  439. data/test/dummy/tmp/cache/assets/D2F/890/sprockets%2Ff7505e99736cf7d6bd254b28b8974d7e +0 -0
  440. data/test/dummy/tmp/cache/assets/D30/D90/sprockets%2Fb8f58f84f7f906a29cf39760854c1ec8 +0 -0
  441. data/test/dummy/tmp/cache/assets/D32/6E0/sprockets%2Fe0bcc2425fab37d22290d720d8ef8415 +0 -0
  442. data/test/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705 +0 -0
  443. data/test/dummy/tmp/cache/assets/D33/4C0/sprockets%2Fcb9a7d05043e30311d5f3e7fb81194eb +0 -0
  444. data/test/dummy/tmp/cache/assets/D33/EB0/sprockets%2F1446b0b73eb60c1bfb78f4360513ddf6 +0 -0
  445. data/test/dummy/tmp/cache/assets/D35/800/sprockets%2F6eb4a3dacdd7542329494a7403cf4c04 +0 -0
  446. data/test/dummy/tmp/cache/assets/D35/950/sprockets%2F4c67cda11e05b84b2fff1271368b810f +0 -0
  447. data/test/dummy/tmp/cache/assets/D36/280/sprockets%2F6bd1f83e30273b110d8ac69038f1e7fa +0 -0
  448. data/test/dummy/tmp/cache/assets/D36/2E0/sprockets%2F41224a1b9e52c2b3d964f0a8dc6e09a8 +0 -0
  449. data/test/dummy/tmp/cache/assets/D37/EF0/sprockets%2F80b76c20dee353677b8da0ae803f33e1 +0 -0
  450. data/test/dummy/tmp/cache/assets/D38/9D0/sprockets%2F87b12063ea5fc0a254088ce1c892c7db +0 -0
  451. data/test/dummy/tmp/cache/assets/D39/5A0/sprockets%2Ff5d437ae42ef7df4b02d603f3692a413 +0 -0
  452. data/test/dummy/tmp/cache/assets/D3B/870/sprockets%2Fbc3648fb40b4085ee6b5afd479c22342 +0 -0
  453. data/test/dummy/tmp/cache/assets/D3C/8B0/sprockets%2F16408de6b85cc18b54edca73276dc143 +0 -0
  454. data/test/dummy/tmp/cache/assets/D3C/C60/sprockets%2F9ad34c607b32e90c43d3e7aebb576571 +0 -0
  455. data/test/dummy/tmp/cache/assets/D3F/030/sprockets%2Fd440c4b05ed0e12af58669f0c46c579d +0 -0
  456. data/test/dummy/tmp/cache/assets/D41/7F0/sprockets%2Fb236a9f4da15f7e9309e61d64c4e0f06 +0 -0
  457. data/test/dummy/tmp/cache/assets/D43/570/sprockets%2Fb490975b508fa73db3c0df9210fa39f8 +0 -0
  458. data/test/dummy/tmp/cache/assets/D45/3A0/sprockets%2Fd3a8b586f381ac437c3673d2ab0fe886 +0 -0
  459. data/test/dummy/tmp/cache/assets/D47/4A0/sprockets%2Fc9e62f7d0fb7f20004a8f08ed9d65725 +0 -0
  460. data/test/dummy/tmp/cache/assets/D49/810/sprockets%2F58e93e8065b1d7ebb281e2651962fbfc +0 -0
  461. data/test/dummy/tmp/cache/assets/D49/ED0/sprockets%2Ff4d29a55977c0e5ae3484ea6c2ad4657 +0 -0
  462. data/test/dummy/tmp/cache/assets/D4B/D40/sprockets%2F5fae926de30c648264e4c5fb9d09492b +0 -0
  463. data/test/dummy/tmp/cache/assets/D50/900/sprockets%2F6c8e56f2d88ee948dbd9b5365124b1b4 +0 -0
  464. data/test/dummy/tmp/cache/assets/D50/B10/sprockets%2F9758a22f2df38dae88c25246d1fd6f73 +0 -0
  465. data/test/dummy/tmp/cache/assets/D50/EC0/sprockets%2Fb6190193bb523598adba6894899fecea +0 -0
  466. data/test/dummy/tmp/cache/assets/D52/0D0/sprockets%2F1e9871b6efe36e72795998502daab0fd +0 -0
  467. data/test/dummy/tmp/cache/assets/D53/4A0/sprockets%2F4d4e07b2c68be65d62efc4728f478e38 +0 -0
  468. data/test/dummy/tmp/cache/assets/D54/3F0/sprockets%2F1ddc697da6d01003513c3eddb2230b6f +0 -0
  469. data/test/dummy/tmp/cache/assets/D54/ED0/sprockets%2F71c9fa01091d432b131da3bb73faf3d4 +0 -0
  470. data/test/dummy/tmp/cache/assets/D56/7F0/sprockets%2F82c200adea1fd64ca48b7280c1c5172b +0 -0
  471. data/test/dummy/tmp/cache/assets/D58/BB0/sprockets%2F3962e2936f79b20e77cf14ed8cf8ff51 +0 -0
  472. data/test/dummy/tmp/cache/assets/D59/520/sprockets%2F83d4ec4e5f2ac1c2b0b7353d50320f5c +0 -0
  473. data/test/dummy/tmp/cache/assets/D5A/AB0/sprockets%2F372189f24bd2fa7c98e9b87b9fa178a8 +0 -0
  474. data/test/dummy/tmp/cache/assets/D5B/D20/sprockets%2F1910a944e3a4b4aab20f1f7ddb36527d +0 -0
  475. data/test/dummy/tmp/cache/assets/D5C/0B0/sprockets%2F67f5b0fa70009fce3a2ab0ec47d43730 +0 -0
  476. data/test/dummy/tmp/cache/assets/D5C/660/sprockets%2Fc8ce9c92534d5b688cb78873ab3f7f28 +0 -0
  477. data/test/dummy/tmp/cache/assets/D5C/E70/sprockets%2Fbe7fe4a67e5cb7897818836d4506efc4 +0 -0
  478. data/test/dummy/tmp/cache/assets/D5F/E50/sprockets%2Fe0c1efda752b0a4bf1a9d96234b22943 +0 -0
  479. data/test/dummy/tmp/cache/assets/D63/D60/sprockets%2F5be58d292d69530da023d07ede4aa33c +0 -0
  480. data/test/dummy/tmp/cache/assets/D6A/AE0/sprockets%2F53d6cfe0033a01e79e8b0edff282d382 +0 -0
  481. data/test/dummy/tmp/cache/assets/D6C/DE0/sprockets%2F0f44fde84ce5e309312bc6c4ff10728c +0 -0
  482. data/test/dummy/tmp/cache/assets/D6D/6D0/sprockets%2F580810d4c6e48f4ea8aa92ba9aaa3828 +0 -0
  483. data/test/dummy/tmp/cache/assets/D75/730/sprockets%2F9552cd68a860be264158d61eedaa66bf +0 -0
  484. data/test/dummy/tmp/cache/assets/D75/890/sprockets%2F0b391ab1d7496516ec38b8ff4f8d33be +0 -0
  485. data/test/dummy/tmp/cache/assets/D76/1D0/sprockets%2F81ee83473f2dc8f215bc19b2de37e3b9 +0 -0
  486. data/test/dummy/tmp/cache/assets/D77/CC0/sprockets%2F2f3c6a31d7e596f39e74751cccbf21f5 +0 -0
  487. data/test/dummy/tmp/cache/assets/D78/FC0/sprockets%2Feea9f4eb87db37fc1f4852b91302817d +0 -0
  488. data/test/dummy/tmp/cache/assets/D84/210/sprockets%2Fabd0103ccec2b428ac62c94e4c40b384 +0 -0
  489. data/test/dummy/tmp/cache/assets/D84/740/sprockets%2F91d64ad24d49c65bb8fd59fb5776d70f +0 -0
  490. data/test/dummy/tmp/cache/assets/D87/900/sprockets%2Ffe2af6a88486755788ef36046fadba5e +0 -0
  491. data/test/dummy/tmp/cache/assets/D89/700/sprockets%2F99213cf7c36ff7c75dfeb875f1d0588b +0 -0
  492. data/test/dummy/tmp/cache/assets/D8B/710/sprockets%2F18688d5b9ad2e9ee3c99f1fd7f03c872 +0 -0
  493. data/test/dummy/tmp/cache/assets/D8E/1E0/sprockets%2Fbf3d1fe102ec44134f5cd4427bd3e8b1 +0 -0
  494. data/test/dummy/tmp/cache/assets/D92/8E0/sprockets%2Fb0e2b0c077a83b9f21c59bde03d44ef4 +0 -0
  495. data/test/dummy/tmp/cache/assets/D92/F60/sprockets%2Fbc58389eadd867e5b57b89c92bc8963e +0 -0
  496. data/test/dummy/tmp/cache/assets/D96/DE0/sprockets%2F51c47cc6ec633ad52c52e57182fdecb0 +0 -0
  497. data/test/dummy/tmp/cache/assets/D9A/CB0/sprockets%2F91ab4aaa9e772164ba8a744c65ecab76 +0 -0
  498. data/test/dummy/tmp/cache/assets/D9C/410/sprockets%2F8b2d367c1b8dc92c17bcac7c36af1971 +0 -0
  499. data/test/dummy/tmp/cache/assets/D9C/D80/sprockets%2F8b11a8fd930b5eadd58b9e2dc2523f17 +0 -0
  500. data/test/dummy/tmp/cache/assets/D9F/1F0/sprockets%2F1da9f517db0b6b474c57f7c74c5d2ab7 +0 -0
  501. data/test/dummy/tmp/cache/assets/DA0/630/sprockets%2Ff59a4ccd0896af3cec2179f0b2817cc2 +0 -0
  502. data/test/dummy/tmp/cache/assets/DA0/A90/sprockets%2F38ccaad5b5ca95079568aaabf9157b72 +0 -0
  503. data/test/dummy/tmp/cache/assets/DA0/BF0/sprockets%2Fba8192bb45ac9f5668ed47dfdc1d2512 +0 -0
  504. data/test/dummy/tmp/cache/assets/DA0/F80/sprockets%2F2855b4dfd7f7154ae74ac4ed85bb433a +0 -0
  505. data/test/dummy/tmp/cache/assets/DA2/CC0/sprockets%2F9cc592e1e03a480f97b7f36e2be70cdb +0 -0
  506. data/test/dummy/tmp/cache/assets/DA3/450/sprockets%2Fadbd33c8699d2fd56903b1cf66de207b +0 -0
  507. data/test/dummy/tmp/cache/assets/DA3/C00/sprockets%2Fd8bf48f3482c1f1917b6e007ffb8cc0d +0 -0
  508. data/test/dummy/tmp/cache/assets/DA4/C00/sprockets%2Ff792a72a4b0cfcb23a49927e298fb5cd +0 -0
  509. data/test/dummy/tmp/cache/assets/DA5/660/sprockets%2F4fc47a92c03dfa1768fda7b8e4ef2822 +0 -0
  510. data/test/dummy/tmp/cache/assets/DAB/720/sprockets%2Ffde1e8b346c4513c94e7d94fbd8c67b0 +0 -0
  511. data/test/dummy/tmp/cache/assets/DAC/ED0/sprockets%2Fe5426f71dffe4762c8faad05f890c65c +0 -0
  512. data/test/dummy/tmp/cache/assets/DB2/130/sprockets%2F646dea1c956d67dbfed9c8656f2670bb +0 -0
  513. data/test/dummy/tmp/cache/assets/DB2/3A0/sprockets%2F1d88ecba6d031d6ee29ffb5ef9874906 +0 -0
  514. data/test/dummy/tmp/cache/assets/DB2/900/sprockets%2F2f0372a25fdede516d5a2afbd4b3c100 +0 -0
  515. data/test/dummy/tmp/cache/assets/DB5/D30/sprockets%2Fa14a0cc51baa7132ab9c8f0b99a912cd +0 -0
  516. data/test/dummy/tmp/cache/assets/DB6/260/sprockets%2F472beffc68fb9e59623f21f91edfc546 +0 -0
  517. data/test/dummy/tmp/cache/assets/DB7/4C0/sprockets%2F0e9f81e64a27e86fbb7969f2a4ff4cb7 +0 -0
  518. data/test/dummy/tmp/cache/assets/DC2/D00/sprockets%2F1e633d7de336bd8bf5fea00e101d61fe +0 -0
  519. data/test/dummy/tmp/cache/assets/DC5/BF0/sprockets%2Fc0de69af1ee5606ceaf01dc6c46c1850 +0 -0
  520. data/test/dummy/tmp/cache/assets/DC7/7F0/sprockets%2Fd07dad14b06b063b7288e9bf68eb1dbb +0 -0
  521. data/test/dummy/tmp/cache/assets/DCE/2F0/sprockets%2F79d9c914093bfa09fd0d312f1cfdccf2 +0 -0
  522. data/test/dummy/tmp/cache/assets/DCF/6B0/sprockets%2F7a7ee808b774fa10dbacb6dbf79404e3 +0 -0
  523. data/test/dummy/tmp/cache/assets/DD1/B20/sprockets%2F53b5cdebe10ee9593ac070ee36f8f1d7 +0 -0
  524. data/test/dummy/tmp/cache/assets/DD2/1E0/sprockets%2F8db8160d9519ffa45c4cfa60cce87cb1 +0 -0
  525. data/test/dummy/tmp/cache/assets/DD4/710/sprockets%2F5496d239a661dcfcbac8f1ea993f3a0f +0 -0
  526. data/test/dummy/tmp/cache/assets/DD4/E40/sprockets%2Fec35368ec5e2dcbb814891bfbf94b51d +0 -0
  527. data/test/dummy/tmp/cache/assets/DD5/110/sprockets%2Fffc56a910d1cfefb2872c1379f91ac5f +0 -0
  528. data/test/dummy/tmp/cache/assets/DD6/260/sprockets%2F9eb469e2ec6d1ea639be1a5dfd3990b2 +0 -0
  529. data/test/dummy/tmp/cache/assets/DDD/710/sprockets%2F3cccf767b189d7e7f1e13f13790cdfed +0 -0
  530. data/test/dummy/tmp/cache/assets/DE0/490/sprockets%2Ff0fc479a83e9539db2d65edaf96df32a +0 -0
  531. data/test/dummy/tmp/cache/assets/DEB/0E0/sprockets%2F0ca4738d4bc33f23fcac201d38cbbfc8 +0 -0
  532. data/test/dummy/tmp/cache/assets/DEB/170/sprockets%2Fdea4e31c9262d2b70ebe32d6d0f22ecb +0 -0
  533. data/test/dummy/tmp/cache/assets/DED/9E0/sprockets%2Fdaccdeeaa07426dea5dde08b57512234 +0 -0
  534. data/test/dummy/tmp/cache/assets/DF1/4E0/sprockets%2Ff862c60d998967cc9eec5ababb69e98d +0 -0
  535. data/test/dummy/tmp/cache/assets/DF8/430/sprockets%2Fc2b9a5d3ce6c2dbfc0e2719bed22477d +0 -0
  536. data/test/dummy/tmp/cache/assets/DFC/880/sprockets%2Faeb6bac75bb3a8ff2aa5dd29007778c8 +0 -0
  537. data/test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af +0 -0
  538. data/test/dummy/tmp/cache/assets/E09/DF0/sprockets%2F36ef9cfea609a926571ddc3f7b06fcaf +0 -0
  539. data/test/dummy/tmp/cache/assets/E1B/750/sprockets%2Fda4a4b2cd44e31ee2cc3f9ec1fb1940b +0 -0
  540. data/test/dummy/tmp/cache/assets/E25/100/sprockets%2Faabf8c2cfd993050bdbeee5350c59b2b +0 -0
  541. data/test/dummy/tmp/cache/assets/E29/DA0/sprockets%2F085e2ef3fa66a0811b9ebc56d3beeceb +0 -0
  542. data/test/dummy/tmp/cache/assets/E35/A00/sprockets%2F3b6df3346f6fc5b9bbea28eae84fbe52 +0 -0
  543. data/test/dummy/tmp/cache/assets/E38/BA0/sprockets%2F0766d39ddcac557ed7bb1cfc6db69ef2 +0 -0
  544. data/test/dummy/tmp/cache/assets/E3B/980/sprockets%2Fd5a26ef3fd0755e8bbac9fe05fe7e4d7 +0 -0
  545. data/test/dummy/tmp/cache/assets/E3C/B30/sprockets%2Fcd4f66618ff5feb98ac3ce0bb26da9c9 +0 -0
  546. data/test/dummy/tmp/cache/assets/E53/590/sprockets%2Fcbefebb7e0390fbb1116a666cdeffa07 +0 -0
  547. data/test/dummy/tmp/cache/assets/E82/EB0/sprockets%2Fae4e8fc2dcd3a15f5b0a0ed945abd5ee +0 -0
  548. data/test/dummy/tmp/cache/assets/E8A/760/sprockets%2Ff70dde2a9e5ce6faaf045b9ae1c37dcc +0 -0
  549. data/test/dummy/tmp/cache/assets/E8C/070/sprockets%2F0cf1e93bfbd1c7afde52ffd72e0b66de +0 -0
  550. data/test/dummy/tmp/dragonfly/cache/body/03/eb3b0b849bb3e4bfeccacb05a55c6390cda15c +42 -0
  551. data/test/dummy/tmp/dragonfly/cache/body/07/8165f0f6b32937fddce91b5243a25cc39c75ad +150 -0
  552. data/test/dummy/tmp/dragonfly/cache/body/0d/3c95d8ceec588177a8c7e316ef01525f73d24d +14 -0
  553. data/test/dummy/tmp/dragonfly/cache/body/10/4ba2e7b7368c124e23143ab9648288368c78c5 +10 -0
  554. data/test/dummy/tmp/dragonfly/cache/body/10/82b7c75ddade9dce4df7b6d3787e94fd7c3272 +7 -0
  555. data/test/dummy/tmp/dragonfly/cache/body/12/139478cdc8419701c49d64aaa4acc724acae48 +12 -0
  556. data/test/dummy/tmp/dragonfly/cache/body/13/b758f2813676b52fb469b302599f18382368fd +7 -0
  557. data/test/dummy/tmp/dragonfly/cache/body/1c/88ec9e82fc2e0ef8a8179d60c77257d42aff74 +14 -0
  558. data/test/dummy/tmp/dragonfly/cache/body/20/701ae50a0ef8711e59bf9a156c100a1b7638d2 +0 -0
  559. data/test/dummy/tmp/dragonfly/cache/body/22/cd6d21c677a1cff079c5654bed58927239cacf +79 -0
  560. data/test/dummy/tmp/dragonfly/cache/body/36/1dd588cb23da637742baed804ccf4c59f8465f +14 -0
  561. data/test/dummy/tmp/dragonfly/cache/body/3c/1bb177cade2d463575b2795c5e57f7c4dbd696 +9353 -0
  562. data/test/dummy/tmp/dragonfly/cache/body/3c/ac4eb011fe38be14b2f75f3c5e4b702c021daa +7 -0
  563. data/test/dummy/tmp/dragonfly/cache/body/3e/f63b348d8ad48be7f3d8869f255af8d5d8b19f +8982 -0
  564. data/test/dummy/tmp/dragonfly/cache/body/42/05c52ebce4d502612c4b2f58818b1db0fec23b +7 -0
  565. data/test/dummy/tmp/dragonfly/cache/body/42/0c43d2d5b965a64dd3bf88454edc90d15ec636 +0 -0
  566. data/test/dummy/tmp/dragonfly/cache/body/48/253a67c3277035c2e01b70c2c3eb13762c6ff5 +0 -0
  567. data/test/dummy/tmp/dragonfly/cache/body/54/064bc3ca8d19cc634620d102713820646c9966 +10 -0
  568. data/test/dummy/tmp/dragonfly/cache/body/58/604de8cd96eab50d5bd4f2e095439c92cc1ab4 +66 -0
  569. data/test/dummy/tmp/dragonfly/cache/body/5c/4bb95bbbe3b68f6c67591a601e29524f33bd67 +0 -0
  570. data/test/dummy/tmp/dragonfly/cache/body/5f/d9282e72652fc95ea52dcc22f0efca123e4301 +1 -0
  571. data/test/dummy/tmp/dragonfly/cache/body/61/97eb13b4254f77f16833e1a9a8640e939d574c +0 -0
  572. data/test/dummy/tmp/dragonfly/cache/body/65/2c69de0c859d6215239dd06cc4fd54c5a0e632 +5 -0
  573. data/test/dummy/tmp/dragonfly/cache/body/66/53f8900fd565805cad6fd4fbcdc037b83fa938 +14 -0
  574. data/test/dummy/tmp/dragonfly/cache/body/6e/0b2440383d4bb4165efa618c5475470d43ab6e +8 -0
  575. data/test/dummy/tmp/dragonfly/cache/body/71/37f667e905abafb79868df92647c49af5552d3 +7 -0
  576. data/test/dummy/tmp/dragonfly/cache/body/74/a915f04ea303b6b1488fedcc3095a1dc216319 +46 -0
  577. data/test/dummy/tmp/dragonfly/cache/body/76/116d7ed02e8dab5c22e3b872559e5f351c4711 +10 -0
  578. data/test/dummy/tmp/dragonfly/cache/body/79/31af4ea1434ad6dba1c6a04315b23a2d0179c2 +0 -0
  579. data/test/dummy/tmp/dragonfly/cache/body/95/1fda6329351be36f185c1b7a5c1fcb6104ac26 +0 -0
  580. data/test/dummy/tmp/dragonfly/cache/body/95/f49275feb57d8ff1d87081d61ab707c9e23e1e +0 -0
  581. data/test/dummy/tmp/dragonfly/cache/body/99/b4dd5966c85ab90c361f3c129e4815f2282930 +1 -0
  582. data/test/dummy/tmp/dragonfly/cache/body/9a/01cd24640b519c2010cbf049bc6ccae4df3435 +26 -0
  583. data/test/dummy/tmp/dragonfly/cache/body/a1/16a69d513fb5d0b7530af579cab48c168536aa +9 -0
  584. data/test/dummy/tmp/dragonfly/cache/body/a1/d3d5a6ed952ccf4816b4a96d4767ce9bae8164 +5 -0
  585. data/test/dummy/tmp/dragonfly/cache/body/a3/6b28298dfba53475f7380d97ff873cf1248b97 +0 -0
  586. data/test/dummy/tmp/dragonfly/cache/body/a8/ea7f8211495d554e031941d005c8f7216fd68d +6 -0
  587. data/test/dummy/tmp/dragonfly/cache/body/aa/76cb03685d000103614b53fcdec6abd3312d78 +0 -0
  588. data/test/dummy/tmp/dragonfly/cache/body/ab/0ba7805258dfaffd12d7b27d2c72007bc85faf +42 -0
  589. data/test/dummy/tmp/dragonfly/cache/body/ad/382f97923c8dde85f5aad622c5f5c97d5b27d6 +1 -0
  590. data/test/dummy/tmp/dragonfly/cache/body/af/a8ef1a031e27a61d44c342608f287bafd54883 +0 -0
  591. data/test/dummy/tmp/dragonfly/cache/body/b1/6b131f227893150771f7d9af11475b680aebc9 +0 -0
  592. data/test/dummy/tmp/dragonfly/cache/body/b5/ca9f4350c61d1d1d2b23b3928cc54bf09999c5 +13 -0
  593. data/test/dummy/tmp/dragonfly/cache/body/b8/9f78c0a6db0f90cc13c5a358470f15d21b0f0e +79 -0
  594. data/test/dummy/tmp/dragonfly/cache/body/b9/eb3403996af30a4498a7d6b773266509ad8ad6 +10 -0
  595. data/test/dummy/tmp/dragonfly/cache/body/c2/d1fe276d6e527c155855e99dc19d239b6d71f3 +7 -0
  596. data/test/dummy/tmp/dragonfly/cache/body/c3/eac7335df76a2becf45783dc21a8d626453554 +42 -0
  597. data/test/dummy/tmp/dragonfly/cache/body/c9/c706a9b9d061158816815765de368764242445 +11 -0
  598. data/test/dummy/tmp/dragonfly/cache/body/cc/2b40f0a2ef5eb22d777d81575a9020898bc459 +10 -0
  599. data/test/dummy/tmp/dragonfly/cache/body/d4/2659abf79929384348c3dc39a7a6c150d5939d +41 -0
  600. data/test/dummy/tmp/dragonfly/cache/body/d5/73b73186cdf4007c9714beafccdf0862b87c18 +7 -0
  601. data/test/dummy/tmp/dragonfly/cache/body/d8/30591de37575f1d8fa38f84b3060269db5a549 +42 -0
  602. data/test/dummy/tmp/dragonfly/cache/body/ea/8830a670f9a4513c7c67d8b577072ac01afc93 +12 -0
  603. data/test/dummy/tmp/dragonfly/cache/body/fc/93e44494bc4b2a53ecf1d3e95aa2d8a01339ed +364 -0
  604. data/test/dummy/tmp/dragonfly/cache/body/fd/ab0053425ba609387dffb0e2529a8feacc3906 +0 -0
  605. data/test/dummy/tmp/dragonfly/cache/meta/04/cfe66775dd062d8e8ed54c63d7d7578156fcd9 +0 -0
  606. data/test/dummy/tmp/dragonfly/cache/meta/07/91fb614e455267f3a19da4218688c3d05b0cab +0 -0
  607. data/test/dummy/tmp/dragonfly/cache/meta/08/583d3580bdba862155e60de9a00668e59daf9a +0 -0
  608. data/test/dummy/tmp/dragonfly/cache/meta/09/828a2e2227c8ee400355ae1a23ad2bd790141d +0 -0
  609. data/test/dummy/tmp/dragonfly/cache/meta/0d/3d65cfd83d3144d664a407c58772a9af580f2c +0 -0
  610. data/test/dummy/tmp/dragonfly/cache/meta/1f/f07ad344a1cb0b8ec31186f4dc9db0839ad627 +0 -0
  611. data/test/dummy/tmp/dragonfly/cache/meta/26/1464d915347774c08b1ddf6d305783e3acfadb +0 -0
  612. data/test/dummy/tmp/dragonfly/cache/meta/26/73bb640eaad736de2ea11327abb3567f79c9fd +0 -0
  613. data/test/dummy/tmp/dragonfly/cache/meta/29/9a9ad069bc6d828e0d5f55644877ce9b62cb23 +0 -0
  614. data/test/dummy/tmp/dragonfly/cache/meta/33/fd8b6a50207f556064a867cd45a5a913fc39e6 +0 -0
  615. data/test/dummy/tmp/dragonfly/cache/meta/35/89edfe429efa98a23e7f9add3cfa1ef33a8b71 +0 -0
  616. data/test/dummy/tmp/dragonfly/cache/meta/3f/f1f94c6b5c03ff4cf81cb23bfc60912c894b6f +0 -0
  617. data/test/dummy/tmp/dragonfly/cache/meta/51/d20274bbbbb01e6fa7dcdd39776bfb0a001dda +0 -0
  618. data/test/dummy/tmp/dragonfly/cache/meta/54/49e130b5f21a7d1fb0bf87bdccf473caa28fb4 +0 -0
  619. data/test/dummy/tmp/dragonfly/cache/meta/5e/f7d5756119e2b71e82ea878824891efc8d4e98 +0 -0
  620. data/test/dummy/tmp/dragonfly/cache/meta/64/41ffd938beeeae87f4cb84ed8cc2dc89d7ebc0 +0 -0
  621. data/test/dummy/tmp/dragonfly/cache/meta/66/4c2f6718656261fba53eae83feecda49a4fe27 +0 -0
  622. data/test/dummy/tmp/dragonfly/cache/meta/66/f44aba1428593600ff0e47ea6aa54362e39a59 +0 -0
  623. data/test/dummy/tmp/dragonfly/cache/meta/75/868cd14b8d420dcd4ef44afcd20722ad7a1c3f +0 -0
  624. data/test/dummy/tmp/dragonfly/cache/meta/77/08cd91d09e6cc0e0393e02a0fb2e0205cf34af +0 -0
  625. data/test/dummy/tmp/dragonfly/cache/meta/78/5c03964addee8fda74d871c638fef44ca37a1a +0 -0
  626. data/test/dummy/tmp/dragonfly/cache/meta/7c/14b32e4e029b0200d54b210b4148be0349e72c +0 -0
  627. data/test/dummy/tmp/dragonfly/cache/meta/7f/0b8b6f8f34b458916f99a528f4cab40107490d +0 -0
  628. data/test/dummy/tmp/dragonfly/cache/meta/80/5841ac20acdd8dd41460c8346294abc5c4dd8f +0 -0
  629. data/test/dummy/tmp/dragonfly/cache/meta/87/6f1ac29d9a3be64d8ec07d988ee2f7e9210a8c +0 -0
  630. data/test/dummy/tmp/dragonfly/cache/meta/98/09f92ae5a13229558457833b859d1fc4073a75 +0 -0
  631. data/test/dummy/tmp/dragonfly/cache/meta/9b/1e5d2a62e4e1c014350ded8b89e08731e51e12 +0 -0
  632. data/test/dummy/tmp/dragonfly/cache/meta/a0/ca7d61a5e5763e257e13dcbc2b0f11abfd607c +0 -0
  633. data/test/dummy/tmp/dragonfly/cache/meta/a6/415b21bb312e94f5386bebaf0b9dd96f102a4c +0 -0
  634. data/test/dummy/tmp/dragonfly/cache/meta/ae/67c778b4cac5a750af11726e141b1c44969772 +0 -0
  635. data/test/dummy/tmp/dragonfly/cache/meta/bb/64ca9507b7fbb26b5b3085afb8e23beb15dd58 +0 -0
  636. data/test/dummy/tmp/dragonfly/cache/meta/bc/3d6a023e30186fa647759d74acd8538ec159d9 +0 -0
  637. data/test/dummy/tmp/dragonfly/cache/meta/c1/7387f13692af4744efe3e2c05fb5839092ec45 +0 -0
  638. data/test/dummy/tmp/dragonfly/cache/meta/dc/bf7c1fa5b5862d792109822d457a6be23e2fd5 +0 -0
  639. data/test/dummy/tmp/dragonfly/cache/meta/ee/fe74949a8c2a0bbc077385a12944d9f98a12e0 +0 -0
  640. data/test/dummy/tmp/dragonfly/cache/meta/f9/67ac04386c59253bd80f4034d18af166cc5691 +0 -0
  641. data/test/dummy/tmp/dragonfly/cache/meta/fa/a85df3e67eaadf710176efbe0c3b1807db0824 +0 -0
  642. data/test/dummy/tmp/dragonfly/cache/meta/fe/97fd48b64023fee9cc7d8a12f0f1e9097058da +0 -0
  643. data/test/dummy/tmp/dragonfly/cache/meta/ff/d5f8f0d3f33df0282fc5c47f8761d3f328806c +0 -0
  644. data/test/dummy/tmp/pids/server.pid +1 -0
  645. data/test/fixtures/documents.yml +11 -0
  646. data/test/fixtures/node_settings.yml +11 -0
  647. data/test/fixtures/nodes.yml +11 -0
  648. data/test/functional/documents_controller_test.rb +7 -0
  649. data/test/functional/qwerty_admin/base_controller_test.rb +7 -0
  650. data/test/functional/qwerty_admin/documents_controller_test.rb +7 -0
  651. data/test/functional/qwerty_admin/nodes_controller_test.rb +7 -0
  652. data/test/functional/qwerty_base_controller_test.rb +7 -0
  653. data/test/integration/navigation_test.rb +10 -0
  654. data/test/qwerty_test.rb +7 -0
  655. data/test/test_helper.rb +10 -0
  656. data/test/unit/document_test.rb +7 -0
  657. data/test/unit/helpers/documents_helper_test.rb +4 -0
  658. data/test/unit/helpers/qwerty_admin/base_helper_test.rb +4 -0
  659. data/test/unit/helpers/qwerty_admin/documents_helper_test.rb +4 -0
  660. data/test/unit/helpers/qwerty_admin/nodes_helper_test.rb +4 -0
  661. data/test/unit/helpers/qwerty_base_helper_test.rb +4 -0
  662. data/test/unit/node_setting_test.rb +7 -0
  663. data/test/unit/node_test.rb +7 -0
  664. metadata +1195 -0
@@ -0,0 +1,10 @@
1
+ /*
2
+ * This is a manifest file that'll automatically include all the stylesheets available in this directory
3
+ * and any sub-directories. You're free to add application-wide styles to this file and they'll appear at
4
+ * the top of the compiled file, but it's generally better to create a new file per style scope.
5
+ */
6
+
7
+
8
+ strong {
9
+ color: yellow;
10
+ }
@@ -0,0 +1,7 @@
1
+ // This is a manifest file that'll be compiled into including all the files listed below.
2
+ // Add new JavaScript/Coffee code in separate files in this directory and they'll automatically
3
+ // be included in the compiled file accessible from http://example.com/assets/application.js
4
+ // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
5
+ // the compiled file.
6
+ //
7
+ ;
@@ -0,0 +1,42 @@
1
+ /*
2
+ Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
3
+ For licensing, see LICENSE.html or http://ckeditor.com/license
4
+ */
5
+
6
+
7
+ CKEDITOR.editorConfig = function( config )
8
+ {
9
+ config.PreserveSessionOnFileBrowser = true;
10
+ // Define changes to default configuration here. For example:
11
+ config.language = 'en';
12
+ // config.uiColor = '#AADC6E';
13
+
14
+ //config.ContextMenu = ['Generic','Anchor','Flash','Select','Textarea','Checkbox','Radio','TextField','HiddenField','ImageButton','Button','BulletedList','NumberedList','Table','Form'] ;
15
+
16
+ config.height = '400px';
17
+ config.width = '600px';
18
+
19
+ //config.resize_enabled = false;
20
+ //config.resize_maxHeight = 2000;
21
+ //config.resize_maxWidth = 750;
22
+
23
+ //config.startupFocus = true;
24
+
25
+ // works only with en, ru, uk languages
26
+ // config.extraPlugins = "embed,attachment";
27
+ config.extraPlugins = "autogrow";
28
+
29
+ config.toolbar = 'Easy';
30
+
31
+ config.toolbar_Easy =
32
+ [
33
+ ['Maximize','-','PasteFromWord'],
34
+ // ['Undo','Redo','-','Find','Replace','RemoveFormat'],
35
+ ['Bold','Italic','TextColor'],
36
+ ['NumberedList','BulletedList']
37
+ // ,'-','Outdent','Indent','Blockquote'],
38
+ ['Link','Unlink'],
39
+ ['Table','SpecialChar']
40
+ ];
41
+ };
42
+
@@ -0,0 +1,11 @@
1
+ /*
2
+ Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.
3
+ For licensing, see LICENSE.html or http://ckeditor.com/license
4
+ */
5
+
6
+
7
+ body .cke_dialog{visibility:visible;}.cke_skin_kama table.cke_dialog.cke_browser_gecko{display:block;}.cke_skin_kama .cke_dialog_body{z-index:1;border:solid 1px #ddd;padding:5px;background-color:#fff;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;position:relative;_position:static;}.cke_skin_kama .cke_dialog_tl,.cke_skin_kama .cke_dialog_tr,.cke_skin_kama .cke_dialog_tc,.cke_skin_kama .cke_dialog_bl,.cke_skin_kama .cke_dialog_br,.cke_skin_kama .cke_dialog_bc,.cke_skin_kama .cke_dialog_ml,.cke_skin_kama .cke_dialog_mr{display:none;}.cke_skin_kama .cke_dialog_title{font-weight:bold;font-size:14px;padding:3px 3px 8px;cursor:move;position:relative;border-bottom:1px solid #eee;}.cke_skin_kama .cke_browser_iequirks .cke_dialog_title,.cke_skin_kama .cke_browser_ie6 .cke_dialog_title,.cke_skin_kama .cke_browser_ie7 .cke_dialog_title{margin-bottom:22px;}.cke_skin_kama .cke_browser_iequirks.cke_single_page .cke_dialog_title,.cke_skin_kama .cke_browser_ie6.cke_single_page .cke_dialog_title,.cke_skin_kama .cke_browser_ie7.cke_single_page .cke_dialog_title{margin-bottom:10px;}.cke_skin_kama .cke_dialog_contents{background-color:#ebebeb;border:solid 1px #fff;border-bottom:none;overflow:auto;padding:17px 10px 5px 10px;-moz-border-radius-topleft:5px;-moz-border-radius-topright:5px;-webkit-border-top-left-radius:5px;-webkit-border-top-right-radius:5px;border-top-left-radius:5px;border-top-right-radius:5px;margin-top:22px;}.cke_skin_kama .cke_dialog_footer{text-align:right;background-color:#ebebeb;border:solid 1px #fff;border-bottom:none;-moz-border-radius-bottomleft:5px;-moz-border-radius-bottomright:5px;-webkit-border-bottom-left-radius:5px;-webkit-border-bottom-right-radius:5px;border-bottom-left-radius:5px;border-bottom-right-radius:5px;}.cke_skin_kama .cke_rtl .cke_dialog_footer{text-align:left;}.cke_skin_kama .cke_dialog_footer .cke_resizer{margin-top:20px;}.cke_skin_kama .cke_browser_iequirks .cke_dialog_footer .cke_resizer,.cke_skin_kama .cke_browser_ie6 .cke_dialog_footer .cke_resizer{margin-top:27px;}.cke_skin_kama .cke_dialog_tabs{height:23px;display:inline-block;_display:block;margin-left:10px;margin-right:10px;margin-top:11px;position:absolute;z-index:2;}.cke_skin_kama .cke_browser_iequirks .cke_dialog_tabs,.cke_skin_kama .cke_browser_ie6 .cke_dialog_tabs,.cke_skin_kama .cke_browser_ie7 .cke_dialog_tabs{top:33px;}.cke_skin_kama .cke_rtl .cke_dialog_tabs{right:10px;}.cke_skin_kama a.cke_dialog_tab,.cke_skin_kama a:link.cke_dialog_tab,.cke_skin_kama a:active.cke_dialog_tab,.cke_skin_kama a:hover.cke_dialog_tab,.cke_skin_kama a:visited.cke_dialog_tab{background-image:url(images/sprites.png);background-repeat:repeat-x;background-position:0 -1323px;background-color:#ebebeb;height:14px;padding:4px 8px;display:inline-block;cursor:pointer;}.cke_skin_kama .cke_browser_gecko18 a.cke_dialog_tab,.cke_skin_kama .cke_browser_gecko18 a:link.cke_dialog_tab,.cke_skin_kama .cke_browser_gecko18 a:active.cke_dialog_tab,.cke_skin_kama .cke_browser_gecko18 a:hover.cke_dialog_tab,.cke_skin_kama .cke_browser_gecko18 a:visited.cke_dialog_tab{display:inline;position:relative;top:6px;}.cke_skin_kama a:hover.cke_dialog_tab{background-color:#f1f1e3;}.cke_skin_kama .cke_hc a:hover.cke_dialog_tab{padding:2px 6px!important;border-width:3px;}.cke_skin_kama a.cke_dialog_tab_selected,.cke_skin_kama a:link.cke_dialog_tab_selected,.cke_skin_kama a:active.cke_dialog_tab_selected,.cke_skin_kama a:hover.cke_dialog_tab_selected,.cke_skin_kama a:visited.cke_dialog_tab_selected{background-position:0 -1279px;cursor:default;}.cke_skin_kama .cke_hc a.cke_dialog_tab_selected,.cke_skin_kama .cke_hc a:link.cke_dialog_tab_selected,.cke_skin_kama .cke_hc a:active.cke_dialog_tab_selected,.cke_skin_kama .cke_hc a:hover.cke_dialog_tab_selected,.cke_skin_kama .cke_hc a:visited.cke_dialog_tab_selected{padding:2px 6px!important;border-width:3px;}.cke_skin_kama .cke_single_page .cke_dialog_tabs{display:none;}.cke_skin_kama .cke_single_page .cke_dialog_contents{padding-top:5px;margin-top:10px;}.cke_skin_kama .cke_browser_ie7.cke_single_page .cke_dialog_contents{margin-top:0;position:relative;margin-bottom:-22px;}
8
+ .cke_skin_kama .cke_dialog_ui_vbox table,.cke_skin_kama .cke_dialog_ui_hbox table{margin:auto;}.cke_skin_kama .cke_dialog_ui_vbox_child{padding:5px 0;}.cke_skin_kama input.cke_dialog_ui_input_text,.cke_skin_kama input.cke_dialog_ui_input_password{background-color:white;border:none;padding:0;width:100%;height:14px;}.cke_skin_kama div.cke_dialog_ui_input_text,.cke_skin_kama div.cke_dialog_ui_input_password{background-color:white;border:1px solid #a0a0a0;padding:1px 0;_width:99.9%;}.cke_skin_kama .cke_browser_ie.cke_rtl input.cke_dialog_ui_input_text,.cke_skin_kama .cke_browser_opera.cke_rtl input.cke_dialog_ui_input_text,.cke_skin_kama .cke_browser_ie.cke_rtl input.cke_dialog_ui_input_password,.cke_skin_kama .cke_browser_opera.cke_rtl input.cke_dialog_ui_input_password{padding-right:2px;}.cke_skin_kama .cke_browser_ie.cke_rtl div.cke_dialog_ui_input_text,.cke_skin_kama .cke_browser_opera.cke_rtl div.cke_dialog_ui_input_text,.cke_skin_kama .cke_browser_ie.cke_rtl div.cke_dialog_ui_input_password,.cke_skin_kama .cke_browser_opera.cke_rtl div.cke_dialog_ui_input_password{padding-left:2px;}.cke_skin_kama .cke_browser_ie.cke_rtl .cke_dialog_ui_vbox_child,.cke_skin_kama .cke_browser_ie.cke_rtl .cke_dialog_ui_hbox_child,.cke_skin_kama .cke_browser_ie.cke_rtl .cke_dialog_ui_hbox_first,.cke_skin_kama .cke_browser_ie.cke_rtl .cke_dialog_ui_hbox_last{padding-right:2px!important;}.cke_skin_kama .cke_browser_ie.cke_rtl div.cke_dialog_ui_input_text{padding-right:1px;}.cke_skin_kama .cke_browser_gecko.cke_hc div.cke_dialog_ui_input_text,.cke_skin_kama .cke_browser_gecko.cke_hc div.cke_dialog_ui_input_password{border-width:0;}.cke_skin_kama .cke_browser_gecko18.cke_hc div.cke_dialog_ui_input_text,.cke_skin_kama .cke_browser_gecko18.cke_hc div.cke_dialog_ui_input_password{border-width:1px;}.cke_skin_kama textarea.cke_dialog_ui_input_textarea{background-color:white;border:none;padding:0;width:100%;_width:99%;overflow:auto;resize:none;}.cke_skin_kama div.cke_dialog_ui_input_textarea{background-color:white;border:1px solid #a0a0a0;padding:1px 0;}.cke_skin_kama div.cke_disabled .cke_dialog_ui_labeled_content *{background-color:#a0a0a0;cursor:default;}.cke_skin_kama .cke_rtl .cke_dialog_ui_labeled_content{_width:95%;}.cke_skin_kama .cke_dialog_ui_hbox{width:100%;}.cke_skin_kama .cke_dialog_ui_hbox_first,.cke_skin_kama .cke_dialog_ui_hbox_child,.cke_skin_kama .cke_dialog_ui_hbox_last{vertical-align:top;}.cke_skin_kama .cke_ltr .cke_dialog_ui_hbox_first,.cke_skin_kama .cke_ltr .cke_dialog_ui_hbox_child{padding-right:10px;}.cke_skin_kama .cke_rtl .cke_dialog_ui_hbox_first,.cke_skin_kama .cke_rtl .cke_dialog_ui_hbox_child{padding-left:10px;}.cke_skin_kama a.cke_dialog_ui_button{border-collapse:separate;cursor:default;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;background:transparent url(images/sprites.png) repeat-x scroll 0 -1069px;_background:none;padding:5px 0;text-align:center;}.cke_skin_kama .cke_browser_iequirks a.cke_dialog_ui_button{padding:0;}.cke_skin_kama .cke_browser_ie6 a.cke_dialog_ui_button span{width:70px;}.cke_skin_kama .cke_browser_iequirks a.cke_dialog_ui_button span,.cke_skin_kama .cke_browser_iequirks a.cke_dialog_ui_button span{width:100px;}.cke_skin_kama .cke_browser_iequirks a.cke_dialog_ui_button span,.cke_skin_kama .cke_browser_iequirks a.cke_dialog_ui_button span,.cke_skin_kama .cke_browser_ie6 a.cke_dialog_ui_button span{padding:5px 15px;text-align:center;color:#3b3b1f;background:#53D9F0 none;display:inline-block;cursor:default;}.cke_skin_kama .cke_browser_webkit a.cke_dialog_ui_button span.cke_dialog_ui_button{margin:0;}.cke_skin_kama .cke_browser_webkit a.cke_dialog_ui_button{display:inline-block;padding-top:3px;padding-bottom:2px;margin:2px 0;}.cke_skin_kama a.cke_dialog_ui_button_ok span,.cke_skin_kama a.cke_dialog_ui_button_cancel span{width:60px;padding-right:20px;padding-left:20px;}.cke_skin_kama a.cke_dialog_ui_button_ok{background-position:0 -1143px;}.cke_skin_kama a.cke_dialog_ui_button_ok span{background:transparent url(images/sprites.png) no-repeat scroll right -1219px;}.cke_skin_kama .cke_rtl a.cke_dialog_ui_button_ok span{background-position:left -1219px;}
9
+ .cke_skin_kama .cke_browser_iequirks a.cke_dialog_ui_button_ok span,.cke_skin_kama .cke_browser_ie6 a.cke_dialog_ui_button_ok span{background-color:#B8E834;margin-right:0;}.cke_skin_kama a.cke_dialog_ui_button_cancel{background-position:0 -1104px;}.cke_skin_kama a.cke_dialog_ui_button_cancel span{background:transparent url(images/sprites.png) no-repeat scroll right -1245px;}.cke_skin_kama .cke_rtl a.cke_dialog_ui_button_cancel span{background-position:left -1245px;}.cke_skin_kama .cke_browser_iequirks a.cke_dialog_ui_button_cancel span,.cke_skin_kama .cke_browser_ie6 a.cke_dialog_ui_button_cancel span{background-color:#F65D20;}.cke_skin_kama .cke_browser_iequirks a.cke_dialog_ui_button_cancel span,.cke_skin_kama .cke_browser_ie6 a.cke_dialog_ui_button_cancel span,.cke_skin_kama .cke_browser_iequirks a.cke_dialog_ui_button_ok span,.cke_skin_kama .cke_browser_ie6 a.cke_dialog_ui_button_ok span{background-image:none;}.cke_skin_kama span.cke_dialog_ui_button{padding:2px 10px;text-align:center;color:#222;display:inline-block;cursor:default;min-width:60px;+margin:2px 0;}.cke_skin_kama .cke_browser_gecko18 .cke_dialog_footer_buttons span.cke_dialog_ui_button{display:block;}.cke_skin_kama a.cke_dialog_ui_button span.cke_disabled{border:#898980 1px solid;color:#5e5e55;background-color:#c5c5b3;}.cke_skin_kama a:hover.cke_dialog_ui_button,.cke_skin_kama a:focus.cke_dialog_ui_button,.cke_skin_kama a:active.cke_dialog_ui_button{background-position:0 -1179px;}.cke_skin_kama .cke_hc a:hover.cke_dialog_ui_button,.cke_skin_kama .cke_hc a:focus.cke_dialog_ui_button,.cke_skin_kama .cke_hc a:active.cke_dialog_ui_button{border-width:2px;}.cke_skin_kama .cke_browser_iequirks a:hover.cke_dialog_ui_button span,.cke_skin_kama .cke_browser_iequirks a:focus.cke_dialog_ui_button span,.cke_skin_kama .cke_browser_iequirks a:active.cke_dialog_ui_button span,.cke_skin_kama .cke_browser_ie6 a:hover.cke_dialog_ui_button span,.cke_skin_kama .cke_browser_ie6 a:focus.cke_dialog_ui_button span,.cke_skin_kama .cke_browser_ie6 a:active.cke_dialog_ui_button span{background-image:none;background:#F7A922;}.cke_skin_kama .cke_dialog_footer_buttons{display:inline-table;margin-right:12px;margin-left:12px;width:auto;position:relative;}.cke_skin_kama .cke_browser_ie7 .cke_dialog_footer_buttons{position:static;}.cke_skin_kama .cke_browser_gecko18 .cke_dialog_footer_buttons{display:inline;}.cke_skin_kama .cke_dialog_footer_buttons span.cke_dialog_ui_button{margin:7px 0;text-align:center;}.cke_skin_kama .cke_browser_gecko18 .cke_dialog_footer_buttons a.cke_dialog_ui_button{display:block;padding:0;}.cke_skin_kama .cke_browser_gecko18 .cke_dialog_footer_buttons span.cke_dialog_ui_button{padding-bottom:5px;padding-top:6px;margin-bottom:0;}.cke_skin_kama .cke_browser_gecko18 .cke_dialog_footer_buttons .cke_dialog_ui_button_ok .cke_dialog_ui_button{background-position:right -1214px;}.cke_skin_kama .cke_browser_gecko18 .cke_dialog_footer_buttons .cke_dialog_ui_button_cancel .cke_dialog_ui_button{background-position:right -1242px;}.cke_skin_kama .cke_browser_ie9.cke_rtl .cke_dialog_footer_buttons td{padding-left:2px;}.cke_skin_kama strong{font-weight:bold;}.cke_skin_kama .cke_dialog .cke_dialog_body .cke_dialog_close_button{background-image:url(images/sprites.png);background-repeat:no-repeat;background-position:0 -1022px;position:absolute;cursor:pointer;text-align:center;height:20px;width:20px;top:5px;_background-image:url(images/sprites_ie6.png);}.cke_skin_kama .cke_dialog_close_button span{display:none;}.cke_skin_kama .cke_dialog_close_button:hover{background-position:0 -1045px;}.cke_skin_kama .cke_ltr .cke_dialog_close_button{right:10px;}.cke_skin_kama .cke_browser_ie8.cke_rtl .cke_dialog_close_button{left:8px;}.cke_skin_kama .cke_rtl .cke_dialog_close_button{left:10px;}.cke_skin_kama .cke_browser_ie7.cke_rtl .cke_dialog_close_button{left:16px;top:0;}.cke_skin_kama .cke_browser_ie7.cke_rtl .cke_dialog_close_button{position:absolute;left:10px;top:5px;}.cke_skin_kama .cke_browser_ie7.cke_single_page .cke_dialog_footer{margin-top:22px;}.cke_skin_kama .cke_browser_ie6 .cke_dialog_close_button,.cke_skin_kama .cke_browser_iequirks .cke_dialog_close_button{top:7px;}
10
+ .cke_skin_kama .cke_browser_ie7.cke_ltr .cke_dialog_close_button{margin-top:0;}.cke_skin_kama .cke_dialog_ui_input_select{border:1px solid #a0a0a0;background-color:white;}.cke_skin_kama .cke_dialog_ui_input_file{width:100%;height:25px;}.cke_skin_kama .cke_dialog .cke_dark_background{background-color:#eaead1;}.cke_skin_kama .cke_dialog .cke_hand{cursor:pointer;}.cke_skin_kama .cke_dialog .cke_centered{text-align:center;}.cke_skin_kama .cke_dialog a.cke_btn_reset{float:right;background-position:0 -32px;background-image:url(images/mini.gif);width:16px;height:16px;background-repeat:no-repeat;border:1px none;font-size:1px;}.cke_skin_kama .cke_rtl .cke_dialog a.cke_btn_reset{float:left;}.cke_skin_kama .cke_dialog a.cke_btn_locked,.cke_skin_kama .cke_dialog a.cke_btn_unlocked{float:left;background-position:0 0;background-image:url(images/mini.gif);width:16px;height:16px;background-repeat:no-repeat;border:none 1px;font-size:1px;}.cke_skin_kama .cke_dialog a.cke_btn_locked .cke_icon{display:none;}.cke_skin_kama .cke_rtl .cke_dialog a.cke_btn_locked,.cke_skin_kama .cke_rtl .cke_dialog a.cke_btn_unlocked{float:right;}.cke_skin_kama .cke_dialog a.cke_btn_unlocked{background-position:0 -16px;background-image:url(images/mini.gif);}.cke_skin_kama .cke_dialog .cke_btn_over{border:outset 1px;cursor:pointer;}.cke_skin_kama .cke_dialog .ImagePreviewBox{border:2px ridge black;overflow:scroll;height:200px;width:300px;padding:2px;background-color:white;}.cke_skin_kama .cke_dialog .ImagePreviewBox table td{white-space:normal;}.cke_skin_kama .cke_browser_iequirks .cke_dialog_page_contents{_position:absolute;}.cke_skin_kama .cke_dialog .ImagePreviewLoader{position:absolute;white-space:normal;overflow:hidden;height:160px;width:230px;margin:2px;padding:2px;opacity:.9;filter:alpha(opacity=90);background-color:#e4e4e4;}.cke_skin_kama .cke_dialog .FlashPreviewBox{white-space:normal;border:2px ridge black;overflow:auto;height:160px;width:390px;padding:2px;background-color:white;}.cke_skin_kama .cke_dialog .cke_pastetext{width:346px;height:170px;}.cke_skin_kama .cke_dialog .cke_pastetext textarea{width:340px;height:170px;resize:none;}.cke_skin_kama .cke_dialog iframe.cke_pasteframe{width:346px;height:130px;background-color:white;border:1px solid black;}.cke_skin_kama .cke_dialog .cke_dark_background{text-align:center;background-color:#eaead1;font-size:14px;}.cke_skin_kama .cke_dialog .cke_light_background{text-align:center;background-color:#ffffbe;}.cke_skin_kama .cke_dialog .cke_hand{cursor:pointer;}.cke_skin_kama .cke_disabled{color:#a0a0a0;}.cke_skin_kama .cke_hc .cke_dialog_title,.cke_skin_kama .cke_hc .cke_dialog_tabs,.cke_skin_kama .cke_hc .cke_dialog_contents,.cke_skin_kama .cke_hc .cke_dialog_footer{border-left:1px solid;border-right:1px solid;}.cke_skin_kama .cke_hc .cke_dialog_title{border-top:1px solid;}.cke_skin_kama .cke_hc .cke_dialog_footer{border-bottom:1px solid;}.cke_skin_kama .cke_hc .cke_dialog_close_button span{display:inline;cursor:pointer;font-weight:bold;position:relative;top:3px;}.cke_skin_kama .cke_dialog_body .cke_label{display:none;}.cke_skin_kama .cke_dialog_body label.cke_required{font-weight:bold;}.cke_skin_kama .cke_hc .cke_dialog_body .cke_label{display:inline;cursor:inherit;}.cke_skin_kama .cke_hc a.cke_btn_locked,.cke_skin_kama .cke_hc a.cke_btn_unlocked,.cke_skin_kama .cke_hc a.cke_btn_reset{border-style:solid;float:left;width:auto;height:auto;padding:0 2px;}.cke_skin_kama .cke_rtl.cke_hc a.cke_btn_locked,.cke_skin_kama .cke_rtl.cke_hc a.cke_btn_unlocked,.cke_skin_kama .cke_rtl.cke_hc a.cke_btn_reset{float:right;}.cke_skin_kama .cke_hc a.cke_btn_locked .cke_icon{display:inline;}.cke_skin_kama a.cke_smile img{border:2px solid #eaead1;}.cke_skin_kama a.cke_smile:focus img,.cke_skin_kama a.cke_smile:active img,.cke_skin_kama a.cke_smile:hover img{border-color:#C7C78F;}.cke_skin_kama .cke_hc .cke_dialog_tabs a,.cke_skin_kama .cke_hc .cke_dialog_footer a{opacity:1.0;filter:alpha(opacity=100);border:1px solid white;}.cke_skin_kama .cke_hc .ImagePreviewBox{width:260px;}.cke_skin_kama .cke_dialog_contents a.colorChooser{display:block;margin-top:6px;margin-left:10px;width:80px;}
11
+ .cke_skin_kama .cke_rtl .cke_dialog_contents a.colorChooser{margin-right:10px;}.cke_skin_kama .cke_browser_gecko .cke_dialog_ui_checkbox_input:focus,.cke_skin_kama .cke_browser_gecko .cke_dialog_ui_radio_input:focus,.cke_skin_kama .cke_browser_opera .cke_dialog_ui_checkbox_input:focus,.cke_skin_kama .cke_browser_opera .cke_dialog_ui_radio_input:focus,.cke_skin_kama .cke_browser_gecko .cke_dialog_ui_input_select:focus,.cke_skin_kama .cke_browser_gecko .cke_btn_over,.cke_skin_kama .cke_browser_opera .cke_btn_over,.cke_skin_kama .cke_browser_ie .cke_btn_over{outline:1px dotted #696969;}.cke_skin_kama .cke_browser_ie .cke_dialog_ui_checkbox_input,.cke_skin_kama .cke_browser_ie .cke_dialog_ui_ratio_input,.cke_skin_kama .cke_browser_ie .cke_btn_reset,.cke_skin_kama .cke_browser_ie .cke_btn_locked,.cke_skin_kama .cke_browser_ie .cke_btn_unlocked{*border:1px solid transparent!important;-border:1px solid red!important;-filter:chroma(color=red);}.cke_skin_kama .cke_browser_ie .cke_dialog_ui_focused,.cke_skin_kama .cke_browser_ie .cke_btn_over{*border:1px dotted #696969!important;}.cke_skin_kama .cke_iframe_shim{display:block;position:absolute;top:0;left:0;z-index:-1;filter:alpha(opacity=0);width:100%;height:100%;}
@@ -0,0 +1,10 @@
1
+ *= require formtastic
2
+ *= require my_formtastic_changes
3
+ *= require formtastic_ie6
4
+ *= require formtastic_ie7
5
+
6
+
7
+
8
+ div.document { margin-bottom: 20px; }
9
+ div.documents { margin-top:20px; margin-bottom: 20px; }
10
+ div.node { margin-bottom: 20px; }
@@ -0,0 +1,41 @@
1
+ /*
2
+ Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
3
+ For licensing, see LICENSE.html or http://ckeditor.com/license
4
+ */
5
+
6
+
7
+ CKEDITOR.editorConfig = function( config )
8
+ {
9
+ config.PreserveSessionOnFileBrowser = true;
10
+ // Define changes to default configuration here. For example:
11
+ config.language = 'en';
12
+ // config.uiColor = '#AADC6E';
13
+
14
+ //config.ContextMenu = ['Generic','Anchor','Flash','Select','Textarea','Checkbox','Radio','TextField','HiddenField','ImageButton','Button','BulletedList','NumberedList','Table','Form'] ;
15
+
16
+ config.height = '400px';
17
+ config.width = '600px';
18
+
19
+ //config.resize_enabled = false;
20
+ //config.resize_maxHeight = 2000;
21
+ //config.resize_maxWidth = 750;
22
+
23
+ //config.startupFocus = true;
24
+
25
+ // works only with en, ru, uk languages
26
+ // config.extraPlugins = "embed,attachment";
27
+ config.extraPlugins = "autogrow";
28
+
29
+ config.toolbar = 'Easy';
30
+
31
+ config.toolbar_Easy =
32
+ [
33
+ ['Maximize','-','PasteFromWord'],
34
+ ['Undo','Redo','-','Find','Replace','RemoveFormat'],
35
+ ['Bold','Italic','TextColor'],
36
+ ['NumberedList','BulletedList','-','Outdent','Indent','Blockquote'],
37
+ ['Link','Unlink'],
38
+ ['Table','SpecialChar']
39
+ ];
40
+ };
41
+
@@ -0,0 +1,7 @@
1
+ /*
2
+ Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.
3
+ For licensing, see LICENSE.html or http://ckeditor.com/license
4
+ */
5
+
6
+
7
+ CKEDITOR.lang.en={dir:'ltr',editorTitle:'Rich text editor, %1, press ALT 0 for help.',toolbar:'Toolbar',editor:'Rich Text Editor',source:'Source',newPage:'New Page',save:'Save',preview:'Preview',cut:'Cut',copy:'Copy',paste:'Paste',print:'Print',underline:'Underline',bold:'Bold',italic:'Italic',selectAll:'Select All',removeFormat:'Remove Format',strike:'Strike Through',subscript:'Subscript',superscript:'Superscript',horizontalrule:'Insert Horizontal Line',pagebreak:'Insert Page Break for Printing',pagebreakAlt:'Page Break',unlink:'Unlink',undo:'Undo',redo:'Redo',common:{browseServer:'Browse Server',url:'URL',protocol:'Protocol',upload:'Upload',uploadSubmit:'Send it to the Server',image:'Image',flash:'Flash',form:'Form',checkbox:'Checkbox',radio:'Radio Button',textField:'Text Field',textarea:'Textarea',hiddenField:'Hidden Field',button:'Button',select:'Selection Field',imageButton:'Image Button',notSet:'<not set>',id:'Id',name:'Name',langDir:'Language Direction',langDirLtr:'Left to Right (LTR)',langDirRtl:'Right to Left (RTL)',langCode:'Language Code',longDescr:'Long Description URL',cssClass:'Stylesheet Classes',advisoryTitle:'Advisory Title',cssStyle:'Style',ok:'OK',cancel:'Cancel',close:'Close',preview:'Preview',generalTab:'General',advancedTab:'Advanced',validateNumberFailed:'This value is not a number.',confirmNewPage:'Any unsaved changes to this content will be lost. Are you sure you want to load new page?',confirmCancel:'Some of the options have been changed. Are you sure to close the dialog?',options:'Options',target:'Target',targetNew:'New Window (_blank)',targetTop:'Topmost Window (_top)',targetSelf:'Same Window (_self)',targetParent:'Parent Window (_parent)',langDirLTR:'Left to Right (LTR)',langDirRTL:'Right to Left (RTL)',styles:'Style',cssClasses:'Stylesheet Classes',width:'Width',height:'Height',align:'Alignment',alignLeft:'Left',alignRight:'Right',alignCenter:'Center',alignTop:'Top',alignMiddle:'Middle',alignBottom:'Bottom',invalidHeight:'Height must be a number.',invalidWidth:'Width must be a number.',unavailable:'%1<span class="cke_accessibility">, unavailable</span>'},contextmenu:{options:'Context Menu Options'},specialChar:{toolbar:'Insert Special Character',title:'Select Special Character',options:'Special Character Options'},link:{toolbar:'Link',other:'<other>',menu:'Edit Link',title:'Link',info:'Link Info',target:'Target',upload:'Upload',advanced:'Advanced',type:'Link Type',toUrl:'URL',toAnchor:'Link to anchor in the text',toEmail:'E-mail',targetFrame:'<frame>',targetPopup:'<popup window>',targetFrameName:'Target Frame Name',targetPopupName:'Popup Window Name',popupFeatures:'Popup Window Features',popupResizable:'Resizable',popupStatusBar:'Status Bar',popupLocationBar:'Location Bar',popupToolbar:'Toolbar',popupMenuBar:'Menu Bar',popupFullScreen:'Full Screen (IE)',popupScrollBars:'Scroll Bars',popupDependent:'Dependent (Netscape)',popupLeft:'Left Position',popupTop:'Top Position',id:'Id',langDir:'Language Direction',langDirLTR:'Left to Right (LTR)',langDirRTL:'Right to Left (RTL)',acccessKey:'Access Key',name:'Name',langCode:'Language Code',tabIndex:'Tab Index',advisoryTitle:'Advisory Title',advisoryContentType:'Advisory Content Type',cssClasses:'Stylesheet Classes',charset:'Linked Resource Charset',styles:'Style',selectAnchor:'Select an Anchor',anchorName:'By Anchor Name',anchorId:'By Element Id',emailAddress:'E-Mail Address',emailSubject:'Message Subject',emailBody:'Message Body',noAnchors:'(No anchors available in the document)',noUrl:'Please type the link URL',noEmail:'Please type the e-mail address'},anchor:{toolbar:'Anchor',menu:'Edit Anchor',title:'Anchor Properties',name:'Anchor Name',errorName:'Please type the anchor name'},list:{numberedTitle:'Numbered List Properties',bulletedTitle:'Bulleted List Properties',type:'Type',start:'Start',validateStartNumber:'List start number must be a whole number.',circle:'Circle',disc:'Disc',square:'Square',none:'None',notset:'<not set>',armenian:'Armenian numbering',georgian:'Georgian numbering (an, ban, gan, etc.)',lowerRoman:'Lower Roman (i, ii, iii, iv, v, etc.)',upperRoman:'Upper Roman (I, II, III, IV, V, etc.)',lowerAlpha:'Lower Alpha (a, b, c, d, e, etc.)',upperAlpha:'Upper Alpha (A, B, C, D, E, etc.)',lowerGreek:'Lower Greek (alpha, beta, gamma, etc.)',decimal:'Decimal (1, 2, 3, etc.)',decimalLeadingZero:'Decimal leading zero (01, 02, 03, etc.)'},findAndReplace:{title:'Find and Replace',find:'Find',replace:'Replace',findWhat:'Find what:',replaceWith:'Replace with:',notFoundMsg:'The specified text was not found.',matchCase:'Match case',matchWord:'Match whole word',matchCyclic:'Match cyclic',replaceAll:'Replace All',replaceSuccessMsg:'%1 occurrence(s) replaced.'},table:{toolbar:'Table',title:'Table Properties',menu:'Table Properties',deleteTable:'Delete Table',rows:'Rows',columns:'Columns',border:'Border size',widthPx:'pixels',widthPc:'percent',widthUnit:'width unit',cellSpace:'Cell spacing',cellPad:'Cell padding',caption:'Caption',summary:'Summary',headers:'Headers',headersNone:'None',headersColumn:'First column',headersRow:'First Row',headersBoth:'Both',invalidRows:'Number of rows must be a number greater than 0.',invalidCols:'Number of columns must be a number greater than 0.',invalidBorder:'Border size must be a number.',invalidWidth:'Table width must be a number.',invalidHeight:'Table height must be a number.',invalidCellSpacing:'Cell spacing must be a number.',invalidCellPadding:'Cell padding must be a number.',cell:{menu:'Cell',insertBefore:'Insert Cell Before',insertAfter:'Insert Cell After',deleteCell:'Delete Cells',merge:'Merge Cells',mergeRight:'Merge Right',mergeDown:'Merge Down',splitHorizontal:'Split Cell Horizontally',splitVertical:'Split Cell Vertically',title:'Cell Properties',cellType:'Cell Type',rowSpan:'Rows Span',colSpan:'Columns Span',wordWrap:'Word Wrap',hAlign:'Horizontal Alignment',vAlign:'Vertical Alignment',alignBaseline:'Baseline',bgColor:'Background Color',borderColor:'Border Color',data:'Data',header:'Header',yes:'Yes',no:'No',invalidWidth:'Cell width must be a number.',invalidHeight:'Cell height must be a number.',invalidRowSpan:'Rows span must be a whole number.',invalidColSpan:'Columns span must be a whole number.',chooseColor:'Choose'},row:{menu:'Row',insertBefore:'Insert Row Before',insertAfter:'Insert Row After',deleteRow:'Delete Rows'},column:{menu:'Column',insertBefore:'Insert Column Before',insertAfter:'Insert Column After',deleteColumn:'Delete Columns'}},button:{title:'Button Properties',text:'Text (Value)',type:'Type',typeBtn:'Button',typeSbm:'Submit',typeRst:'Reset'},checkboxAndRadio:{checkboxTitle:'Checkbox Properties',radioTitle:'Radio Button Properties',value:'Value',selected:'Selected'},form:{title:'Form Properties',menu:'Form Properties',action:'Action',method:'Method',encoding:'Encoding'},select:{title:'Selection Field Properties',selectInfo:'Select Info',opAvail:'Available Options',value:'Value',size:'Size',lines:'lines',chkMulti:'Allow multiple selections',opText:'Text',opValue:'Value',btnAdd:'Add',btnModify:'Modify',btnUp:'Up',btnDown:'Down',btnSetValue:'Set as selected value',btnDelete:'Delete'},textarea:{title:'Textarea Properties',cols:'Columns',rows:'Rows'},textfield:{title:'Text Field Properties',name:'Name',value:'Value',charWidth:'Character Width',maxChars:'Maximum Characters',type:'Type',typeText:'Text',typePass:'Password'},hidden:{title:'Hidden Field Properties',name:'Name',value:'Value'},image:{title:'Image Properties',titleButton:'Image Button Properties',menu:'Image Properties',infoTab:'Image Info',btnUpload:'Send it to the Server',upload:'Upload',alt:'Alternative Text',lockRatio:'Lock Ratio',unlockRatio:'Unlock Ratio',resetSize:'Reset Size',border:'Border',hSpace:'HSpace',vSpace:'VSpace',alertUrl:'Please type the image URL',linkTab:'Link',button2Img:'Do you want to transform the selected image button on a simple image?',img2Button:'Do you want to transform the selected image on a image button?',urlMissing:'Image source URL is missing.',validateBorder:'Border must be a whole number.',validateHSpace:'HSpace must be a whole number.',validateVSpace:'VSpace must be a whole number.'},flash:{properties:'Flash Properties',propertiesTab:'Properties',title:'Flash Properties',chkPlay:'Auto Play',chkLoop:'Loop',chkMenu:'Enable Flash Menu',chkFull:'Allow Fullscreen',scale:'Scale',scaleAll:'Show all',scaleNoBorder:'No Border',scaleFit:'Exact Fit',access:'Script Access',accessAlways:'Always',accessSameDomain:'Same domain',accessNever:'Never',alignAbsBottom:'Abs Bottom',alignAbsMiddle:'Abs Middle',alignBaseline:'Baseline',alignTextTop:'Text Top',quality:'Quality',qualityBest:'Best',qualityHigh:'High',qualityAutoHigh:'Auto High',qualityMedium:'Medium',qualityAutoLow:'Auto Low',qualityLow:'Low',windowModeWindow:'Window',windowModeOpaque:'Opaque',windowModeTransparent:'Transparent',windowMode:'Window mode',flashvars:'Variables for Flash',bgcolor:'Background color',hSpace:'HSpace',vSpace:'VSpace',validateSrc:'URL must not be empty.',validateHSpace:'HSpace must be a number.',validateVSpace:'VSpace must be a number.'},spellCheck:{toolbar:'Check Spelling',title:'Spell Check',notAvailable:'Sorry, but service is unavailable now.',errorLoading:'Error loading application service host: %s.',notInDic:'Not in dictionary',changeTo:'Change to',btnIgnore:'Ignore',btnIgnoreAll:'Ignore All',btnReplace:'Replace',btnReplaceAll:'Replace All',btnUndo:'Undo',noSuggestions:'- No suggestions -',progress:'Spell check in progress...',noMispell:'Spell check complete: No misspellings found',noChanges:'Spell check complete: No words changed',oneChange:'Spell check complete: One word changed',manyChanges:'Spell check complete: %1 words changed',ieSpellDownload:'Spell checker not installed. Do you want to download it now?'},smiley:{toolbar:'Smiley',title:'Insert a Smiley',options:'Smiley Options'},elementsPath:{eleLabel:'Elements path',eleTitle:'%1 element'},numberedlist:'Insert/Remove Numbered List',bulletedlist:'Insert/Remove Bulleted List',indent:'Increase Indent',outdent:'Decrease Indent',justify:{left:'Align Left',center:'Center',right:'Align Right',block:'Justify'},blockquote:'Block Quote',clipboard:{title:'Paste',cutError:"Your browser security settings don't permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).",copyError:"Your browser security settings don't permit the editor to automatically execute copying operations. Please use the keyboard for that (Ctrl/Cmd+C).",pasteMsg:'Please paste inside the following box using the keyboard (<strong>Ctrl/Cmd+V</strong>) and hit OK',securityMsg:'Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.',pasteArea:'Paste Area'},pastefromword:{confirmCleanup:'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?',toolbar:'Paste from Word',title:'Paste from Word',error:'It was not possible to clean up the pasted data due to an internal error'},pasteText:{button:'Paste as plain text',title:'Paste as Plain Text'},templates:{button:'Templates',title:'Content Templates',options:'Template Options',insertOption:'Replace actual contents',selectPromptMsg:'Please select the template to open in the editor',emptyListMsg:'(No templates defined)'},showBlocks:'Show Blocks',stylesCombo:{label:'Styles',panelTitle:'Formatting Styles',panelTitle1:'Block Styles',panelTitle2:'Inline Styles',panelTitle3:'Object Styles'},format:{label:'Format',panelTitle:'Paragraph Format',tag_p:'Normal',tag_pre:'Formatted',tag_address:'Address',tag_h1:'Heading 1',tag_h2:'Heading 2',tag_h3:'Heading 3',tag_h4:'Heading 4',tag_h5:'Heading 5',tag_h6:'Heading 6',tag_div:'Normal (DIV)'},div:{title:'Create Div Container',toolbar:'Create Div Container',cssClassInputLabel:'Stylesheet Classes',styleSelectLabel:'Style',IdInputLabel:'Id',languageCodeInputLabel:' Language Code',inlineStyleInputLabel:'Inline Style',advisoryTitleInputLabel:'Advisory Title',langDirLabel:'Language Direction',langDirLTRLabel:'Left to Right (LTR)',langDirRTLLabel:'Right to Left (RTL)',edit:'Edit Div',remove:'Remove Div'},iframe:{title:'IFrame Properties',toolbar:'IFrame',noUrl:'Please type the iframe URL',scrolling:'Enable scrollbars',border:'Show frame border'},font:{label:'Font',voiceLabel:'Font',panelTitle:'Font Name'},fontSize:{label:'Size',voiceLabel:'Font Size',panelTitle:'Font Size'},colorButton:{textColorTitle:'Text Color',bgColorTitle:'Background Color',panelTitle:'Colors',auto:'Automatic',more:'More Colors...'},colors:{'000':'Black',800000:'Maroon','8B4513':'Saddle Brown','2F4F4F':'Dark Slate Gray','008080':'Teal','000080':'Navy','4B0082':'Indigo',696969:'Dark Gray',B22222:'Fire Brick',A52A2A:'Brown',DAA520:'Golden Rod','006400':'Dark Green','40E0D0':'Turquoise','0000CD':'Medium Blue',800080:'Purple',808080:'Gray',F00:'Red',FF8C00:'Dark Orange',FFD700:'Gold','008000':'Green','0FF':'Cyan','00F':'Blue',EE82EE:'Violet',A9A9A9:'Dim Gray',FFA07A:'Light Salmon',FFA500:'Orange',FFFF00:'Yellow','00FF00':'Lime',AFEEEE:'Pale Turquoise',ADD8E6:'Light Blue',DDA0DD:'Plum',D3D3D3:'Light Grey',FFF0F5:'Lavender Blush',FAEBD7:'Antique White',FFFFE0:'Light Yellow',F0FFF0:'Honeydew',F0FFFF:'Azure',F0F8FF:'Alice Blue',E6E6FA:'Lavender',FFF:'White'},scayt:{title:'Spell Check As You Type',opera_title:'Not supported by Opera',enable:'Enable SCAYT',disable:'Disable SCAYT',about:'About SCAYT',toggle:'Toggle SCAYT',options:'Options',langs:'Languages',moreSuggestions:'More suggestions',ignore:'Ignore',ignoreAll:'Ignore All',addWord:'Add Word',emptyDic:'Dictionary name should not be empty.',optionsTab:'Options',allCaps:'Ignore All-Caps Words',ignoreDomainNames:'Ignore Domain Names',mixedCase:'Ignore Words with Mixed Case',mixedWithDigits:'Ignore Words with Numbers',languagesTab:'Languages',dictionariesTab:'Dictionaries',dic_field_name:'Dictionary name',dic_create:'Create',dic_restore:'Restore',dic_delete:'Delete',dic_rename:'Rename',dic_info:'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.',aboutTab:'About'},about:{title:'About CKEditor',dlgTitle:'About CKEditor',moreInfo:'For licensing information please visit our web site:',copy:'Copyright &copy; $1. All rights reserved.'},maximize:'Maximize',minimize:'Minimize',fakeobjects:{anchor:'Anchor',flash:'Flash Animation',iframe:'IFrame',hiddenfield:'Hidden Field',unknown:'Unknown Object'},resize:'Drag to resize',colordialog:{title:'Select color',options:'Color Options',highlight:'Highlight',selected:'Selected Color',clear:'Clear'},toolbarCollapse:'Collapse Toolbar',toolbarExpand:'Expand Toolbar',bidi:{ltr:'Text direction from left to right',rtl:'Text direction from right to left'}};
@@ -0,0 +1,42 @@
1
+ /*
2
+ Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
3
+ For licensing, see LICENSE.html or http://ckeditor.com/license
4
+ */
5
+
6
+
7
+ CKEDITOR.editorConfig = function( config )
8
+ {
9
+ config.PreserveSessionOnFileBrowser = true;
10
+ // Define changes to default configuration here. For example:
11
+ config.language = 'en';
12
+ // config.uiColor = '#AADC6E';
13
+
14
+ //config.ContextMenu = ['Generic','Anchor','Flash','Select','Textarea','Checkbox','Radio','TextField','HiddenField','ImageButton','Button','BulletedList','NumberedList','Table','Form'] ;
15
+
16
+ config.height = '400px';
17
+ config.width = '600px';
18
+
19
+ //config.resize_enabled = false;
20
+ //config.resize_maxHeight = 2000;
21
+ // config.resize_maxWidth = 750;
22
+
23
+ //config.startupFocus = true;
24
+
25
+ // works only with en, ru, uk languages
26
+ // config.extraPlugins = "embed,attachment";
27
+ config.extraPlugins = "autogrow";
28
+
29
+ config.toolbar = 'Easy';
30
+
31
+ config.toolbar_Easy =
32
+ [
33
+ ['Maximize','-','PasteFromWord'],
34
+ // ['Undo','Redo','-','Find','Replace','RemoveFormat'],
35
+ ['Bold','Italic','TextColor'],
36
+ ['NumberedList','BulletedList']
37
+ // ,'-','Outdent','Indent','Blockquote'],
38
+ ['Link','Unlink'],
39
+ ['Table','SpecialChar']
40
+ ];
41
+ };
42
+
@@ -0,0 +1,12 @@
1
+ /*
2
+ * This is a manifest file that'll automatically include all the stylesheets available in this directory
3
+ * and any sub-directories. You're free to add application-wide styles to this file and they'll appear at
4
+ * the top of the compiled file, but it's generally better to create a new file per style scope.
5
+ */
6
+
7
+
8
+ *= require_self
9
+ *= require_tree .
10
+ strong {
11
+ color: yellow;
12
+ }
@@ -0,0 +1,364 @@
1
+ /**
2
+ * Unobtrusive scripting adapter for jQuery
3
+ *
4
+ * Requires jQuery 1.6.0 or later.
5
+ * https://github.com/rails/jquery-ujs
6
+
7
+ * Uploading file using rails.js
8
+ * =============================
9
+ *
10
+ * By default, browsers do not allow files to be uploaded via AJAX. As a result, if there are any non-blank file fields
11
+ * in the remote form, this adapter aborts the AJAX submission and allows the form to submit through standard means.
12
+ *
13
+ * The `ajax:aborted:file` event allows you to bind your own handler to process the form submission however you wish.
14
+ *
15
+ * Ex:
16
+ * $('form').live('ajax:aborted:file', function(event, elements){
17
+ * // Implement own remote file-transfer handler here for non-blank file inputs passed in `elements`.
18
+ * // Returning false in this handler tells rails.js to disallow standard form submission
19
+ * return false;
20
+ * });
21
+ *
22
+ * The `ajax:aborted:file` event is fired when a file-type input is detected with a non-blank value.
23
+ *
24
+ * Third-party tools can use this hook to detect when an AJAX file upload is attempted, and then use
25
+ * techniques like the iframe method to upload the file instead.
26
+ *
27
+ * Required fields in rails.js
28
+ * ===========================
29
+ *
30
+ * If any blank required inputs (required="required") are detected in the remote form, the whole form submission
31
+ * is canceled. Note that this is unlike file inputs, which still allow standard (non-AJAX) form submission.
32
+ *
33
+ * The `ajax:aborted:required` event allows you to bind your own handler to inform the user of blank required inputs.
34
+ *
35
+ * !! Note that Opera does not fire the form's submit event if there are blank required inputs, so this event may never
36
+ * get fired in Opera. This event is what causes other browsers to exhibit the same submit-aborting behavior.
37
+ *
38
+ * Ex:
39
+ * $('form').live('ajax:aborted:required', function(event, elements){
40
+ * // Returning false in this handler tells rails.js to submit the form anyway.
41
+ * // The blank required inputs are passed to this function in `elements`.
42
+ * return ! confirm("Would you like to submit the form with missing info?");
43
+ * });
44
+ */
45
+
46
+
47
+ (function($, undefined) {
48
+ // Shorthand to make it a little easier to call public rails functions from within rails.js
49
+ var rails;
50
+
51
+ $.rails = rails = {
52
+ // Link elements bound by jquery-ujs
53
+ linkClickSelector: 'a[data-confirm], a[data-method], a[data-remote], a[data-disable-with]',
54
+
55
+ // Select elements bound by jquery-ujs
56
+ inputChangeSelector: 'select[data-remote], input[data-remote], textarea[data-remote]',
57
+
58
+ // Form elements bound by jquery-ujs
59
+ formSubmitSelector: 'form',
60
+
61
+ // Form input elements bound by jquery-ujs
62
+ formInputClickSelector: 'form input[type=submit], form input[type=image], form button[type=submit], form button:not([type])',
63
+
64
+ // Form input elements disabled during form submission
65
+ disableSelector: 'input[data-disable-with], button[data-disable-with], textarea[data-disable-with]',
66
+
67
+ // Form input elements re-enabled after form submission
68
+ enableSelector: 'input[data-disable-with]:disabled, button[data-disable-with]:disabled, textarea[data-disable-with]:disabled',
69
+
70
+ // Form required input elements
71
+ requiredInputSelector: 'input[name][required]:not([disabled]),textarea[name][required]:not([disabled])',
72
+
73
+ // Form file input elements
74
+ fileInputSelector: 'input:file',
75
+
76
+ // Link onClick disable selector with possible reenable after remote submission
77
+ linkDisableSelector: 'a[data-disable-with]',
78
+
79
+ // Make sure that every Ajax request sends the CSRF token
80
+ CSRFProtection: function(xhr) {
81
+ var token = $('meta[name="csrf-token"]').attr('content');
82
+ if (token) xhr.setRequestHeader('X-CSRF-Token', token);
83
+ },
84
+
85
+ // Triggers an event on an element and returns false if the event result is false
86
+ fire: function(obj, name, data) {
87
+ var event = $.Event(name);
88
+ obj.trigger(event, data);
89
+ return event.result !== false;
90
+ },
91
+
92
+ // Default confirm dialog, may be overridden with custom confirm dialog in $.rails.confirm
93
+ confirm: function(message) {
94
+ return confirm(message);
95
+ },
96
+
97
+ // Default ajax function, may be overridden with custom function in $.rails.ajax
98
+ ajax: function(options) {
99
+ return $.ajax(options);
100
+ },
101
+
102
+ // Submits "remote" forms and links with ajax
103
+ handleRemote: function(element) {
104
+ var method, url, data,
105
+ crossDomain = element.data('cross-domain') || null,
106
+ dataType = element.data('type') || ($.ajaxSettings && $.ajaxSettings.dataType),
107
+ options;
108
+
109
+ if (rails.fire(element, 'ajax:before')) {
110
+
111
+ if (element.is('form')) {
112
+ method = element.attr('method');
113
+ url = element.attr('action');
114
+ data = element.serializeArray();
115
+ // memoized value from clicked submit button
116
+ var button = element.data('ujs:submit-button');
117
+ if (button) {
118
+ data.push(button);
119
+ element.data('ujs:submit-button', null);
120
+ }
121
+ } else if (element.is(rails.inputChangeSelector)) {
122
+ method = element.data('method');
123
+ url = element.data('url');
124
+ data = element.serialize();
125
+ if (element.data('params')) data = data + "&" + element.data('params');
126
+ } else {
127
+ method = element.data('method');
128
+ url = element.attr('href');
129
+ data = element.data('params') || null;
130
+ }
131
+
132
+ options = {
133
+ type: method || 'GET', data: data, dataType: dataType, crossDomain: crossDomain,
134
+ // stopping the "ajax:beforeSend" event will cancel the ajax request
135
+ beforeSend: function(xhr, settings) {
136
+ if (settings.dataType === undefined) {
137
+ xhr.setRequestHeader('accept', '*/*;q=0.5, ' + settings.accepts.script);
138
+ }
139
+ return rails.fire(element, 'ajax:beforeSend', [xhr, settings]);
140
+ },
141
+ success: function(data, status, xhr) {
142
+ element.trigger('ajax:success', [data, status, xhr]);
143
+ },
144
+ complete: function(xhr, status) {
145
+ element.trigger('ajax:complete', [xhr, status]);
146
+ },
147
+ error: function(xhr, status, error) {
148
+ element.trigger('ajax:error', [xhr, status, error]);
149
+ }
150
+ };
151
+ // Only pass url to `ajax` options if not blank
152
+ if (url) { options.url = url; }
153
+
154
+ rails.ajax(options);
155
+ }
156
+ },
157
+
158
+ // Handles "data-method" on links such as:
159
+ // <a href="/users/5" data-method="delete" rel="nofollow" data-confirm="Are you sure?">Delete</a>
160
+ handleMethod: function(link) {
161
+ var href = link.attr('href'),
162
+ method = link.data('method'),
163
+ csrf_token = $('meta[name=csrf-token]').attr('content'),
164
+ csrf_param = $('meta[name=csrf-param]').attr('content'),
165
+ form = $('<form method="post" action="' + href + '"></form>'),
166
+ metadata_input = '<input name="_method" value="' + method + '" type="hidden" />';
167
+
168
+ if (csrf_param !== undefined && csrf_token !== undefined) {
169
+ metadata_input += '<input name="' + csrf_param + '" value="' + csrf_token + '" type="hidden" />';
170
+ }
171
+
172
+ form.hide().append(metadata_input).appendTo('body');
173
+ form.submit();
174
+ },
175
+
176
+ /* Disables form elements:
177
+ - Caches element value in 'ujs:enable-with' data store
178
+ - Replaces element text with value of 'data-disable-with' attribute
179
+ - Adds disabled=disabled attribute
180
+ */
181
+ disableFormElements: function(form) {
182
+ form.find(rails.disableSelector).each(function() {
183
+ var element = $(this), method = element.is('button') ? 'html' : 'val';
184
+ element.data('ujs:enable-with', element[method]());
185
+ element[method](element.data('disable-with'));
186
+ element.attr('disabled', 'disabled');
187
+ });
188
+ },
189
+
190
+ /* Re-enables disabled form elements:
191
+ - Replaces element text with cached value from 'ujs:enable-with' data store (created in `disableFormElements`)
192
+ - Removes disabled attribute
193
+ */
194
+ enableFormElements: function(form) {
195
+ form.find(rails.enableSelector).each(function() {
196
+ var element = $(this), method = element.is('button') ? 'html' : 'val';
197
+ if (element.data('ujs:enable-with')) element[method](element.data('ujs:enable-with'));
198
+ element.removeAttr('disabled');
199
+ });
200
+ },
201
+
202
+ /* For 'data-confirm' attribute:
203
+ - Fires `confirm` event
204
+ - Shows the confirmation dialog
205
+ - Fires the `confirm:complete` event
206
+
207
+ Returns `true` if no function stops the chain and user chose yes; `false` otherwise.
208
+ Attaching a handler to the element's `confirm` event that returns a `falsy` value cancels the confirmation dialog.
209
+ Attaching a handler to the element's `confirm:complete` event that returns a `falsy` value makes this function
210
+ return false. The `confirm:complete` event is fired whether or not the user answered true or false to the dialog.
211
+ */
212
+ allowAction: function(element) {
213
+ var message = element.data('confirm'),
214
+ answer = false, callback;
215
+ if (!message) { return true; }
216
+
217
+ if (rails.fire(element, 'confirm')) {
218
+ answer = rails.confirm(message);
219
+ callback = rails.fire(element, 'confirm:complete', [answer]);
220
+ }
221
+ return answer && callback;
222
+ },
223
+
224
+ // Helper function which checks for blank inputs in a form that match the specified CSS selector
225
+ blankInputs: function(form, specifiedSelector, nonBlank) {
226
+ var inputs = $(), input,
227
+ selector = specifiedSelector || 'input,textarea';
228
+ form.find(selector).each(function() {
229
+ input = $(this);
230
+ // Collect non-blank inputs if nonBlank option is true, otherwise, collect blank inputs
231
+ if (nonBlank ? input.val() : !input.val()) {
232
+ inputs = inputs.add(input);
233
+ }
234
+ });
235
+ return inputs.length ? inputs : false;
236
+ },
237
+
238
+ // Helper function which checks for non-blank inputs in a form that match the specified CSS selector
239
+ nonBlankInputs: function(form, specifiedSelector) {
240
+ return rails.blankInputs(form, specifiedSelector, true); // true specifies nonBlank
241
+ },
242
+
243
+ // Helper function, needed to provide consistent behavior in IE
244
+ stopEverything: function(e) {
245
+ $(e.target).trigger('ujs:everythingStopped');
246
+ e.stopImmediatePropagation();
247
+ return false;
248
+ },
249
+
250
+ // find all the submit events directly bound to the form and
251
+ // manually invoke them. If anyone returns false then stop the loop
252
+ callFormSubmitBindings: function(form) {
253
+ var events = form.data('events'), continuePropagation = true;
254
+ if (events !== undefined && events['submit'] !== undefined) {
255
+ $.each(events['submit'], function(i, obj){
256
+ if (typeof obj.handler === 'function') return continuePropagation = obj.handler(obj.data);
257
+ });
258
+ }
259
+ return continuePropagation;
260
+ },
261
+
262
+ // replace element's html with the 'data-disable-with' after storing original html
263
+ // and prevent clicking on it
264
+ disableElement: function(element) {
265
+ element.data('ujs:enable-with', element.html()); // store enabled state
266
+ element.html(element.data('disable-with')); // set to disabled state
267
+ element.bind('click.railsDisable', function(e) { // prevent further clicking
268
+ return rails.stopEverything(e)
269
+ });
270
+ },
271
+
272
+ // restore element to its original state which was disabled by 'disableElement' above
273
+ enableElement: function(element) {
274
+ if (element.data('ujs:enable-with') !== undefined) {
275
+ element.html(element.data('ujs:enable-with')); // set to old enabled state
276
+ // this should be element.removeData('ujs:enable-with')
277
+ // but, there is currently a bug in jquery which makes hyphenated data attributes not get removed
278
+ element.data('ujs:enable-with', false); // clean up cache
279
+ }
280
+ element.unbind('click.railsDisable'); // enable element
281
+ }
282
+
283
+ };
284
+
285
+ $.ajaxPrefilter(function(options, originalOptions, xhr){ if ( !options.crossDomain ) { rails.CSRFProtection(xhr); }});
286
+
287
+ $(rails.linkDisableSelector).live('ajax:complete', function() {
288
+ rails.enableElement($(this));
289
+ });
290
+
291
+ $(rails.linkClickSelector).live('click.rails', function(e) {
292
+ var link = $(this);
293
+ if (!rails.allowAction(link)) return rails.stopEverything(e);
294
+
295
+ if (link.is(rails.linkDisableSelector)) rails.disableElement(link);
296
+
297
+ if (link.data('remote') !== undefined) {
298
+ rails.handleRemote(link);
299
+ return false;
300
+ } else if (link.data('method')) {
301
+ rails.handleMethod(link);
302
+ return false;
303
+ }
304
+ });
305
+
306
+ $(rails.inputChangeSelector).live('change.rails', function(e) {
307
+ var link = $(this);
308
+ if (!rails.allowAction(link)) return rails.stopEverything(e);
309
+
310
+ rails.handleRemote(link);
311
+ return false;
312
+ });
313
+
314
+ $(rails.formSubmitSelector).live('submit.rails', function(e) {
315
+ var form = $(this),
316
+ remote = form.data('remote') !== undefined,
317
+ blankRequiredInputs = rails.blankInputs(form, rails.requiredInputSelector),
318
+ nonBlankFileInputs = rails.nonBlankInputs(form, rails.fileInputSelector);
319
+
320
+ if (!rails.allowAction(form)) return rails.stopEverything(e);
321
+
322
+ // skip other logic when required values are missing or file upload is present
323
+ if (blankRequiredInputs && form.attr("novalidate") == undefined && rails.fire(form, 'ajax:aborted:required', [blankRequiredInputs])) {
324
+ return rails.stopEverything(e);
325
+ }
326
+
327
+ if (remote) {
328
+ if (nonBlankFileInputs) {
329
+ return rails.fire(form, 'ajax:aborted:file', [nonBlankFileInputs]);
330
+ }
331
+
332
+ // If browser does not support submit bubbling, then this live-binding will be called before direct
333
+ // bindings. Therefore, we should directly call any direct bindings before remotely submitting form.
334
+ if (!$.support.submitBubbles && rails.callFormSubmitBindings(form) === false) return rails.stopEverything(e);
335
+
336
+ rails.handleRemote(form);
337
+ return false;
338
+ } else {
339
+ // slight timeout so that the submit button gets properly serialized
340
+ setTimeout(function(){ rails.disableFormElements(form); }, 13);
341
+ }
342
+ });
343
+
344
+ $(rails.formInputClickSelector).live('click.rails', function(event) {
345
+ var button = $(this);
346
+
347
+ if (!rails.allowAction(button)) return rails.stopEverything(event);
348
+
349
+ // register the pressed submit button
350
+ var name = button.attr('name'),
351
+ data = name ? {name:name, value:button.val()} : null;
352
+
353
+ button.closest('form').data('ujs:submit-button', data);
354
+ });
355
+
356
+ $(rails.formSubmitSelector).live('ajax:beforeSend.rails', function(event) {
357
+ if (this == event.target) rails.disableFormElements($(this));
358
+ });
359
+
360
+ $(rails.formSubmitSelector).live('ajax:complete.rails', function(event) {
361
+ if (this == event.target) rails.enableFormElements($(this));
362
+ });
363
+
364
+ })( jQuery );