ckeditor 4.1.6 → 4.2.0

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 (307) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +14 -21
  3. data/README.md +24 -13
  4. data/app/controllers/ckeditor/application_controller.rb +4 -4
  5. data/app/controllers/ckeditor/attachment_files_controller.rb +2 -2
  6. data/app/controllers/ckeditor/pictures_controller.rb +1 -1
  7. data/app/views/ckeditor/attachment_files/index.html.erb +1 -1
  8. data/lib/ckeditor.rb +28 -19
  9. data/lib/ckeditor/asset_response.rb +68 -24
  10. data/lib/ckeditor/backend/carrierwave.rb +8 -5
  11. data/lib/ckeditor/backend/dragonfly.rb +5 -3
  12. data/lib/ckeditor/backend/paperclip.rb +19 -19
  13. data/lib/ckeditor/backend/refile.rb +5 -3
  14. data/lib/ckeditor/helpers/controllers.rb +19 -19
  15. data/lib/ckeditor/helpers/form_builder.rb +1 -1
  16. data/lib/ckeditor/hooks/cancan.rb +0 -2
  17. data/lib/ckeditor/hooks/formtastic.rb +2 -2
  18. data/lib/ckeditor/hooks/pundit.rb +1 -4
  19. data/lib/ckeditor/hooks/simple_form.rb +9 -14
  20. data/lib/ckeditor/http.rb +9 -11
  21. data/lib/ckeditor/orm/active_record.rb +2 -2
  22. data/lib/ckeditor/orm/base.rb +4 -4
  23. data/lib/ckeditor/orm/mongoid.rb +5 -5
  24. data/lib/ckeditor/paginatable.rb +1 -1
  25. data/lib/ckeditor/rails.rb +33 -0
  26. data/lib/ckeditor/text_area.rb +14 -14
  27. data/lib/ckeditor/utils.rb +18 -20
  28. data/lib/ckeditor/utils/content_type_detector.rb +7 -10
  29. data/lib/ckeditor/utils/javascript_code.rb +8 -3
  30. data/lib/ckeditor/version.rb +2 -2
  31. data/lib/generators/ckeditor/install_generator.rb +39 -30
  32. data/lib/generators/ckeditor/pundit_policy_generator.rb +1 -3
  33. data/lib/generators/ckeditor/templates/active_record/carrierwave/ckeditor/asset.rb +2 -2
  34. data/lib/generators/ckeditor/templates/active_record/carrierwave/ckeditor/attachment_file.rb +1 -1
  35. data/lib/generators/ckeditor/templates/active_record/carrierwave/ckeditor/picture.rb +1 -1
  36. data/lib/generators/ckeditor/templates/active_record/carrierwave/migration.rb +7 -7
  37. data/lib/generators/ckeditor/templates/active_record/dragonfly/ckeditor/asset.rb +1 -1
  38. data/lib/generators/ckeditor/templates/active_record/dragonfly/ckeditor/attachment_file.rb +1 -1
  39. data/lib/generators/ckeditor/templates/active_record/dragonfly/ckeditor/picture.rb +4 -4
  40. data/lib/generators/ckeditor/templates/active_record/dragonfly/migration.rb +7 -7
  41. data/lib/generators/ckeditor/templates/active_record/paperclip/ckeditor/attachment_file.rb +3 -3
  42. data/lib/generators/ckeditor/templates/active_record/paperclip/ckeditor/picture.rb +5 -5
  43. data/lib/generators/ckeditor/templates/active_record/paperclip/migration.rb +3 -3
  44. data/lib/generators/ckeditor/templates/active_record/refile/migration.rb +8 -9
  45. data/lib/generators/ckeditor/templates/base/carrierwave/uploaders/ckeditor_picture_uploader.rb +4 -4
  46. data/lib/generators/ckeditor/templates/base/dragonfly/initializer.rb +4 -5
  47. data/lib/generators/ckeditor/templates/ckeditor.rb +11 -2
  48. data/lib/generators/ckeditor/templates/mongoid/carrierwave/ckeditor/asset.rb +2 -2
  49. data/lib/generators/ckeditor/templates/mongoid/carrierwave/ckeditor/attachment_file.rb +1 -1
  50. data/lib/generators/ckeditor/templates/mongoid/carrierwave/ckeditor/picture.rb +1 -1
  51. data/lib/generators/ckeditor/templates/mongoid/paperclip/ckeditor/attachment_file.rb +5 -5
  52. data/lib/generators/ckeditor/templates/mongoid/paperclip/ckeditor/picture.rb +5 -5
  53. data/test/dummy/config/initializers/assets.rb +1 -0
  54. data/test/dummy/config/initializers/paperclip.rb +3 -0
  55. data/test/dummy/public/ckeditor_assets/attachments/1/rails_tar.gz +0 -0
  56. data/test/dummy/public/ckeditor_assets/pictures/1/content_rails.png +0 -0
  57. data/test/dummy/public/ckeditor_assets/pictures/1/original_rails.png +0 -0
  58. data/test/dummy/public/ckeditor_assets/pictures/1/thumb_rails.png +0 -0
  59. data/test/dummy/public/uploads/ckeditor/attachments/1/rails.tar.gz +0 -0
  60. data/test/dummy/public/uploads/ckeditor/pictures/1/content_rails.png +0 -0
  61. data/test/dummy/public/uploads/ckeditor/pictures/1/rails.png +0 -0
  62. data/test/dummy/public/uploads/ckeditor/pictures/1/thumb_rails.png +0 -0
  63. data/test/dummy/public/uploads/tmp/1468570200-60772-1241/rails.png +0 -0
  64. data/test/dummy/public/uploads/tmp/1468570200-60772-1405/rails.png +0 -0
  65. data/test/dummy/public/uploads/tmp/1468570200-60772-2164/rails.png +0 -0
  66. data/test/dummy/public/uploads/tmp/1468570200-60772-6603/rails.png +0 -0
  67. data/test/dummy/public/uploads/tmp/1468570200-60772-8111/rails.png +0 -0
  68. data/test/functional/posts_controller_test.rb +2 -3
  69. data/test/models/ckeditor_test.rb +1 -1
  70. data/test/tmp/app/models/ckeditor/asset.rb +5 -0
  71. data/test/tmp/app/models/ckeditor/attachment_file.rb +13 -0
  72. data/test/tmp/app/models/ckeditor/picture.rb +14 -0
  73. data/test/tmp/config/initializers/ckeditor.rb +58 -0
  74. data/test/tmp/config/routes.rb +5 -0
  75. data/vendor/assets/javascripts/ckeditor/CHANGES.md +59 -1
  76. data/vendor/assets/javascripts/ckeditor/LICENSE.md +2 -2
  77. data/vendor/assets/javascripts/ckeditor/README.md +1 -1
  78. data/vendor/assets/javascripts/ckeditor/adapters/jquery.js +1 -1
  79. data/vendor/assets/javascripts/ckeditor/ckeditor.js +434 -430
  80. data/vendor/assets/javascripts/ckeditor/config.js +1 -1
  81. data/vendor/assets/javascripts/ckeditor/contents.css +4 -1
  82. data/vendor/assets/javascripts/ckeditor/lang/af.js +1 -1
  83. data/vendor/assets/javascripts/ckeditor/lang/ar.js +1 -1
  84. data/vendor/assets/javascripts/ckeditor/lang/bg.js +1 -1
  85. data/vendor/assets/javascripts/ckeditor/lang/bn.js +2 -2
  86. data/vendor/assets/javascripts/ckeditor/lang/bs.js +1 -1
  87. data/vendor/assets/javascripts/ckeditor/lang/ca.js +1 -1
  88. data/vendor/assets/javascripts/ckeditor/lang/cs.js +1 -1
  89. data/vendor/assets/javascripts/ckeditor/lang/cy.js +1 -1
  90. data/vendor/assets/javascripts/ckeditor/lang/da.js +1 -1
  91. data/vendor/assets/javascripts/ckeditor/lang/de-ch.js +5 -0
  92. data/vendor/assets/javascripts/ckeditor/lang/de.js +1 -1
  93. data/vendor/assets/javascripts/ckeditor/lang/el.js +2 -2
  94. data/vendor/assets/javascripts/ckeditor/lang/en-au.js +1 -1
  95. data/vendor/assets/javascripts/ckeditor/lang/en-ca.js +1 -1
  96. data/vendor/assets/javascripts/ckeditor/lang/en-gb.js +1 -1
  97. data/vendor/assets/javascripts/ckeditor/lang/en.js +1 -1
  98. data/vendor/assets/javascripts/ckeditor/lang/eo.js +1 -1
  99. data/vendor/assets/javascripts/ckeditor/lang/es.js +1 -1
  100. data/vendor/assets/javascripts/ckeditor/lang/et.js +1 -1
  101. data/vendor/assets/javascripts/ckeditor/lang/eu.js +2 -2
  102. data/vendor/assets/javascripts/ckeditor/lang/fa.js +1 -1
  103. data/vendor/assets/javascripts/ckeditor/lang/fi.js +1 -1
  104. data/vendor/assets/javascripts/ckeditor/lang/fo.js +1 -1
  105. data/vendor/assets/javascripts/ckeditor/lang/fr-ca.js +1 -1
  106. data/vendor/assets/javascripts/ckeditor/lang/fr.js +2 -2
  107. data/vendor/assets/javascripts/ckeditor/lang/gl.js +1 -1
  108. data/vendor/assets/javascripts/ckeditor/lang/gu.js +1 -1
  109. data/vendor/assets/javascripts/ckeditor/lang/he.js +1 -1
  110. data/vendor/assets/javascripts/ckeditor/lang/hi.js +1 -1
  111. data/vendor/assets/javascripts/ckeditor/lang/hr.js +1 -1
  112. data/vendor/assets/javascripts/ckeditor/lang/hu.js +1 -1
  113. data/vendor/assets/javascripts/ckeditor/lang/id.js +1 -1
  114. data/vendor/assets/javascripts/ckeditor/lang/is.js +1 -1
  115. data/vendor/assets/javascripts/ckeditor/lang/it.js +1 -1
  116. data/vendor/assets/javascripts/ckeditor/lang/ja.js +1 -1
  117. data/vendor/assets/javascripts/ckeditor/lang/ka.js +1 -1
  118. data/vendor/assets/javascripts/ckeditor/lang/km.js +1 -1
  119. data/vendor/assets/javascripts/ckeditor/lang/ko.js +1 -1
  120. data/vendor/assets/javascripts/ckeditor/lang/ku.js +1 -1
  121. data/vendor/assets/javascripts/ckeditor/lang/lt.js +1 -1
  122. data/vendor/assets/javascripts/ckeditor/lang/lv.js +1 -1
  123. data/vendor/assets/javascripts/ckeditor/lang/mk.js +2 -2
  124. data/vendor/assets/javascripts/ckeditor/lang/mn.js +1 -1
  125. data/vendor/assets/javascripts/ckeditor/lang/ms.js +1 -1
  126. data/vendor/assets/javascripts/ckeditor/lang/nb.js +1 -1
  127. data/vendor/assets/javascripts/ckeditor/lang/nl.js +2 -2
  128. data/vendor/assets/javascripts/ckeditor/lang/no.js +1 -1
  129. data/vendor/assets/javascripts/ckeditor/lang/pl.js +1 -1
  130. data/vendor/assets/javascripts/ckeditor/lang/pt-br.js +1 -1
  131. data/vendor/assets/javascripts/ckeditor/lang/pt.js +2 -2
  132. data/vendor/assets/javascripts/ckeditor/lang/ro.js +1 -1
  133. data/vendor/assets/javascripts/ckeditor/lang/ru.js +1 -1
  134. data/vendor/assets/javascripts/ckeditor/lang/si.js +1 -1
  135. data/vendor/assets/javascripts/ckeditor/lang/sk.js +2 -2
  136. data/vendor/assets/javascripts/ckeditor/lang/sl.js +2 -2
  137. data/vendor/assets/javascripts/ckeditor/lang/sq.js +1 -1
  138. data/vendor/assets/javascripts/ckeditor/lang/sr-latn.js +1 -1
  139. data/vendor/assets/javascripts/ckeditor/lang/sr.js +1 -1
  140. data/vendor/assets/javascripts/ckeditor/lang/sv.js +1 -1
  141. data/vendor/assets/javascripts/ckeditor/lang/th.js +1 -1
  142. data/vendor/assets/javascripts/ckeditor/lang/tr.js +1 -1
  143. data/vendor/assets/javascripts/ckeditor/lang/tt.js +2 -2
  144. data/vendor/assets/javascripts/ckeditor/lang/ug.js +2 -2
  145. data/vendor/assets/javascripts/ckeditor/lang/uk.js +1 -1
  146. data/vendor/assets/javascripts/ckeditor/lang/vi.js +2 -2
  147. data/vendor/assets/javascripts/ckeditor/lang/zh-cn.js +1 -1
  148. data/vendor/assets/javascripts/ckeditor/lang/zh.js +1 -1
  149. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +1 -1
  150. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/_translationstatus.txt +1 -1
  151. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/af.js +1 -1
  152. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ar.js +1 -1
  153. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/bg.js +1 -1
  154. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ca.js +1 -1
  155. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/cs.js +1 -1
  156. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/cy.js +1 -1
  157. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/da.js +1 -1
  158. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/de-ch.js +12 -0
  159. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/de.js +1 -1
  160. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/el.js +1 -1
  161. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/en-gb.js +1 -1
  162. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/en.js +1 -1
  163. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/eo.js +1 -1
  164. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/es.js +1 -1
  165. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/et.js +1 -1
  166. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/eu.js +1 -1
  167. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/fa.js +1 -1
  168. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/fi.js +1 -1
  169. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/fo.js +1 -1
  170. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/fr-ca.js +1 -1
  171. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/fr.js +9 -9
  172. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/gl.js +1 -1
  173. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/gu.js +1 -1
  174. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/he.js +1 -1
  175. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/hi.js +1 -1
  176. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/hr.js +1 -1
  177. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/hu.js +1 -1
  178. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/id.js +1 -1
  179. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/it.js +1 -1
  180. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ja.js +1 -1
  181. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/km.js +1 -1
  182. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ko.js +1 -1
  183. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ku.js +1 -1
  184. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/lt.js +1 -1
  185. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/lv.js +1 -1
  186. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/mk.js +7 -7
  187. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/mn.js +1 -1
  188. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/nb.js +1 -1
  189. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/nl.js +1 -1
  190. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/no.js +1 -1
  191. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/pl.js +1 -1
  192. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/pt-br.js +1 -1
  193. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/pt.js +7 -7
  194. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ro.js +1 -1
  195. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ru.js +1 -1
  196. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/si.js +1 -1
  197. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/sk.js +1 -1
  198. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/sl.js +6 -6
  199. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/sq.js +1 -1
  200. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/sr-latn.js +1 -1
  201. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/sr.js +1 -1
  202. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/sv.js +1 -1
  203. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/th.js +1 -1
  204. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/tr.js +1 -1
  205. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/tt.js +1 -1
  206. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ug.js +1 -1
  207. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/uk.js +1 -1
  208. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/vi.js +1 -1
  209. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/zh-cn.js +1 -1
  210. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/zh.js +1 -1
  211. data/vendor/assets/javascripts/ckeditor/plugins/about/dialogs/about.js +1 -1
  212. data/vendor/assets/javascripts/ckeditor/plugins/clipboard/dialogs/paste.js +1 -1
  213. data/vendor/assets/javascripts/ckeditor/plugins/colordialog/dialogs/colordialog.css +20 -0
  214. data/vendor/assets/javascripts/ckeditor/plugins/colordialog/dialogs/colordialog.js +11 -10
  215. data/vendor/assets/javascripts/ckeditor/plugins/dialog/dialogDefinition.js +1 -1
  216. data/vendor/assets/javascripts/ckeditor/plugins/find/dialogs/find.js +12 -11
  217. data/vendor/assets/javascripts/ckeditor/plugins/flash/dialogs/flash.js +1 -1
  218. data/vendor/assets/javascripts/ckeditor/plugins/forms/dialogs/button.js +1 -1
  219. data/vendor/assets/javascripts/ckeditor/plugins/forms/dialogs/checkbox.js +1 -1
  220. data/vendor/assets/javascripts/ckeditor/plugins/forms/dialogs/form.js +1 -1
  221. data/vendor/assets/javascripts/ckeditor/plugins/forms/dialogs/hiddenfield.js +1 -1
  222. data/vendor/assets/javascripts/ckeditor/plugins/forms/dialogs/radio.js +1 -1
  223. data/vendor/assets/javascripts/ckeditor/plugins/forms/dialogs/select.js +1 -1
  224. data/vendor/assets/javascripts/ckeditor/plugins/forms/dialogs/textarea.js +1 -1
  225. data/vendor/assets/javascripts/ckeditor/plugins/forms/dialogs/textfield.js +1 -1
  226. data/vendor/assets/javascripts/ckeditor/plugins/iframe/dialogs/iframe.js +1 -1
  227. data/vendor/assets/javascripts/ckeditor/plugins/image/dialogs/image.js +1 -1
  228. data/vendor/assets/javascripts/ckeditor/plugins/link/dialogs/anchor.js +1 -1
  229. data/vendor/assets/javascripts/ckeditor/plugins/link/dialogs/link.js +1 -1
  230. data/vendor/assets/javascripts/ckeditor/plugins/liststyle/dialogs/liststyle.js +1 -1
  231. data/vendor/assets/javascripts/ckeditor/plugins/pastefromword/filter/default.js +1 -1
  232. data/vendor/assets/javascripts/ckeditor/plugins/scayt/CHANGELOG.md +3 -3
  233. data/vendor/assets/javascripts/ckeditor/plugins/smiley/dialogs/smiley.js +1 -1
  234. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/_translationstatus.txt +1 -1
  235. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/af.js +1 -1
  236. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ar.js +1 -1
  237. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/bg.js +1 -1
  238. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ca.js +1 -1
  239. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/cs.js +1 -1
  240. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/cy.js +1 -1
  241. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/da.js +1 -1
  242. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/de-ch.js +13 -0
  243. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/de.js +1 -1
  244. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/el.js +1 -1
  245. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/en-gb.js +1 -1
  246. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/en.js +1 -1
  247. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/eo.js +1 -1
  248. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/es.js +1 -1
  249. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/et.js +1 -1
  250. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/eu.js +1 -1
  251. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/fa.js +1 -1
  252. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/fi.js +1 -1
  253. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/fr-ca.js +1 -1
  254. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/fr.js +9 -8
  255. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/gl.js +1 -1
  256. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/he.js +1 -1
  257. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/hr.js +1 -1
  258. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/hu.js +1 -1
  259. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/id.js +1 -1
  260. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/it.js +2 -2
  261. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ja.js +1 -1
  262. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/km.js +1 -1
  263. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ko.js +1 -1
  264. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ku.js +1 -1
  265. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/lt.js +1 -1
  266. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/lv.js +1 -1
  267. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/nb.js +1 -1
  268. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/nl.js +1 -1
  269. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/no.js +1 -1
  270. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/pl.js +1 -1
  271. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/pt-br.js +1 -1
  272. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/pt.js +10 -10
  273. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ru.js +1 -1
  274. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/si.js +1 -1
  275. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/sk.js +1 -1
  276. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/sl.js +9 -9
  277. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/sq.js +1 -1
  278. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/sv.js +1 -1
  279. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/th.js +1 -1
  280. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/tr.js +1 -1
  281. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/tt.js +1 -1
  282. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ug.js +1 -1
  283. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/uk.js +1 -1
  284. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/vi.js +1 -1
  285. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/zh-cn.js +1 -1
  286. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/zh.js +1 -1
  287. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/specialchar.js +1 -1
  288. data/vendor/assets/javascripts/ckeditor/plugins/table/dialogs/table.js +18 -18
  289. data/vendor/assets/javascripts/ckeditor/plugins/tabletools/dialogs/tableCell.js +1 -1
  290. data/vendor/assets/javascripts/ckeditor/plugins/templates/dialogs/templates.css +1 -1
  291. data/vendor/assets/javascripts/ckeditor/plugins/templates/dialogs/templates.js +1 -1
  292. data/vendor/assets/javascripts/ckeditor/plugins/templates/templates/default.js +1 -1
  293. data/vendor/assets/javascripts/ckeditor/skins/moono/dialog.css +2 -2
  294. data/vendor/assets/javascripts/ckeditor/skins/moono/dialog_ie.css +2 -2
  295. data/vendor/assets/javascripts/ckeditor/skins/moono/dialog_ie7.css +2 -2
  296. data/vendor/assets/javascripts/ckeditor/skins/moono/dialog_ie8.css +2 -2
  297. data/vendor/assets/javascripts/ckeditor/skins/moono/dialog_iequirks.css +2 -2
  298. data/vendor/assets/javascripts/ckeditor/skins/moono/editor.css +2 -2
  299. data/vendor/assets/javascripts/ckeditor/skins/moono/editor_gecko.css +2 -2
  300. data/vendor/assets/javascripts/ckeditor/skins/moono/editor_ie.css +2 -2
  301. data/vendor/assets/javascripts/ckeditor/skins/moono/editor_ie7.css +2 -2
  302. data/vendor/assets/javascripts/ckeditor/skins/moono/editor_ie8.css +2 -2
  303. data/vendor/assets/javascripts/ckeditor/skins/moono/editor_iequirks.css +2 -2
  304. data/vendor/assets/javascripts/ckeditor/skins/moono/readme.md +1 -1
  305. data/vendor/assets/javascripts/ckeditor/styles.js +1 -1
  306. metadata +120 -75
  307. data/lib/ckeditor/engine.rb +0 -46
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5eabd9522c6e41cc16b578e752c34cb931454a92
4
- data.tar.gz: c11df316e009cde1dcef7c0046ee8db5ab08bdbe
3
+ metadata.gz: 7ba28bfa21d329af77d72bb3f6d787618ea1ba91
4
+ data.tar.gz: dd4bd4dbcb3bab209666f640bc775b5d331b0ba3
5
5
  SHA512:
6
- metadata.gz: ba3eab2c3f744e674b0569974f4cab7832c1c64d5927f25d1d3155dc13160d78d0610966c16661b9d422c4bc84c7eeb28b49cad85168571689f5a9e18e20eb04
7
- data.tar.gz: 1d01d18849af4afcb915182b1caf1d4fc2df8159001ceceed5e72c597e6a62943c45abe81254f19a7948768d8f2347a475444c3af0d37e48ed8fd44e50ab03a7
6
+ metadata.gz: cfd9a557133ffdde4d12ea628dfbfd05de84aeca946de7694b8f1ee021cfb40b4ea724cee62aa1ef2aae5cf0bfa88380f9f325ae9b9c71c22c5db4e3a29ad69c
7
+ data.tar.gz: b07c84bda9a828f867e2fe524cc45a1ddbb11f7c55765a9162ba235e93bfae29cfca2c08ae9e9cd094672aa678d82619cd5b8de6dc38b5909ffa3930d26d3596
data/Gemfile CHANGED
@@ -1,42 +1,35 @@
1
- source "http://rubygems.org"
1
+ source 'http://rubygems.org'
2
2
 
3
3
  gemspec
4
4
 
5
- gem "rails", "4.2.4"
6
-
7
- platforms :mri_18 do
8
- group :test do
9
- gem 'ruby-debug'
10
- gem 'SystemTimer'
11
- end
12
- end
5
+ gem 'rails', '4.2.7'
13
6
 
14
7
  platforms :ruby do
15
- gem "sqlite3"
8
+ gem 'sqlite3'
16
9
 
17
10
  group :development do
18
- gem "unicorn", "~> 4.0.1"
11
+ gem 'unicorn', '~> 4.0.1'
19
12
  end
20
13
 
21
14
  group :development, :test do
22
15
  gem 'jquery-rails', '~> 4.0.4'
23
- gem "capybara", ">= 0.4.0"
24
- gem "mynyml-redgreen", "~> 0.7.1", :require => 'redgreen'
16
+ gem 'capybara', '>= 0.4.0'
17
+ gem 'mynyml-redgreen', '~> 0.7.1', require: 'redgreen'
25
18
  end
26
19
 
27
20
  group :active_record do
28
21
  gem 'paperclip'
29
- gem "carrierwave"
30
- gem "dragonfly"
31
- gem "mini_magick"
32
- gem "refile", require: "refile/rails"
33
- gem "refile-mini_magick"
22
+ gem 'carrierwave'
23
+ gem 'dragonfly'
24
+ gem 'mini_magick'
25
+ gem 'refile', require: 'refile/rails'
26
+ gem 'refile-mini_magick'
34
27
  end
35
28
 
36
29
  group :mongoid do
37
30
  gem 'mongoid', '~> 5.0.0'
38
- gem "bson_ext"
39
- gem 'mongoid-paperclip', :require => 'mongoid_paperclip'
40
- gem 'carrierwave-mongoid', :require => 'carrierwave/mongoid'
31
+ gem 'bson_ext'
32
+ gem 'mongoid-paperclip', require: 'mongoid_paperclip'
33
+ gem 'carrierwave-mongoid', require: 'carrierwave/mongoid'
41
34
  end
42
35
  end
data/README.md CHANGED
@@ -8,8 +8,8 @@ CKEditor is a WYSIWYG text editor designed to simplify web content creation. It
8
8
 
9
9
  ## Features
10
10
 
11
- * Ckeditor version 4.5.6 (9 Dec 2015)
12
- * Rails 4 integration
11
+ * Ckeditor version 4.5.10 (13 Jul 2016)
12
+ * Rails 4.2-5 integration
13
13
  * Files browser
14
14
  * HTML5 file uploader
15
15
  * Hooks for formtastic and simple_form forms generators
@@ -32,7 +32,7 @@ gem 'ckeditor', github: 'galetahub/ckeditor'
32
32
  For file upload support, you must generate the necessary file storage models.
33
33
  The currently supported backends are:
34
34
 
35
- * ActiveRecord (paperclip, carrierwave, dragonfly)
35
+ * ActiveRecord (paperclip, carrierwave, dragonfly, refile)
36
36
  * Mongoid (paperclip, carrierwave, dragonfly)
37
37
 
38
38
  ### How to generate models to store uploaded files
@@ -78,7 +78,7 @@ rails generate ckeditor:install --orm=active_record --backend=dragonfly
78
78
  #### Mongoid + paperclip
79
79
 
80
80
  ```
81
- gem 'mongoid-paperclip', :require => 'mongoid_paperclip'
81
+ gem 'mongoid-paperclip', require: 'mongoid_paperclip'
82
82
 
83
83
  rails generate ckeditor:install --orm=mongoid --backend=paperclip
84
84
  ```
@@ -86,7 +86,7 @@ rails generate ckeditor:install --orm=mongoid --backend=paperclip
86
86
  #### Mongoid + carrierwave
87
87
 
88
88
  ```
89
- gem 'carrierwave-mongoid', :require => 'carrierwave/mongoid'
89
+ gem 'carrierwave-mongoid', require: 'carrierwave/mongoid'
90
90
  gem 'mini_magick'
91
91
 
92
92
  rails generate ckeditor:install --orm=mongoid --backend=carrierwave
@@ -98,7 +98,7 @@ All ckeditor models will be generated in the app/models/ckeditor directory.
98
98
  Models are autoloaded in Rails 4. For earlier Rails versions, you need to add them to the autoload path (in application.rb):
99
99
 
100
100
  ```ruby
101
- config.autoload_paths += %W(#{config.root}/app/models/ckeditor)
101
+ config.autoload_paths += %w(#{config.root}/app/models/ckeditor)
102
102
  ```
103
103
 
104
104
  Mount the Ckeditor::Engine in your routes (config/routes.rb):
@@ -126,7 +126,7 @@ Setup editor version to load (more info here http://cdn.ckeditor.com/)
126
126
 
127
127
  Ckeditor.setup do |config|
128
128
  # //cdn.ckeditor.com/<version.number>/<distribution>/ckeditor.js
129
- config.cdn_url = "//cdn.ckeditor.com/4.5.6/standard/ckeditor.js"
129
+ config.cdn_url = "//cdn.ckeditor.com/4.5.10/standard/ckeditor.js"
130
130
  end
131
131
  ```
132
132
 
@@ -140,9 +140,9 @@ In view template include ckeditor CDN:
140
140
 
141
141
  ```slim
142
142
  = form_for @page do |form|
143
- = form.cktext_area :notes, :class => 'someclass', :ckeditor => {:language => 'uk'}
144
- = form.cktext_area :content, :value => 'Default value', :id => 'sometext'
145
- = cktext_area :page, :info, :cols => 40, :ckeditor => {:uiColor => '#AADC6E', :toolbar => 'mini'}
143
+ = form.cktext_area :notes, class: 'someclass', ckeditor: { language: 'uk'}
144
+ = form.cktext_area :content, value: 'Default value', id: 'sometext'
145
+ = cktext_area :page, :info, cols: 40, ckeditor: { uiColor: '#AADC6E', toolbar: 'mini' }
146
146
  ```
147
147
 
148
148
  ### Customize ckeditor
@@ -237,14 +237,14 @@ jQuery sample:
237
237
  ### Formtastic integration
238
238
 
239
239
  ```slim
240
- = form.input :content, :as => :ckeditor
241
- = form.input :content, :as => :ckeditor, :input_html => { :ckeditor => { :height => 400 } }
240
+ = form.input :content, as: :ckeditor
241
+ = form.input :content, as: :ckeditor, input_html: { ckeditor: { height: 400 } }
242
242
  ```
243
243
 
244
244
  ### SimpleForm integration
245
245
 
246
246
  ```slim
247
- = form.input :content, :as => :ckeditor, :input_html => { :ckeditor => {:toolbar => 'Full'} }
247
+ = form.input :content, as: :ckeditor, input_html: { ckeditor: { toolbar: 'Full' } }
248
248
  ```
249
249
 
250
250
  ### CanCan integration
@@ -294,6 +294,17 @@ By default, only the user that logged in can access the models (with actions *in
294
294
 
295
295
  You can customize these two policy files as you like.
296
296
 
297
+ ## Engine configuration
298
+ * To override the default CKEditor routes create a [config.js](https://github.com/galetahub/ckeditor/blob/master/app/assets/javascripts/ckeditor/config.js) file within the host application at `app/assets/javascripts/ckeditor/config.js`
299
+ * To override the default parent controller
300
+ ```
301
+ # in config/initializers/ckeditor.rb
302
+
303
+ Ckeditor.setup do |config|
304
+ config.parent_controller = 'MyController'
305
+ end
306
+ ```
307
+
297
308
  ## I18n
298
309
 
299
310
  ```yml
@@ -1,9 +1,9 @@
1
- class Ckeditor::ApplicationController < ApplicationController
1
+ class Ckeditor::ApplicationController < Ckeditor.parent_controller.constantize
2
2
  layout 'ckeditor/application'
3
3
 
4
- before_filter :find_asset, :only => [:destroy]
5
- before_filter :ckeditor_authorize!
6
- before_filter :authorize_resource
4
+ before_action :find_asset, :only => [:destroy]
5
+ before_action :ckeditor_authorize!
6
+ before_action :authorize_resource
7
7
 
8
8
  protected
9
9
 
@@ -1,6 +1,6 @@
1
1
  class Ckeditor::AttachmentFilesController < Ckeditor::ApplicationController
2
- skip_before_filter :verify_authenticity_token, only: :create
3
-
2
+ skip_before_action :verify_authenticity_token, only: :create
3
+
4
4
  def index
5
5
  @attachments = Ckeditor.attachment_file_adapter.find_all(ckeditor_attachment_files_scope)
6
6
  @attachments = Ckeditor::Paginatable.new(@attachments).page(params[:page])
@@ -1,5 +1,5 @@
1
1
  class Ckeditor::PicturesController < Ckeditor::ApplicationController
2
- skip_before_filter :verify_authenticity_token, only: :create
2
+ skip_before_action :verify_authenticity_token, only: :create
3
3
 
4
4
  def index
5
5
  @pictures = Ckeditor.picture_adapter.find_all(ckeditor_pictures_scope)
@@ -6,7 +6,7 @@
6
6
  </div>
7
7
 
8
8
  <div class="fileupload-list">
9
- <%= render :partial => 'ckeditor/shared/asset', :collection => @attachments.scoped %>
9
+ <%= render :partial => 'ckeditor/shared/asset', :collection => @attachments %>
10
10
  </div>
11
11
 
12
12
  <% unless @attachments.last_page? %>
@@ -28,14 +28,14 @@ module Ckeditor
28
28
  autoload :Refile, 'ckeditor/backend/refile'
29
29
  end
30
30
 
31
- IMAGE_TYPES = %w(image/jpeg image/png image/gif image/jpg image/pjpeg image/tiff image/x-png)
31
+ IMAGE_TYPES = %w(image/jpeg image/png image/gif image/jpg image/pjpeg image/tiff image/x-png).freeze
32
32
 
33
- DEFAULT_AUTHORIZE = Proc.new {}
33
+ DEFAULT_AUTHORIZE = -> {}
34
34
 
35
35
  AUTHORIZATION_ADAPTERS = {}
36
36
 
37
- DEFAULT_CURRENT_USER = Proc.new do
38
- request.env["warden"].try(:user) || respond_to?(:current_user) && current_user
37
+ DEFAULT_CURRENT_USER = lambda do
38
+ request.env['warden'].try(:user) || respond_to?(:current_user) && current_user
39
39
  end
40
40
 
41
41
  # Allowed image file types for upload.
@@ -43,6 +43,11 @@ module Ckeditor
43
43
  mattr_accessor :image_file_types
44
44
  @@image_file_types = %w(jpg jpeg png gif tiff)
45
45
 
46
+ # Allowed flash file types for upload.
47
+ # Set to nil or [] (empty array) for all file types
48
+ mattr_accessor :flash_file_types
49
+ @@flash_file_types = %w(swf)
50
+
46
51
  # Allowed attachment file types for upload.
47
52
  # Set to nil or [] (empty array) for all file types
48
53
  mattr_accessor :attachment_file_types
@@ -56,10 +61,6 @@ module Ckeditor
56
61
  mattr_accessor :asset_path
57
62
  @@asset_path = nil
58
63
 
59
- # Ckeditor assets for precompilation
60
- mattr_accessor :assets
61
- @@assets = nil
62
-
63
64
  # Remove digest from ckeditor asset files while running assets:precompile task?
64
65
  mattr_accessor :run_on_precompile
65
66
  @@run_on_precompile = true
@@ -90,6 +91,10 @@ module Ckeditor
90
91
  @@picture_model = nil
91
92
  @@attachment_file_model = nil
92
93
 
94
+ # Configurable parent controller
95
+ mattr_accessor :parent_controller
96
+ @@parent_controller = 'ApplicationController'
97
+
93
98
  # Default way to setup Ckeditor. Run rails generate ckeditor to create
94
99
  # a fresh initializer with all configuration values.
95
100
  #
@@ -113,11 +118,15 @@ module Ckeditor
113
118
 
114
119
  # All css and js files from ckeditor folder
115
120
  def self.assets
116
- @@assets ||= if Ckeditor.cdn_enabled?
117
- ["ckeditor/config.js"]
118
- else
119
- Utils.select_assets("ckeditor", "vendor/assets/javascripts") << "ckeditor/init.js"
120
- end
121
+ @assets ||= if Ckeditor.cdn_enabled?
122
+ ['ckeditor/config.js']
123
+ else
124
+ Utils.select_assets('ckeditor', 'vendor/assets/javascripts') << 'ckeditor/init.js'
125
+ end
126
+ end
127
+
128
+ def self.assets=(value)
129
+ @assets = value.nil? ? nil : Array(value)
121
130
  end
122
131
 
123
132
  def self.run_on_precompile?
@@ -198,11 +207,11 @@ module Ckeditor
198
207
  extension = args.shift
199
208
 
200
209
  if extension
201
- @authorize = Proc.new {
210
+ @authorize = lambda do
202
211
  @authorization_adapter = Ckeditor::AUTHORIZATION_ADAPTERS[extension].new(*([self] + args).compact)
203
- }
204
- else
205
- @authorize = block if block
212
+ end
213
+ elsif block_given?
214
+ @authorize = block
206
215
  end
207
216
 
208
217
  @authorize || DEFAULT_AUTHORIZE
@@ -221,10 +230,10 @@ module Ckeditor
221
230
  # end
222
231
  #
223
232
  def self.current_user_method(&block)
224
- @current_user = block if block
233
+ @current_user = block if block_given?
225
234
  @current_user || DEFAULT_CURRENT_USER
226
235
  end
227
236
  end
228
237
 
229
- require 'ckeditor/engine'
238
+ require 'ckeditor/rails'
230
239
  require 'ckeditor/version'
@@ -22,38 +22,82 @@ module Ckeditor
22
22
  !(ckeditor? || json?) ? params[:qqfile] : params[:upload]
23
23
  end
24
24
 
25
+ def current_mode
26
+ @current_mode ||= extract_mode
27
+ end
28
+
25
29
  def success(relative_url_root = nil)
26
- if json?
27
- {
28
- json: { "uploaded" => 1, "fileName" => asset.filename, "url" => asset.url }.to_json
29
- }
30
- elsif ckeditor?
31
- {
32
- text: %Q"<script type='text/javascript'>
33
- window.parent.CKEDITOR.tools.callFunction(#{params[:CKEditorFuncNum]}, '#{relative_url_root}#{Ckeditor::Utils.escape_single_quotes(asset.url_content)}');
34
- </script>"
35
- }
30
+ send("success_#{current_mode}", relative_url_root)
31
+ end
32
+
33
+ def errors
34
+ send("errors_#{current_mode}")
35
+ end
36
+
37
+ private
38
+
39
+ def success_json(_relative_url_root = nil)
40
+ {
41
+ json: { uploaded: 1, fileName: asset.filename, url: asset.url }.to_json
42
+ }
43
+ end
44
+
45
+ def success_ckeditor(relative_url_root = nil)
46
+ {
47
+ text: %"<script type='text/javascript'>
48
+ window.parent.CKEDITOR.tools.callFunction(#{params[:CKEditorFuncNum]}, '#{asset_url(relative_url_root)}');
49
+ </script>"
50
+ }
51
+ end
52
+
53
+ def success_default(_relative_url_root = nil)
54
+ {
55
+ json: asset.to_json(only: [:id, :type])
56
+ }
57
+ end
58
+
59
+ def errors_json
60
+ {
61
+ json: { uploaded: 0, error: { message: error_message } }.to_json
62
+ }
63
+ end
64
+
65
+ def errors_ckeditor
66
+ {
67
+ text: %"<script type='text/javascript'>
68
+ window.parent.CKEDITOR.tools.callFunction(#{params[:CKEditorFuncNum]}, null, '#{error_message}');
69
+ </script>"
70
+ }
71
+ end
72
+
73
+ def errors_default
74
+ {
75
+ json: { message: error_message }.to_json
76
+ }
77
+ end
78
+
79
+ def error_message
80
+ Ckeditor::Utils.escape_single_quotes(asset.errors.full_messages.first)
81
+ end
82
+
83
+ def asset_url(relative_url_root)
84
+ url = Ckeditor::Utils.escape_single_quotes(asset.url_content)
85
+
86
+ if URI(url).relative?
87
+ "#{relative_url_root}#{url}"
36
88
  else
37
- {
38
- json: asset.to_json(only: [:id, :type])
39
- }
89
+ url
40
90
  end
41
91
  end
42
92
 
43
- def errors
93
+ def extract_mode
44
94
  if json?
45
- {
46
- json: { "uploaded" => 0, "error" => { "message" => "Upload failed"} }.to_json
47
- }
95
+ :json
48
96
  elsif ckeditor?
49
- {
50
- text: %Q"<script type='text/javascript'>
51
- window.parent.CKEDITOR.tools.callFunction(#{params[:CKEditorFuncNum]}, null, '#{Ckeditor::Utils.escape_single_quotes(asset.errors.full_messages.first)}');
52
- </script>"
53
- }
97
+ :ckeditor
54
98
  else
55
- {nothing: true, format: :json}
99
+ :default
56
100
  end
57
101
  end
58
102
  end
59
- end
103
+ end
@@ -12,7 +12,7 @@ module Ckeditor
12
12
  def self.extended(base)
13
13
  base.class_eval do
14
14
  process :extract_content_type
15
- process :set_size
15
+ process :extract_size
16
16
  end
17
17
  end
18
18
  end
@@ -40,17 +40,20 @@ module Ckeditor
40
40
  model.data_content_type = Utils::ContentTypeDetector.new(file.path).detect
41
41
  end
42
42
 
43
- def set_size
43
+ def extract_size
44
44
  model.data_file_size = file.size
45
45
  end
46
46
 
47
- def read_dimensions
47
+ def extract_dimensions
48
48
  if model.image? && model.has_dimensions?
49
- magick = ::MiniMagick::Image.new(current_path)
50
- model.width, model.height = magick[:width], magick[:height]
49
+ model.width = magick[:width]
50
+ model.height = magick[:height]
51
51
  end
52
52
  end
53
53
 
54
+ def magick
55
+ @magick ||= ::MiniMagick::Image.new(current_path)
56
+ end
54
57
  end
55
58
  end
56
59
  end