releaf-core 1.1.21 → 2.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (495) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/config/releaf_core_manifest.js +3 -0
  3. data/app/assets/images/ckeditor/plugins/about/dialogs/hidpi/logo_ckeditor.png +0 -0
  4. data/app/assets/images/ckeditor/plugins/about/dialogs/logo_ckeditor.png +0 -0
  5. data/app/assets/images/ckeditor/plugins/flash/images/placeholder.png +0 -0
  6. data/app/assets/images/ckeditor/plugins/forms/images/hiddenfield.gif +0 -0
  7. data/app/assets/images/ckeditor/plugins/icons.png +0 -0
  8. data/app/assets/images/ckeditor/plugins/iframe/images/placeholder.png +0 -0
  9. data/app/assets/images/ckeditor/plugins/image/images/noimage.png +0 -0
  10. data/app/assets/images/ckeditor/plugins/link/images/anchor.png +0 -0
  11. data/app/assets/images/ckeditor/plugins/link/images/hidpi/anchor.png +0 -0
  12. data/app/assets/images/ckeditor/plugins/magicline/images/hidpi/icon-rtl.png +0 -0
  13. data/app/assets/images/ckeditor/plugins/magicline/images/hidpi/icon.png +0 -0
  14. data/app/assets/images/ckeditor/plugins/magicline/images/icon-rtl.png +0 -0
  15. data/app/assets/images/ckeditor/plugins/magicline/images/icon.png +0 -0
  16. data/app/assets/images/ckeditor/plugins/pagebreak/images/pagebreak.gif +0 -0
  17. data/app/assets/images/ckeditor/plugins/showblocks/images/block_address.png +0 -0
  18. data/app/assets/images/ckeditor/plugins/showblocks/images/block_blockquote.png +0 -0
  19. data/app/assets/images/ckeditor/plugins/showblocks/images/block_div.png +0 -0
  20. data/app/assets/images/ckeditor/plugins/showblocks/images/block_h1.png +0 -0
  21. data/app/assets/images/ckeditor/plugins/showblocks/images/block_h2.png +0 -0
  22. data/app/assets/images/ckeditor/plugins/showblocks/images/block_h3.png +0 -0
  23. data/app/assets/images/ckeditor/plugins/showblocks/images/block_h4.png +0 -0
  24. data/app/assets/images/ckeditor/plugins/showblocks/images/block_h5.png +0 -0
  25. data/app/assets/images/ckeditor/plugins/showblocks/images/block_h6.png +0 -0
  26. data/app/assets/images/ckeditor/plugins/showblocks/images/block_p.png +0 -0
  27. data/app/assets/images/ckeditor/plugins/showblocks/images/block_pre.png +0 -0
  28. data/app/assets/images/ckeditor/plugins/smiley/images/angel_smile.gif +0 -0
  29. data/app/assets/images/ckeditor/plugins/smiley/images/angel_smile.png +0 -0
  30. data/app/assets/images/ckeditor/plugins/smiley/images/angry_smile.gif +0 -0
  31. data/app/assets/images/ckeditor/plugins/smiley/images/angry_smile.png +0 -0
  32. data/app/assets/images/ckeditor/plugins/smiley/images/broken_heart.gif +0 -0
  33. data/app/assets/images/ckeditor/plugins/smiley/images/broken_heart.png +0 -0
  34. data/app/assets/images/ckeditor/plugins/smiley/images/confused_smile.gif +0 -0
  35. data/app/assets/images/ckeditor/plugins/smiley/images/confused_smile.png +0 -0
  36. data/app/assets/images/ckeditor/plugins/smiley/images/cry_smile.gif +0 -0
  37. data/app/assets/images/ckeditor/plugins/smiley/images/cry_smile.png +0 -0
  38. data/app/assets/images/ckeditor/plugins/smiley/images/devil_smile.gif +0 -0
  39. data/app/assets/images/ckeditor/plugins/smiley/images/devil_smile.png +0 -0
  40. data/app/assets/images/ckeditor/plugins/smiley/images/embaressed_smile.gif +0 -0
  41. data/app/assets/images/ckeditor/plugins/smiley/images/embarrassed_smile.gif +0 -0
  42. data/app/assets/images/ckeditor/plugins/smiley/images/embarrassed_smile.png +0 -0
  43. data/app/assets/images/ckeditor/plugins/smiley/images/envelope.gif +0 -0
  44. data/app/assets/images/ckeditor/plugins/smiley/images/envelope.png +0 -0
  45. data/app/assets/images/ckeditor/plugins/smiley/images/heart.gif +0 -0
  46. data/app/assets/images/ckeditor/plugins/smiley/images/heart.png +0 -0
  47. data/app/assets/images/ckeditor/plugins/smiley/images/kiss.gif +0 -0
  48. data/app/assets/images/ckeditor/plugins/smiley/images/kiss.png +0 -0
  49. data/app/assets/images/ckeditor/plugins/smiley/images/lightbulb.gif +0 -0
  50. data/app/assets/images/ckeditor/plugins/smiley/images/lightbulb.png +0 -0
  51. data/app/assets/images/ckeditor/plugins/smiley/images/omg_smile.gif +0 -0
  52. data/app/assets/images/ckeditor/plugins/smiley/images/omg_smile.png +0 -0
  53. data/app/assets/images/ckeditor/plugins/smiley/images/regular_smile.gif +0 -0
  54. data/app/assets/images/ckeditor/plugins/smiley/images/regular_smile.png +0 -0
  55. data/app/assets/images/ckeditor/plugins/smiley/images/sad_smile.gif +0 -0
  56. data/app/assets/images/ckeditor/plugins/smiley/images/sad_smile.png +0 -0
  57. data/app/assets/images/ckeditor/plugins/smiley/images/shades_smile.gif +0 -0
  58. data/app/assets/images/ckeditor/plugins/smiley/images/shades_smile.png +0 -0
  59. data/app/assets/images/ckeditor/plugins/smiley/images/teeth_smile.gif +0 -0
  60. data/app/assets/images/ckeditor/plugins/smiley/images/teeth_smile.png +0 -0
  61. data/app/assets/images/ckeditor/plugins/smiley/images/thumbs_down.gif +0 -0
  62. data/app/assets/images/ckeditor/plugins/smiley/images/thumbs_down.png +0 -0
  63. data/app/assets/images/ckeditor/plugins/smiley/images/thumbs_up.gif +0 -0
  64. data/app/assets/images/ckeditor/plugins/smiley/images/thumbs_up.png +0 -0
  65. data/app/assets/images/ckeditor/plugins/smiley/images/tongue_smile.gif +0 -0
  66. data/app/assets/images/ckeditor/plugins/smiley/images/tongue_smile.png +0 -0
  67. data/app/assets/images/ckeditor/plugins/smiley/images/tounge_smile.gif +0 -0
  68. data/app/assets/images/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  69. data/app/assets/images/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.png +0 -0
  70. data/app/assets/images/ckeditor/plugins/smiley/images/wink_smile.gif +0 -0
  71. data/app/assets/images/ckeditor/plugins/smiley/images/wink_smile.png +0 -0
  72. data/app/assets/images/ckeditor/plugins/templates/templates/images/template1.gif +0 -0
  73. data/app/assets/images/ckeditor/plugins/templates/templates/images/template2.gif +0 -0
  74. data/app/assets/images/ckeditor/plugins/templates/templates/images/template3.gif +0 -0
  75. data/app/assets/images/ckeditor/plugins/widget/images/handle.png +0 -0
  76. data/app/assets/images/ckeditor/skins/moono-lisa/icons.png +0 -0
  77. data/app/assets/images/ckeditor/skins/moono-lisa/icons_hidpi.png +0 -0
  78. data/app/assets/images/ckeditor/skins/moono-lisa/images/arrow.png +0 -0
  79. data/app/assets/images/ckeditor/skins/moono-lisa/images/close.png +0 -0
  80. data/app/assets/images/ckeditor/skins/moono-lisa/images/hidpi/close.png +0 -0
  81. data/app/assets/images/ckeditor/skins/moono-lisa/images/hidpi/lock-open.png +0 -0
  82. data/app/assets/images/ckeditor/skins/moono-lisa/images/hidpi/lock.png +0 -0
  83. data/app/assets/images/ckeditor/skins/moono-lisa/images/hidpi/refresh.png +0 -0
  84. data/app/assets/images/ckeditor/skins/moono-lisa/images/lock-open.png +0 -0
  85. data/app/assets/images/ckeditor/skins/moono-lisa/images/lock.png +0 -0
  86. data/app/assets/images/ckeditor/skins/moono-lisa/images/refresh.png +0 -0
  87. data/app/assets/images/ckeditor/skins/moono-lisa/images/spinner.gif +0 -0
  88. data/app/assets/javascripts/ckeditor-jquery.js +3 -0
  89. data/app/assets/javascripts/ckeditor/CHANGES.md +1637 -0
  90. data/app/assets/javascripts/ckeditor/LICENSE.md +1420 -0
  91. data/app/assets/javascripts/ckeditor/README.md +39 -0
  92. data/app/assets/javascripts/ckeditor/basepath.js.erb +6 -0
  93. data/app/assets/javascripts/ckeditor/build-config.js +190 -0
  94. data/app/assets/javascripts/ckeditor/ckeditor.js +1331 -0
  95. data/app/assets/javascripts/ckeditor/config.js +10 -0
  96. data/app/assets/javascripts/ckeditor/jquery.js +10 -0
  97. data/app/assets/javascripts/ckeditor/lang/af.js +5 -0
  98. data/app/assets/javascripts/ckeditor/lang/ar.js +5 -0
  99. data/app/assets/javascripts/ckeditor/lang/az.js +5 -0
  100. data/app/assets/javascripts/ckeditor/lang/bg.js +5 -0
  101. data/app/assets/javascripts/ckeditor/lang/bn.js +5 -0
  102. data/app/assets/javascripts/ckeditor/lang/bs.js +5 -0
  103. data/app/assets/javascripts/ckeditor/lang/ca.js +5 -0
  104. data/app/assets/javascripts/ckeditor/lang/cs.js +5 -0
  105. data/app/assets/javascripts/ckeditor/lang/cy.js +5 -0
  106. data/app/assets/javascripts/ckeditor/lang/da.js +5 -0
  107. data/app/assets/javascripts/ckeditor/lang/de-ch.js +5 -0
  108. data/app/assets/javascripts/ckeditor/lang/de.js +5 -0
  109. data/app/assets/javascripts/ckeditor/lang/el.js +5 -0
  110. data/app/assets/javascripts/ckeditor/lang/en-au.js +5 -0
  111. data/app/assets/javascripts/ckeditor/lang/en-ca.js +5 -0
  112. data/app/assets/javascripts/ckeditor/lang/en-gb.js +5 -0
  113. data/app/assets/javascripts/ckeditor/lang/en.js +5 -0
  114. data/app/assets/javascripts/ckeditor/lang/eo.js +5 -0
  115. data/app/assets/javascripts/ckeditor/lang/es-mx.js +5 -0
  116. data/app/assets/javascripts/ckeditor/lang/es.js +5 -0
  117. data/app/assets/javascripts/ckeditor/lang/et.js +5 -0
  118. data/app/assets/javascripts/ckeditor/lang/eu.js +5 -0
  119. data/app/assets/javascripts/ckeditor/lang/fa.js +5 -0
  120. data/app/assets/javascripts/ckeditor/lang/fi.js +5 -0
  121. data/app/assets/javascripts/ckeditor/lang/fo.js +5 -0
  122. data/app/assets/javascripts/ckeditor/lang/fr-ca.js +5 -0
  123. data/app/assets/javascripts/ckeditor/lang/fr.js +5 -0
  124. data/app/assets/javascripts/ckeditor/lang/gl.js +5 -0
  125. data/app/assets/javascripts/ckeditor/lang/gu.js +5 -0
  126. data/app/assets/javascripts/ckeditor/lang/he.js +5 -0
  127. data/app/assets/javascripts/ckeditor/lang/hi.js +5 -0
  128. data/app/assets/javascripts/ckeditor/lang/hr.js +5 -0
  129. data/app/assets/javascripts/ckeditor/lang/hu.js +5 -0
  130. data/app/assets/javascripts/ckeditor/lang/id.js +5 -0
  131. data/app/assets/javascripts/ckeditor/lang/is.js +5 -0
  132. data/app/assets/javascripts/ckeditor/lang/it.js +5 -0
  133. data/app/assets/javascripts/ckeditor/lang/ja.js +5 -0
  134. data/app/assets/javascripts/ckeditor/lang/ka.js +5 -0
  135. data/app/assets/javascripts/ckeditor/lang/km.js +5 -0
  136. data/app/assets/javascripts/ckeditor/lang/ko.js +5 -0
  137. data/app/assets/javascripts/ckeditor/lang/ku.js +5 -0
  138. data/app/assets/javascripts/ckeditor/lang/lt.js +5 -0
  139. data/app/assets/javascripts/ckeditor/lang/lv.js +5 -0
  140. data/app/assets/javascripts/ckeditor/lang/mk.js +5 -0
  141. data/app/assets/javascripts/ckeditor/lang/mn.js +5 -0
  142. data/app/assets/javascripts/ckeditor/lang/ms.js +5 -0
  143. data/app/assets/javascripts/ckeditor/lang/nb.js +5 -0
  144. data/app/assets/javascripts/ckeditor/lang/nl.js +5 -0
  145. data/app/assets/javascripts/ckeditor/lang/no.js +5 -0
  146. data/app/assets/javascripts/ckeditor/lang/oc.js +5 -0
  147. data/app/assets/javascripts/ckeditor/lang/pl.js +5 -0
  148. data/app/assets/javascripts/ckeditor/lang/pt-br.js +5 -0
  149. data/app/assets/javascripts/ckeditor/lang/pt.js +5 -0
  150. data/app/assets/javascripts/ckeditor/lang/ro.js +5 -0
  151. data/app/assets/javascripts/ckeditor/lang/ru.js +5 -0
  152. data/app/assets/javascripts/ckeditor/lang/si.js +5 -0
  153. data/app/assets/javascripts/ckeditor/lang/sk.js +5 -0
  154. data/app/assets/javascripts/ckeditor/lang/sl.js +5 -0
  155. data/app/assets/javascripts/ckeditor/lang/sq.js +5 -0
  156. data/app/assets/javascripts/ckeditor/lang/sr-latn.js +5 -0
  157. data/app/assets/javascripts/ckeditor/lang/sr.js +5 -0
  158. data/app/assets/javascripts/ckeditor/lang/sv.js +5 -0
  159. data/app/assets/javascripts/ckeditor/lang/th.js +5 -0
  160. data/app/assets/javascripts/ckeditor/lang/tr.js +5 -0
  161. data/app/assets/javascripts/ckeditor/lang/tt.js +5 -0
  162. data/app/assets/javascripts/ckeditor/lang/ug.js +5 -0
  163. data/app/assets/javascripts/ckeditor/lang/uk.js +5 -0
  164. data/app/assets/javascripts/ckeditor/lang/vi.js +5 -0
  165. data/app/assets/javascripts/ckeditor/lang/zh-cn.js +5 -0
  166. data/app/assets/javascripts/ckeditor/lang/zh.js +5 -0
  167. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +10 -0
  168. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/af.js +11 -0
  169. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ar.js +11 -0
  170. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/az.js +11 -0
  171. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/bg.js +11 -0
  172. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ca.js +13 -0
  173. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/cs.js +12 -0
  174. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/cy.js +11 -0
  175. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/da.js +11 -0
  176. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/de-ch.js +12 -0
  177. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/de.js +13 -0
  178. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/el.js +13 -0
  179. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/en-au.js +11 -0
  180. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/en-gb.js +11 -0
  181. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/en.js +11 -0
  182. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/eo.js +13 -0
  183. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/es-mx.js +13 -0
  184. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/es.js +13 -0
  185. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/et.js +11 -0
  186. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/eu.js +12 -0
  187. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/fa.js +11 -0
  188. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/fi.js +11 -0
  189. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/fo.js +11 -0
  190. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/fr-ca.js +11 -0
  191. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/fr.js +13 -0
  192. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/gl.js +12 -0
  193. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/gu.js +11 -0
  194. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/he.js +11 -0
  195. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/hi.js +11 -0
  196. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/hr.js +11 -0
  197. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/hu.js +12 -0
  198. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/id.js +11 -0
  199. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/it.js +13 -0
  200. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ja.js +9 -0
  201. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/km.js +11 -0
  202. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ko.js +10 -0
  203. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ku.js +11 -0
  204. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/lt.js +11 -0
  205. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/lv.js +12 -0
  206. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/mk.js +11 -0
  207. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/mn.js +11 -0
  208. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/nb.js +12 -0
  209. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/nl.js +12 -0
  210. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/no.js +11 -0
  211. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/oc.js +12 -0
  212. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/pl.js +13 -0
  213. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/pt-br.js +13 -0
  214. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/pt.js +12 -0
  215. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ro.js +12 -0
  216. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ru.js +11 -0
  217. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/si.js +10 -0
  218. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/sk.js +11 -0
  219. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/sl.js +11 -0
  220. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/sq.js +12 -0
  221. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/sr-latn.js +11 -0
  222. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/sr.js +11 -0
  223. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/sv.js +11 -0
  224. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/th.js +11 -0
  225. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/tr.js +12 -0
  226. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/tt.js +11 -0
  227. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ug.js +12 -0
  228. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/uk.js +12 -0
  229. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/vi.js +11 -0
  230. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/zh-cn.js +9 -0
  231. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/zh.js +9 -0
  232. data/app/assets/javascripts/ckeditor/plugins/about/dialogs/about.js +8 -0
  233. data/app/assets/javascripts/ckeditor/plugins/clipboard/dialogs/paste.js +11 -0
  234. data/app/assets/javascripts/ckeditor/plugins/colordialog/dialogs/colordialog.js +14 -0
  235. data/app/assets/javascripts/ckeditor/plugins/dialog/dialogDefinition.js +4 -0
  236. data/app/assets/javascripts/ckeditor/plugins/div/dialogs/div.js +9 -0
  237. data/app/assets/javascripts/ckeditor/plugins/find/dialogs/find.js +25 -0
  238. data/app/assets/javascripts/ckeditor/plugins/flash/dialogs/flash.js +24 -0
  239. data/app/assets/javascripts/ckeditor/plugins/forms/dialogs/button.js +8 -0
  240. data/app/assets/javascripts/ckeditor/plugins/forms/dialogs/checkbox.js +9 -0
  241. data/app/assets/javascripts/ckeditor/plugins/forms/dialogs/form.js +8 -0
  242. data/app/assets/javascripts/ckeditor/plugins/forms/dialogs/hiddenfield.js +7 -0
  243. data/app/assets/javascripts/ckeditor/plugins/forms/dialogs/radio.js +9 -0
  244. data/app/assets/javascripts/ckeditor/plugins/forms/dialogs/select.js +21 -0
  245. data/app/assets/javascripts/ckeditor/plugins/forms/dialogs/textarea.js +8 -0
  246. data/app/assets/javascripts/ckeditor/plugins/forms/dialogs/textfield.js +11 -0
  247. data/app/assets/javascripts/ckeditor/plugins/iframe/dialogs/iframe.js +10 -0
  248. data/app/assets/javascripts/ckeditor/plugins/image/dialogs/image.js +44 -0
  249. data/app/assets/javascripts/ckeditor/plugins/link/dialogs/anchor.js +8 -0
  250. data/app/assets/javascripts/ckeditor/plugins/link/dialogs/link.js +30 -0
  251. data/app/assets/javascripts/ckeditor/plugins/liststyle/dialogs/liststyle.js +10 -0
  252. data/app/assets/javascripts/ckeditor/plugins/pastefromword/filter/default.js +55 -0
  253. data/app/assets/javascripts/ckeditor/plugins/preview/preview.html +13 -0
  254. data/app/assets/javascripts/ckeditor/plugins/scayt/CHANGELOG.md +20 -0
  255. data/app/assets/javascripts/ckeditor/plugins/scayt/LICENSE.md +28 -0
  256. data/app/assets/javascripts/ckeditor/plugins/scayt/README.md +25 -0
  257. data/app/assets/javascripts/ckeditor/plugins/scayt/dialogs/options.js +32 -0
  258. data/app/assets/javascripts/ckeditor/plugins/smiley/dialogs/smiley.js +11 -0
  259. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/af.js +13 -0
  260. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ar.js +13 -0
  261. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/az.js +10 -0
  262. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/bg.js +13 -0
  263. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ca.js +14 -0
  264. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/cs.js +13 -0
  265. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/cy.js +14 -0
  266. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/da.js +11 -0
  267. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/de-ch.js +13 -0
  268. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/de.js +13 -0
  269. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/el.js +13 -0
  270. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/en-au.js +13 -0
  271. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/en-ca.js +13 -0
  272. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/en-gb.js +13 -0
  273. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/en.js +13 -0
  274. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/eo.js +12 -0
  275. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/es-mx.js +13 -0
  276. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/es.js +13 -0
  277. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/et.js +13 -0
  278. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/eu.js +13 -0
  279. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/fa.js +12 -0
  280. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/fi.js +13 -0
  281. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/fr-ca.js +10 -0
  282. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/fr.js +12 -0
  283. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/gl.js +13 -0
  284. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/he.js +12 -0
  285. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/hr.js +13 -0
  286. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/hu.js +12 -0
  287. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/id.js +13 -0
  288. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/it.js +14 -0
  289. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ja.js +9 -0
  290. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/km.js +13 -0
  291. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ko.js +10 -0
  292. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ku.js +13 -0
  293. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/lt.js +13 -0
  294. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/lv.js +13 -0
  295. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/nb.js +11 -0
  296. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/nl.js +13 -0
  297. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/no.js +11 -0
  298. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/oc.js +12 -0
  299. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/pl.js +12 -0
  300. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/pt-br.js +11 -0
  301. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/pt.js +13 -0
  302. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ro.js +13 -0
  303. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ru.js +13 -0
  304. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/si.js +13 -0
  305. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/sk.js +13 -0
  306. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/sl.js +12 -0
  307. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/sq.js +13 -0
  308. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/sv.js +11 -0
  309. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/th.js +13 -0
  310. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/tr.js +12 -0
  311. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/tt.js +13 -0
  312. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ug.js +13 -0
  313. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/uk.js +12 -0
  314. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/vi.js +14 -0
  315. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/zh-cn.js +9 -0
  316. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/zh.js +9 -0
  317. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/specialchar.js +14 -0
  318. data/app/assets/javascripts/ckeditor/plugins/table/dialogs/table.js +21 -0
  319. data/app/assets/javascripts/ckeditor/plugins/tabletools/dialogs/tableCell.js +18 -0
  320. data/app/assets/javascripts/ckeditor/plugins/templates/dialogs/templates.js +10 -0
  321. data/app/assets/javascripts/ckeditor/plugins/templates/templates/default.js +7 -0
  322. data/app/assets/javascripts/ckeditor/plugins/wsc/LICENSE.md +28 -0
  323. data/app/assets/javascripts/ckeditor/plugins/wsc/README.md +25 -0
  324. data/app/assets/javascripts/ckeditor/plugins/wsc/dialogs/ciframe.html +66 -0
  325. data/app/assets/javascripts/ckeditor/plugins/wsc/dialogs/tmpFrameset.html +52 -0
  326. data/app/assets/javascripts/ckeditor/plugins/wsc/dialogs/wsc.js +91 -0
  327. data/app/assets/javascripts/ckeditor/plugins/wsc/dialogs/wsc_ie.js +11 -0
  328. data/app/assets/javascripts/ckeditor/styles.js +137 -0
  329. data/app/assets/javascripts/releaf/include/remote_validator.js +1 -1
  330. data/app/assets/javascripts/releaf/include/store_settings.js +2 -2
  331. data/app/assets/javascripts/releaf/include/url_builder.js +130 -130
  332. data/app/assets/stylesheets/ckeditor/contents.css +208 -0
  333. data/app/assets/stylesheets/ckeditor/plugins/colordialog/dialogs/colordialog.css +20 -0
  334. data/app/assets/stylesheets/ckeditor/plugins/copyformatting/styles/copyformatting.css +45 -0
  335. data/app/assets/stylesheets/ckeditor/plugins/scayt/dialogs/dialog.css +23 -0
  336. data/app/assets/stylesheets/ckeditor/plugins/scayt/dialogs/toolbar.css +71 -0
  337. data/app/assets/stylesheets/ckeditor/plugins/scayt/skins/moono-lisa/scayt.css +25 -0
  338. data/app/assets/stylesheets/ckeditor/plugins/tableselection/styles/tableselection.css +36 -0
  339. data/app/assets/stylesheets/ckeditor/plugins/templates/dialogs/templates.css +84 -0
  340. data/app/assets/stylesheets/ckeditor/plugins/wsc/dialogs/wsc.css +82 -0
  341. data/app/assets/stylesheets/ckeditor/plugins/wsc/skins/moono-lisa/wsc.css +43 -0
  342. data/app/assets/stylesheets/ckeditor/skins/moono-lisa/dialog.css +5 -0
  343. data/app/assets/stylesheets/ckeditor/skins/moono-lisa/dialog_ie.css +5 -0
  344. data/app/assets/stylesheets/ckeditor/skins/moono-lisa/dialog_ie8.css +5 -0
  345. data/app/assets/stylesheets/ckeditor/skins/moono-lisa/dialog_iequirks.css +5 -0
  346. data/app/assets/stylesheets/ckeditor/skins/moono-lisa/editor.css +5 -0
  347. data/app/assets/stylesheets/ckeditor/skins/moono-lisa/editor_gecko.css +5 -0
  348. data/app/assets/stylesheets/ckeditor/skins/moono-lisa/editor_ie.css +5 -0
  349. data/app/assets/stylesheets/ckeditor/skins/moono-lisa/editor_ie8.css +5 -0
  350. data/app/assets/stylesheets/ckeditor/skins/moono-lisa/editor_iequirks.css +5 -0
  351. data/app/builders/releaf/builders.rb +4 -1
  352. data/app/builders/releaf/builders/base.rb +1 -1
  353. data/app/builders/releaf/builders/form_builder/associations.rb +1 -1
  354. data/app/builders/releaf/builders/page/layout_builder.rb +1 -1
  355. data/app/builders/releaf/builders/pagination_builder.rb +1 -1
  356. data/app/builders/releaf/builders/table_builder.rb +0 -1
  357. data/app/controllers/releaf/action_controller.rb +2 -2
  358. data/app/controllers/releaf/root_controller.rb +9 -7
  359. data/app/helpers/releaf/application_helper.rb +2 -2
  360. data/app/lib/releaf/action_controller/features.rb +1 -6
  361. data/app/lib/releaf/build_errors_hash.rb +12 -12
  362. data/app/lib/releaf/responders.rb +0 -1
  363. data/app/lib/releaf/search.rb +5 -18
  364. data/app/models/releaf/settings.rb +1 -1
  365. data/app/views/releaf/action/create_releaf_richtext_attachment.haml +2 -1
  366. data/app/views/releaf/error_pages/access_denied.html.haml +1 -1
  367. data/lib/generators/dummy/install_generator.rb +2 -1
  368. data/lib/generators/dummy/templates/assets/config/manifest.js +3 -0
  369. data/lib/generators/dummy/templates/controllers/application_controller.rb +1 -1
  370. data/lib/generators/dummy/templates/migrations/create_authors.rb +1 -1
  371. data/lib/generators/dummy/templates/migrations/create_banner_groups.rb +1 -1
  372. data/lib/generators/dummy/templates/migrations/create_banner_pages.rb +2 -2
  373. data/lib/generators/dummy/templates/migrations/create_banners.rb +2 -2
  374. data/lib/generators/dummy/templates/migrations/create_book_sequels.rb +1 -1
  375. data/lib/generators/dummy/templates/migrations/create_books.rb +1 -1
  376. data/lib/generators/dummy/templates/migrations/create_bundles.rb +1 -1
  377. data/lib/generators/dummy/templates/migrations/create_chapters.rb +1 -1
  378. data/lib/generators/dummy/templates/migrations/create_home_pages.rb +1 -1
  379. data/lib/generators/dummy/templates/migrations/create_node_extra_fields.rb +1 -1
  380. data/lib/generators/dummy/templates/migrations/create_other_nodes.rb +1 -1
  381. data/lib/generators/dummy/templates/migrations/create_publishers.rb +1 -1
  382. data/lib/generators/dummy/templates/migrations/create_text_pages.rb +1 -1
  383. data/lib/generators/dummy/templates/models/author.rb +1 -1
  384. data/lib/generators/dummy/templates/models/banner.rb +1 -1
  385. data/lib/generators/dummy/templates/models/banner_group.rb +1 -1
  386. data/lib/generators/dummy/templates/models/book.rb +1 -1
  387. data/lib/generators/releaf/templates/migrations/create_releaf_nodes.rb +1 -1
  388. data/lib/generators/releaf/templates/migrations/create_releaf_permissions.rb +1 -1
  389. data/lib/generators/releaf/templates/migrations/create_releaf_richtext_attachments.rb +1 -1
  390. data/lib/generators/releaf/templates/migrations/create_releaf_roles.rb +1 -1
  391. data/lib/generators/releaf/templates/migrations/create_releaf_settings.rb +1 -1
  392. data/lib/generators/releaf/templates/migrations/create_releaf_translations.rb +1 -1
  393. data/lib/generators/releaf/templates/migrations/create_releaf_users.rb +1 -1
  394. data/lib/releaf-core.rb +1 -2
  395. data/lib/releaf/engine.rb +2 -3
  396. data/lib/releaf/rails_ext/globalize-accessors.rb +64 -0
  397. data/lib/releaf/rails_ext/validation_error_codes.rb +0 -36
  398. metadata +420 -222
  399. data/app/lib/releaf/responders/feature_disabled_responder.rb +0 -9
  400. data/app/views/releaf/error_pages/feature_disabled.html.haml +0 -1
  401. data/spec/builders/releaf/builders/association_reflector_spec.rb +0 -138
  402. data/spec/builders/releaf/builders/base_spec.rb +0 -272
  403. data/spec/builders/releaf/builders/collection_spec.rb +0 -18
  404. data/spec/builders/releaf/builders/confirm_destroy_dialog_builder_spec.rb +0 -71
  405. data/spec/builders/releaf/builders/confirm_dialog_builder_spec.rb +0 -107
  406. data/spec/builders/releaf/builders/edit_builder_spec.rb +0 -322
  407. data/spec/builders/releaf/builders/form_builder/associations_spec.rb +0 -129
  408. data/spec/builders/releaf/builders/form_builder/date_fields_spec.rb +0 -86
  409. data/spec/builders/releaf/builders/form_builder/i18n_fields_spec.rb +0 -48
  410. data/spec/builders/releaf/builders/form_builder/label_spec.rb +0 -106
  411. data/spec/builders/releaf/builders/form_builder/number_fields_spec.rb +0 -37
  412. data/spec/builders/releaf/builders/form_builder_spec.rb +0 -228
  413. data/spec/builders/releaf/builders/index_builder_spec.rb +0 -364
  414. data/spec/builders/releaf/builders/page/header_builder_spec.rb +0 -65
  415. data/spec/builders/releaf/builders/page/layout_builder_spec.rb +0 -237
  416. data/spec/builders/releaf/builders/page/menu_builder_spec.rb +0 -345
  417. data/spec/builders/releaf/builders/pagination_builder_spec.rb +0 -330
  418. data/spec/builders/releaf/builders/resource_dialog_spec.rb +0 -21
  419. data/spec/builders/releaf/builders/resource_view_spec.rb +0 -158
  420. data/spec/builders/releaf/builders/show_builder_spec.rb +0 -7
  421. data/spec/builders/releaf/builders/table_builder_spec.rb +0 -637
  422. data/spec/builders/releaf/builders/template_spec.rb +0 -12
  423. data/spec/builders/releaf/builders/toolbox_builder_spec.rb +0 -67
  424. data/spec/builders/releaf/builders/toolbox_spec.rb +0 -48
  425. data/spec/builders/releaf/builders/utilities/date_fields_spec.rb +0 -125
  426. data/spec/builders/releaf/builders/utilities/resolve_attribute_field_method_name_spec.rb +0 -318
  427. data/spec/builders/releaf/builders/view_spec.rb +0 -281
  428. data/spec/builders/releaf/builders_spec.rb +0 -134
  429. data/spec/builders/releaf/settings/form_builder_spec.rb +0 -48
  430. data/spec/builders/releaf/settings/table_builder_spec.rb +0 -23
  431. data/spec/controllers/concerns/releaf/richtext_attachments_spec.rb +0 -51
  432. data/spec/controllers/releaf/action_controller_spec.rb +0 -423
  433. data/spec/controllers/releaf/root_controller_spec.rb +0 -45
  434. data/spec/controllers/releaf/settings_controller_spec.rb +0 -52
  435. data/spec/error_hash_builder_spec.rb +0 -83
  436. data/spec/ext/array_reorder_spec.rb +0 -12
  437. data/spec/features/ajaxbox_spec.rb +0 -111
  438. data/spec/features/authorization_spec.rb +0 -50
  439. data/spec/features/breadcrumbs_spec.rb +0 -16
  440. data/spec/features/dragonfly_integration_spec.rb +0 -24
  441. data/spec/features/edit_actions_spec.rb +0 -186
  442. data/spec/features/errors_spec.rb +0 -47
  443. data/spec/features/index_actions_spec.rb +0 -85
  444. data/spec/features/index_table_spec.rb +0 -35
  445. data/spec/features/menu_spec.rb +0 -71
  446. data/spec/features/richtext_attachments_spec.rb +0 -64
  447. data/spec/features/richtext_custom_config_spec.rb +0 -28
  448. data/spec/features/richtext_embed_spec.rb +0 -29
  449. data/spec/features/richtext_spec.rb +0 -31
  450. data/spec/features/search_spec.rb +0 -825
  451. data/spec/features/settings_spec.rb +0 -70
  452. data/spec/features/title_spec.rb +0 -13
  453. data/spec/fixtures/common_fields.yml +0 -17
  454. data/spec/fixtures/cs.png +0 -0
  455. data/spec/fixtures/time.formats.xlsx +0 -0
  456. data/spec/fixtures/unicorn.jpg +0 -0
  457. data/spec/helpers/application_helper_spec.rb +0 -73
  458. data/spec/helpers/button_helper_spec.rb +0 -146
  459. data/spec/lib/releaf/action_controller/features_spec.rb +0 -171
  460. data/spec/lib/releaf/action_controller/search_spec.rb +0 -84
  461. data/spec/lib/releaf/application_spec.rb +0 -43
  462. data/spec/lib/releaf/assets_resolver_spec.rb +0 -130
  463. data/spec/lib/releaf/build_errors_hash_spec.rb +0 -141
  464. data/spec/lib/releaf/configuration_spec.rb +0 -205
  465. data/spec/lib/releaf/controller_definition_spec.rb +0 -78
  466. data/spec/lib/releaf/controller_group_definition_spec.rb +0 -33
  467. data/spec/lib/releaf/default_searchable_fields_spec.rb +0 -161
  468. data/spec/lib/releaf/instance_cache_spec.rb +0 -98
  469. data/spec/lib/releaf/resource_base_spec.rb +0 -212
  470. data/spec/lib/releaf/resource_fields_spec.rb +0 -12
  471. data/spec/lib/releaf/resource_params_spec.rb +0 -115
  472. data/spec/lib/releaf/resource_table_fields_spec.rb +0 -20
  473. data/spec/lib/releaf/resource_utilities_spec.rb +0 -87
  474. data/spec/lib/releaf/responders/access_denied_responder_spec.rb +0 -12
  475. data/spec/lib/releaf/responders/after_save_responder_spec.rb +0 -88
  476. data/spec/lib/releaf/responders/confirm_destroy_responder_spec.rb +0 -26
  477. data/spec/lib/releaf/responders/destroy_responder_spec.rb +0 -30
  478. data/spec/lib/releaf/responders/error_responder_spec.rb +0 -26
  479. data/spec/lib/releaf/responders/feature_disabled_responder_spec.rb +0 -12
  480. data/spec/lib/releaf/responders/page_not_found_responder_spec.rb +0 -12
  481. data/spec/lib/releaf/responders_spec.rb +0 -60
  482. data/spec/lib/releaf/root/configuration_spec.rb +0 -9
  483. data/spec/lib/releaf/root/default_controller_resolver_spec.rb +0 -44
  484. data/spec/lib/releaf/root_spec.rb +0 -13
  485. data/spec/lib/releaf/service_spec.rb +0 -20
  486. data/spec/lib/releaf/settings/normalize_value_spec.rb +0 -103
  487. data/spec/lib/releaf/settings/register_spec.rb +0 -135
  488. data/spec/lib/releaf/settings_manager_spec.rb +0 -22
  489. data/spec/lib/validation_error_codes_spec.rb +0 -56
  490. data/spec/misc/factories_spec.rb +0 -31
  491. data/spec/models/settings_spec.rb +0 -100
  492. data/spec/routing/route_mapper_spec.rb +0 -185
  493. data/spec/rspec_helpers/test_helpers_spec.rb +0 -20
  494. data/spec/rspec_helpers/test_spec.rb +0 -14
  495. data/spec/services/array/reorder_spec.rb +0 -121
@@ -1,84 +0,0 @@
1
- require 'rails_helper'
2
-
3
- describe Releaf::ActionController::Search do
4
- let(:subject){ DummyActionControllerSearchIncluder.new }
5
-
6
- class DummySearcher < Releaf::Search
7
- end
8
-
9
- class DummyActionControllerSearchIncluder < Releaf::ActionController
10
- include Releaf::ActionController::Features
11
- include Releaf::ActionController::Search
12
-
13
- def resource_class
14
- Book
15
- end
16
- end
17
-
18
- describe "#search" do
19
- before do
20
- allow(subject).to receive(:searchable_fields).and_return([:name, :email])
21
- allow(subject).to receive(:feature_available?).with(:search).and_return(true)
22
-
23
- subject.instance_variable_set(:@collection, "_collection")
24
- allow(subject).to receive(:searcher_class).and_return(DummySearcher)
25
- allow(DummySearcher).to receive(:prepare).with(relation: "_collection", fields: [:name, :email], text: "_some")
26
- .and_return("_collection_with_search")
27
- end
28
-
29
- context "when feature is enabled, text and searchable fields is not blank" do
30
- it "replaces collection with searchable collection" do
31
- expect{ subject.search("_some") }.to change{ subject.instance_variable_get(:@collection) }
32
- .from("_collection").to("_collection_with_search")
33
- end
34
- end
35
-
36
- context "when `show` feature is not available" do
37
- it "does not replace collection with searchable collection" do
38
- allow(subject).to receive(:feature_available?).with(:search).and_return(false)
39
- expect{ subject.search("_some") }.to_not change{ subject.instance_variable_get(:@collection) }
40
- end
41
- end
42
-
43
- context "when blank search given" do
44
- it "does not replace collection with searchable collection" do
45
- expect{ subject.search("") }.to_not change{ subject.instance_variable_get(:@collection) }
46
- end
47
- end
48
-
49
- context "when no search fields exists" do
50
- it "does not replace collection with searchable collection" do
51
- allow(subject).to receive(:searchable_fields).and_return([])
52
- expect{ subject.search("_some") }.to_not change{ subject.instance_variable_get(:@collection) }
53
- end
54
- end
55
- end
56
-
57
- describe "#searcher_class" do
58
- it "returns `Releaf::Search` class" do
59
- expect(subject.searcher_class).to eq(Releaf::Search)
60
- end
61
- end
62
-
63
- describe "#searchable_fields" do
64
- let(:searchable_fields){ Releaf::DefaultSearchableFields.new(Author) }
65
-
66
- it "adds itself as helper" do
67
- expect(subject._helper_methods).to include(:searchable_fields)
68
- end
69
-
70
- it "returns default searchable fields from `Releaf::DefaultSearchableFields` instance" do
71
- allow(Releaf::DefaultSearchableFields).to receive(:new).with(Book).and_return(searchable_fields)
72
- allow(searchable_fields).to receive(:find).and_return("x").once
73
-
74
- expect(subject.searchable_fields).to eq("x")
75
- end
76
-
77
- it "caches returned searchable fields" do
78
- allow(Releaf::DefaultSearchableFields).to receive(:new).and_return(searchable_fields)
79
- expect(searchable_fields).to receive(:find).and_return("x").once
80
- subject.searchable_fields
81
- subject.searchable_fields
82
- end
83
- end
84
- end
@@ -1,43 +0,0 @@
1
- require "rails_helper"
2
-
3
- describe Releaf::Application do
4
- describe "#configure" do
5
- it "assigns new configuration instance, evaluate block, initialize locales and components" do
6
- configuration = Releaf::Configuration.new
7
- allow(Releaf::Configuration).to receive(:new).and_return(configuration)
8
-
9
- expect(subject).to receive(:config=).with(configuration).and_call_original.ordered
10
- expect(configuration).to receive(:menu=).with("x").ordered
11
- expect(configuration).to receive(:initialize_locales).ordered
12
- expect(configuration).to receive(:initialize_components).ordered
13
- subject.configure{ config.menu = "x" }
14
- end
15
- end
16
-
17
- describe "#render_layout" do
18
- before do
19
- class DummyBuilder
20
- def initialize(x)
21
- end
22
-
23
- def output(&block)
24
- yield
25
- end
26
- end
27
-
28
- subject.config = Releaf::Configuration.new
29
- allow(subject.config).to receive(:layout_builder_class_name).and_return("DummyBuilder")
30
- builder = DummyBuilder.new("xx")
31
- allow(DummyBuilder).to receive(:new).with("tmpl").and_return(builder)
32
- end
33
-
34
- it "returns layout builder rendered layout" do
35
- expect(subject.render_layout("tmpl"){ "pp" }).to eq("pp")
36
- end
37
-
38
- it "returns html safe content" do
39
- expect(subject.render_layout("tmpl"){ "pp" }.html_safe?).to be true
40
- end
41
- end
42
- end
43
-
@@ -1,130 +0,0 @@
1
- require "rails_helper"
2
-
3
- describe Releaf::AssetsResolver do
4
- describe ".base_assets" do
5
- it "returns array with `releaf/application`" do
6
- expect(described_class.base_assets).to eq(["releaf/application"])
7
- end
8
- end
9
-
10
- describe ".controller_assets" do
11
- before do
12
- allow(described_class).to receive(:base_assets).and_return(["a", "b"])
13
- end
14
-
15
- context "when controller assets of given type (javascripts/stylesheets) exists" do
16
- it "returns array with controller specific asset alognside base assets" do
17
- allow(described_class).to receive(:assets).and_return(
18
- "controllers/releaf/i18n_database/translations.js" => "controllers/releaf/i18n_database/translations.js",
19
- "controllers/releaf/i18n_database/translations.css" => "controllers/releaf/i18n_database/translations.css",
20
- )
21
- expect(described_class.controller_assets("releaf/i18n_database/translations", :javascripts))
22
- .to eq(["a", "b", "controllers/releaf/i18n_database/translations.js"])
23
-
24
- expect(described_class.controller_assets("releaf/i18n_database/translations", :stylesheets))
25
- .to eq(["a", "b", "controllers/releaf/i18n_database/translations.css"])
26
- end
27
- end
28
-
29
- context "when no controller assets of given type (javascripts/stylesheets) exists" do
30
- it "returns only base assets" do
31
- allow(described_class).to receive(:assets).and_return(
32
- "controllers/releaf/i18n_database/translations.fonts" => "controllers/releaf/i18n_database/translations.fonts",
33
- "i18n_database/translations.css" => "i18n_database/translations.css",
34
- )
35
- expect(described_class.controller_assets("releaf/i18n_database/translations", :javascripts))
36
- .to eq(["a", "b"])
37
-
38
- expect(described_class.controller_assets("releaf/i18n_database/translations", :stylesheets))
39
- .to eq(["a", "b"])
40
- end
41
- end
42
- end
43
-
44
- describe ".compiled_assets" do
45
- it "returns array with uniq controller scoped stylesheets and javascripts" do
46
- allow(Rails.application.assets_manifest).to receive(:files).and_return(
47
- "controllers/releaf/content/nodes-72ac849dd467fe827933f15c45ea77a2b7beac55379147f3be4a21779787f484.js"=>{"logical_path"=>"controllers/releaf/content/nodes.js", "mtime"=>"2015-12-01T13:55:41+02:00", "size"=>1530, "digest"=>"72ac849dd467fe827933f15c45ea77a2b7beac55379147f3be4a21779787f484", "integrity"=>"sha256-cqyEndRn/oJ5M/FcRep3ore+rFU3kUfzvkohd5eH9IQ="},
48
- "controllers/releaf/content/nodes-2ac6b38702a01d9e0918adasasdasda45e746.css"=>{"logical_path"=>"controllers/releaf/content/nodes.css", "mtime"=>"2016-02-18T13:36:15+02:00", "size"=>4301, "digest"=>"2ac6b38702a01d9e0918adasasdasda45e746", "integrity"=>"sha256-asdasdasdsa+adasdasda="},
49
- # simulate old assets cache here
50
- "controllers/releaf/content/nodes-adsaassdkdasd.css"=>{"logical_path"=>"controllers/releaf/content/nodes.css", "mtime"=>"2016-02-18T13:36:15+02:00", "size"=>4301, "digest"=>"adsaassdkdasd", "integrity"=>"sha256-asdasdasdsa+adasdasda="},
51
- "releaontxzcent/nodes-asdassdasdsaasdasd.css"=>{"logical_path"=>"releaontxzcent/nodes-asdassdasdsaasdasd.css", "mtime"=>"2016-01-18T13:36:15+02:00", "size"=>5919, "digest"=>"asdassdasdsaasdasd", "integrity"=>"sha256-KsazhwKgHZ4JGPBY+SOznIMgzfph9Bx0lHUrZIpF50Y="},
52
- "controllers/releaf/permissions/sessions-9eb2f3275ea7578a6a95ca413d318a9984ef93c0d6645f11cf77fe82a2639cf0.css"=>{"logical_path"=>"controllers/releaf/permissions/sessions.css", "mtime"=>"2016-01-18T13:36:15+02:00", "size"=>2205, "digest"=>"9eb2f3275ea7578a6a95ca413d318a9984ef93c0d6645f11cf77fe82a2639cf0", "integrity"=>"sha256-nrLzJ16nV4pqlcpBPTGKmYTvk8DWZF8Rz3f+gqJjnPA="}
53
- )
54
-
55
- list = [
56
- "controllers/releaf/content/nodes.js",
57
- "controllers/releaf/content/nodes.css",
58
- "controllers/releaf/permissions/sessions.css"
59
- ]
60
- expect(described_class.compiled_assets).to eq(list)
61
- end
62
- end
63
-
64
- describe ".noncompiled_assets" do
65
- it "returns array with controller scoped stylesheets and javascripts" do
66
- list = [
67
- "controllers/admin/books.js",
68
- "controllers/admin/nodes.js",
69
- "controllers/admin/other_site/other_nodes.js",
70
- "controllers/admin/nodes.css",
71
- "controllers/admin/other_site/other_nodes.css",
72
- "controllers/releaf/content/nodes.js",
73
- "controllers/releaf/content/nodes.css",
74
- "controllers/releaf/permissions/sessions.css",
75
- "controllers/releaf/i18n_database/translations.js",
76
- "controllers/releaf/i18n_database/translations.css"
77
- ]
78
- expect(described_class.noncompiled_assets).to eq(list)
79
- end
80
- end
81
-
82
- describe ".compiled_assets?" do
83
- context "when `Rails.application.assets` is not nil" do
84
- it "returns true" do
85
- allow(Rails.application).to receive(:assets).and_return(nil)
86
- expect(described_class.compiled_assets?).to be true
87
- end
88
- end
89
-
90
- context "when `Rails.application.assets` is nil" do
91
- it "returns false" do
92
- allow(Rails.application).to receive(:assets).and_return("x")
93
- expect(described_class.compiled_assets?).to be false
94
- end
95
- end
96
- end
97
-
98
- describe ".assets" do
99
- before do
100
- described_class.class_variable_set(:@@compiled_assets, nil)
101
- allow(described_class).to receive(:compiled_assets).and_return("a")
102
- allow(described_class).to receive(:noncompiled_assets).and_return("b")
103
- allow(described_class).to receive(:assets_hash).with("a").and_return("aa")
104
- allow(described_class).to receive(:assets_hash).with("b").and_return("bb")
105
- end
106
-
107
- context "when compiled assets is not available" do
108
- it "returns grouped non compiled assets" do
109
- allow(described_class).to receive(:compiled_assets?).and_return(false)
110
- expect(described_class.assets).to eq("bb")
111
- end
112
- end
113
-
114
- context "when compiled assets available" do
115
- before do
116
- allow(described_class).to receive(:compiled_assets?).and_return(true)
117
- end
118
-
119
- it "caches grouped compiled assets list" do
120
- expect(described_class).to receive(:assets_hash).once.and_return("aa")
121
- described_class.assets
122
- described_class.assets
123
- end
124
-
125
- it "returns grouped compiled assets" do
126
- expect(described_class.assets).to eq("aa")
127
- end
128
- end
129
- end
130
- end
@@ -1,141 +0,0 @@
1
- require 'rails_helper'
2
-
3
- describe Releaf::BuildErrorsHash do
4
- let(:resource) { Book.new }
5
- let(:error){ ActiveModel::ErrorMessage.new("blank value", :blank) }
6
-
7
- subject do
8
- described_class.new(resource: resource, field_name_prefix: :resource)
9
- end
10
-
11
- describe "#call" do
12
- it "returns hash with merged errors" do
13
- allow(subject).to receive(:errors).and_return([
14
- {
15
- field_name: "name",
16
- message: "error blank",
17
- error_code: :blank,
18
- },
19
- {
20
- field_name: "name",
21
- message: "invalid format",
22
- error_code: :invalid_format,
23
- },
24
- {
25
- field_name: "surname",
26
- message: "error blank",
27
- error_code: :blank,
28
- },
29
- ])
30
- expect(subject.call).to eq(
31
- "name" => [{message: "error blank", error_code: :blank}, {message: "invalid format", error_code: :invalid_format}],
32
- "surname" => [{message: "error blank", error_code: :blank}]
33
- )
34
- end
35
- end
36
-
37
- describe "#errors" do
38
- it "returns flattened errors array" do
39
- allow(resource).to receive(:errors).and_return(name: "er1", surname: "er2", role: "er3")
40
- allow(subject).to receive(:format_error).with(:name, "er1").and_return("error1")
41
- allow(subject).to receive(:format_error).with(:surname, "er2").and_return("error2")
42
- allow(subject).to receive(:format_error).with(:role, "er3").and_return(["error3", "error4"])
43
- expect(subject.errors).to eq(["error1", "error2", "error3", "error4"])
44
- end
45
- end
46
-
47
- describe "#format_error" do
48
- before do
49
- allow(subject).to receive(:attribute_error).with(:name, "er1").and_return("error1")
50
- allow(subject).to receive(:nested_attribute_errors).with(:name).and_return(["error1", "error2"])
51
- end
52
-
53
- context "when resource attribute given" do
54
- it "returns attribute error" do
55
- allow(subject).to receive(:resource_attribute?).and_return(true)
56
- expect(subject.format_error(:name, "er1")).to eq("error1")
57
- end
58
- end
59
-
60
- context "when nested attribute given" do
61
- it "returns nested attribute errors" do
62
- allow(subject).to receive(:resource_attribute?).and_return(false)
63
- expect(subject.format_error(:name, "er1")).to eq(["error1", "error2"])
64
- end
65
- end
66
- end
67
-
68
- describe "#attribute_error" do
69
- it "returns attribute error hash" do
70
- allow(subject).to receive(:field_name).with(:name).and_return("xxx_name")
71
- expect(subject.format_error(:name, error)).to eq(field_name: "xxx_name", error_code: :blank, message: "blank value")
72
- end
73
- end
74
-
75
- describe "#single_association?" do
76
- context "for :belongs_to association" do
77
- it "returns true" do
78
- expect( subject.single_association?('author') ).to be true
79
- end
80
- end
81
-
82
- context "for :has_many association" do
83
- it "returns false" do
84
- expect( subject.single_association?('chapters') ).to be false
85
- end
86
- end
87
-
88
- context "for :has_one association" do
89
- it "returns true" do
90
- allow(subject).to receive(:association_type).with('author').and_return(:has_one)
91
- expect( subject.single_association?('author') ).to be true
92
- end
93
- end
94
- end
95
-
96
- describe "#association" do
97
- it "returns active record reflection of association" do
98
- expect( subject.send(:association, 'author') ).to eq Book.reflect_on_association(:author)
99
- end
100
- end
101
-
102
- describe "#association_type" do
103
- it "returns active record reflection macro" do
104
- expect( subject.association_type('author') ).to eq :belongs_to
105
- end
106
- end
107
-
108
- describe "#resource_attribute?" do
109
- context "when attribute name contains dot" do
110
- it "returns false" do
111
- expect( subject.resource_attribute?('test.attribute') ).to be false
112
- end
113
- end
114
-
115
- context "when attribute name doesn't contain dot" do
116
- it "returns true" do
117
- expect( subject.resource_attribute?('test') ).to be true
118
- end
119
- end
120
- end
121
-
122
- describe "#field_name" do
123
- context "when error is on base" do
124
- it "returns resource field_id" do
125
- expect( subject.field_name('base')).to eq 'resource'
126
- end
127
- end
128
-
129
- context "when attribute is association" do
130
- it "returns field_id for associations foreign key" do
131
- expect( subject.field_name('author')).to eq 'resource[author_id]'
132
- end
133
- end
134
-
135
- context "when attribute is not association" do
136
- it "returns field_id for field" do
137
- expect( subject.field_name('title')).to eq 'resource[title]'
138
- end
139
- end
140
- end
141
- end
@@ -1,205 +0,0 @@
1
- require "rails_helper"
2
-
3
- describe Releaf::Configuration do
4
- class DummyComponentA
5
- def self.configure_component; end
6
- end
7
- class DummyComponentB
8
- def self.initialize_component; end
9
- end
10
- class DummyComponentC
11
- def self.initialize_component; end
12
- def self.configure_component; end
13
- end
14
-
15
- describe "#components=" do
16
- before do
17
- allow(subject).to receive(:flatten_components).with(["x", "s"])
18
- .and_return([DummyComponentA, DummyComponentB, DummyComponentC])
19
- end
20
-
21
- it "assigns normalized components" do
22
- expect{ subject.components = ["x", "s"] }.to change{ subject.components }.to([DummyComponentA, DummyComponentB, DummyComponentC])
23
- end
24
-
25
- it "calls component configuration if available" do
26
- expect(DummyComponentA).to receive(:configure_component).ordered
27
- expect(DummyComponentC).to receive(:configure_component).ordered
28
- subject.components = ["x", "s"]
29
- end
30
- end
31
-
32
- describe "#initialize_components" do
33
- it "adds component configuration and calls component initializing method if available" do
34
- allow(subject).to receive(:components).and_return([DummyComponentA, DummyComponentB, DummyComponentC])
35
- expect(DummyComponentB).to receive(:initialize_component).ordered
36
- expect(DummyComponentC).to receive(:initialize_component).ordered
37
- subject.initialize_components
38
- end
39
- end
40
-
41
- describe "#add_configuration" do
42
- it "creates configuration class accessor for given configuration instance, and assigns given instance to it" do
43
- class Releaf::Configuration::DummySampleConfiguration; end
44
- configuration = Releaf::Configuration::DummySampleConfiguration.new
45
-
46
- expect(subject.respond_to?(:dummy_sample)).to be false
47
- subject.add_configuration(configuration)
48
-
49
- expect(subject.respond_to?(:dummy_sample)).to be true
50
- expect(subject.dummy_sample).to eq(configuration)
51
- end
52
- end
53
-
54
- describe "#initialize_locales" do
55
- before do
56
- subject.available_locales = [:a, :b]
57
- subject.available_admin_locales = [:b, :c]
58
- allow(::I18n).to receive(:available_locales=)
59
- end
60
-
61
- it "assigns available locales to `I18n.available_locales`" do
62
- expect(::I18n).to receive(:available_locales=).with([:a, :b])
63
- subject.initialize_locales
64
- end
65
-
66
- context "when no `available_admin_locales` defined" do
67
- it "overwrites it with available locales" do
68
- expect{ subject.initialize_locales }.to_not change{ subject.available_admin_locales }
69
-
70
- subject.available_admin_locales = nil
71
- expect{ subject.initialize_locales }.to change{ subject.available_admin_locales }.to eq([:a, :b])
72
- end
73
- end
74
- end
75
-
76
- describe "#all_locales" do
77
- before do
78
- subject.available_locales = [:a, :b]
79
- subject.available_admin_locales = [:b, :c]
80
- end
81
-
82
- it "merges unique locales form admin and available locales, casts it to strings and assign to `all_locales`" do
83
- expect( subject.all_locales ).to eq(["a", "b", "c"])
84
- end
85
-
86
- it "caches resolved locales" do
87
- expect(subject).to receive(:available_locales).and_call_original.once
88
- expect(subject).to receive(:available_admin_locales).and_call_original.once
89
- subject.all_locales
90
- subject.all_locales
91
- end
92
- end
93
-
94
- describe "#flatten_components" do
95
- it "returns recursively flattened component list" do
96
- class DummyComponentA; end
97
- class DummyComponentB
98
- def self.components
99
- ["o", "p"]
100
- end
101
- end
102
-
103
- allow(subject).to receive(:flatten_components).and_call_original
104
- allow(subject).to receive(:flatten_components).with(["o", "p"]).and_return(["x", "y"])
105
- expect(subject.flatten_components([DummyComponentA, DummyComponentB])).to eq([DummyComponentA, "x", "y", DummyComponentB])
106
- end
107
- end
108
-
109
- describe "#menu=" do
110
- it "normalizes menu before assigning" do
111
- allow(described_class).to receive(:normalize_controllers).with(["a"]).and_return(["aa"])
112
- expect{ subject.menu = ["a"] }.to change{ subject.menu }.to(["aa"])
113
- end
114
- end
115
-
116
- describe "#additional_controllers=" do
117
- it "normalizes additional controllers before assigning" do
118
- allow(described_class).to receive(:normalize_controllers).with(["b"]).and_return(["bb"])
119
- expect{ subject.additional_controllers = ["b"] }.to change{ subject.additional_controllers }.to(["bb"])
120
- end
121
- end
122
-
123
- describe "#controllers" do
124
- it "returns extracted controllers from menu and additional controllers attributes" do
125
- allow(subject).to receive(:menu).and_return(["a", "b"])
126
- allow(subject).to receive(:additional_controllers).and_return(["c", "d"])
127
- allow(subject).to receive(:extract_controllers).with(["a", "b", "c", "d"]).and_return("xxx")
128
- expect( subject.controllers ).to eq("xxx")
129
- end
130
-
131
- it "caches resolved controllers" do
132
- expect(subject).to receive(:extract_controllers).and_call_original.once
133
- subject.controllers
134
- subject.controllers
135
- end
136
- end
137
-
138
- describe "#available_controllers" do
139
- before do
140
- allow(subject).to receive(:controllers).and_return("c" => "d", "l" => "k")
141
- end
142
-
143
- it "returns controller names" do
144
- expect( subject.available_controllers ).to eq(["c", "l"])
145
- end
146
-
147
- it "caches resolved controller names" do
148
- expect(subject).to receive(:controllers).and_call_original.once
149
- subject.available_controllers
150
- subject.available_controllers
151
- end
152
- end
153
-
154
- describe "#extract_controllers" do
155
- it "returns recursively built hash with controllers from given array" do
156
- item_1 = Releaf::ControllerDefinition.new(name: "aa", controller: :a)
157
- item_2 = Releaf::ControllerDefinition.new(name: "bb", controller: :b)
158
- item_3 = Releaf::ControllerDefinition.new(name: "cc", controller: :c)
159
- item_4 = Releaf::ControllerDefinition.new(name: "dd", controller: :d)
160
- item_5 = Releaf::ControllerDefinition.new(name: "ff", controller: :f)
161
-
162
- group_item_1 = Releaf::ControllerGroupDefinition.new(name: "x", items: [])
163
- group_item_2 = Releaf::ControllerGroupDefinition.new(name: "y", items: [])
164
- allow(group_item_1).to receive(:controllers).and_return([item_3, item_4])
165
- allow(group_item_2).to receive(:controllers).and_return([item_5])
166
-
167
- list = [item_1, group_item_1, group_item_2, item_2]
168
- result = {a: item_1, b: item_2, c: item_3, d: item_4, f: item_5}
169
- expect(subject.extract_controllers(list)).to eq(result)
170
- end
171
- end
172
-
173
- describe ".normalize_controllers" do
174
- it "returns list of normalized controllers" do
175
- item_1 = Releaf::ControllerDefinition.new(name: "aa", controller: :a)
176
- item_2 = Releaf::ControllerDefinition.new(name: "bb", controller: :b)
177
- item_3 = Releaf::ControllerDefinition.new(name: "cc", controller: :c)
178
-
179
- group_item_1 = Releaf::ControllerGroupDefinition.new(name: "x", items: [])
180
- group_item_2 = Releaf::ControllerGroupDefinition.new(name: "y", items: [])
181
-
182
- allow(Releaf::ControllerGroupDefinition).to receive(:new).with(items: "x").and_return(group_item_2)
183
- allow(Releaf::ControllerDefinition).to receive(:new).with(name: "y").and_return(item_2)
184
- allow(Releaf::ControllerDefinition).to receive(:new).with("z").and_return(item_3)
185
-
186
- list = [
187
- item_1,
188
- group_item_1,
189
- {items: "x"},
190
- {name: "y"},
191
- "z"
192
- ]
193
-
194
- result = [
195
- item_1,
196
- group_item_1,
197
- group_item_2,
198
- item_2,
199
- item_3
200
- ]
201
-
202
- expect(described_class.normalize_controllers(list)).to eq(result)
203
- end
204
- end
205
- end