glebtv-ckeditor 4.11.1 → 4.13.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (364) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +13 -12
  3. data/README.md +358 -2
  4. data/Rakefile +17 -8
  5. data/app/assets/javascripts/ckeditor/filebrowser/javascripts/fileuploader.js +313 -317
  6. data/app/controllers/ckeditor/application_controller.rb +3 -0
  7. data/app/controllers/ckeditor/attachment_files_controller.rb +2 -2
  8. data/app/controllers/ckeditor/pictures_controller.rb +2 -2
  9. data/app/helpers/ckeditor/application_helper.rb +2 -0
  10. data/app/views/ckeditor/shared/_asset.html.erb +1 -3
  11. data/app/views/ckeditor/shared/_asset_tmpl.html.erb +0 -2
  12. data/config/locales/da.ckeditor.yml +9 -0
  13. data/config/routes.rb +2 -0
  14. data/lib/ckeditor.rb +13 -19
  15. data/lib/ckeditor/asset_response.rb +17 -10
  16. data/lib/ckeditor/backend/active_storage.rb +68 -0
  17. data/lib/ckeditor/backend/carrierwave.rb +2 -12
  18. data/lib/ckeditor/backend/dragonfly.rb +2 -0
  19. data/lib/ckeditor/backend/paperclip.rb +2 -15
  20. data/lib/ckeditor/backend/shrine.rb +29 -0
  21. data/lib/ckeditor/helpers/controllers.rb +2 -0
  22. data/lib/ckeditor/helpers/form_builder.rb +2 -0
  23. data/lib/ckeditor/helpers/form_helper.rb +2 -0
  24. data/lib/ckeditor/helpers/view_helper.rb +2 -0
  25. data/lib/ckeditor/hooks/cancan.rb +4 -1
  26. data/lib/ckeditor/hooks/formtastic.rb +2 -0
  27. data/lib/ckeditor/hooks/pundit.rb +2 -0
  28. data/lib/ckeditor/hooks/simple_form.rb +2 -0
  29. data/lib/ckeditor/http.rb +14 -9
  30. data/lib/ckeditor/orm/active_record.rb +2 -0
  31. data/lib/ckeditor/orm/base.rb +11 -2
  32. data/lib/ckeditor/orm/mongoid.rb +2 -0
  33. data/lib/ckeditor/paginatable.rb +2 -0
  34. data/lib/ckeditor/rails.rb +2 -0
  35. data/lib/ckeditor/rails_admin/field.rb +16 -3
  36. data/lib/ckeditor/text_area.rb +2 -0
  37. data/lib/ckeditor/utils.rb +3 -16
  38. data/lib/ckeditor/utils/javascript_code.rb +1 -1
  39. data/lib/ckeditor/version.rb +4 -2
  40. data/lib/generators/ckeditor/install_generator.rb +16 -19
  41. data/lib/generators/ckeditor/pundit_policy_generator.rb +2 -0
  42. data/lib/generators/ckeditor/templates/active_record/active_storage/ckeditor/asset.rb +10 -0
  43. data/lib/generators/ckeditor/templates/active_record/{refile → active_storage}/ckeditor/attachment_file.rb +3 -1
  44. data/lib/generators/ckeditor/templates/active_record/active_storage/ckeditor/picture.rb +13 -0
  45. data/lib/generators/ckeditor/templates/active_record/{carrierwave/migration_versioned.rb → active_storage/migration.rb} +8 -5
  46. data/lib/generators/ckeditor/templates/active_record/carrierwave/ckeditor/asset.rb +2 -0
  47. data/lib/generators/ckeditor/templates/active_record/carrierwave/ckeditor/attachment_file.rb +2 -0
  48. data/lib/generators/ckeditor/templates/active_record/carrierwave/ckeditor/picture.rb +2 -0
  49. data/lib/generators/ckeditor/templates/active_record/carrierwave/migration.rb +7 -5
  50. data/lib/generators/ckeditor/templates/active_record/dragonfly/ckeditor/asset.rb +2 -0
  51. data/lib/generators/ckeditor/templates/active_record/dragonfly/ckeditor/attachment_file.rb +2 -0
  52. data/lib/generators/ckeditor/templates/active_record/dragonfly/ckeditor/picture.rb +2 -0
  53. data/lib/generators/ckeditor/templates/active_record/dragonfly/migration.rb +7 -5
  54. data/lib/generators/ckeditor/templates/active_record/paperclip/ckeditor/asset.rb +2 -0
  55. data/lib/generators/ckeditor/templates/active_record/paperclip/ckeditor/attachment_file.rb +2 -0
  56. data/lib/generators/ckeditor/templates/active_record/paperclip/ckeditor/picture.rb +2 -0
  57. data/lib/generators/ckeditor/templates/active_record/paperclip/migration.rb +8 -6
  58. data/lib/generators/ckeditor/templates/active_record/{refile → shrine}/ckeditor/asset.rb +3 -1
  59. data/lib/generators/ckeditor/templates/active_record/shrine/ckeditor/attachment_file.rb +21 -0
  60. data/lib/generators/ckeditor/templates/active_record/shrine/ckeditor/picture.rb +49 -0
  61. data/lib/generators/ckeditor/templates/active_record/shrine/migration.rb +22 -0
  62. data/lib/generators/ckeditor/templates/base/carrierwave/uploaders/ckeditor_attachment_file_uploader.rb +2 -1
  63. data/lib/generators/ckeditor/templates/base/carrierwave/uploaders/ckeditor_picture_uploader.rb +2 -3
  64. data/lib/generators/ckeditor/templates/base/dragonfly/initializer.rb +2 -0
  65. data/lib/generators/ckeditor/templates/base/shrine/initializer.rb +25 -0
  66. data/lib/generators/ckeditor/templates/ckeditor.rb +3 -6
  67. data/lib/generators/ckeditor/templates/mongoid/carrierwave/ckeditor/asset.rb +2 -0
  68. data/lib/generators/ckeditor/templates/mongoid/carrierwave/ckeditor/attachment_file.rb +2 -0
  69. data/lib/generators/ckeditor/templates/mongoid/carrierwave/ckeditor/picture.rb +2 -0
  70. data/lib/generators/ckeditor/templates/mongoid/paperclip/ckeditor/asset.rb +2 -0
  71. data/lib/generators/ckeditor/templates/mongoid/paperclip/ckeditor/attachment_file.rb +2 -0
  72. data/lib/generators/ckeditor/templates/mongoid/paperclip/ckeditor/picture.rb +2 -0
  73. data/lib/generators/ckeditor/templates/mongoid/shrine/ckeditor/asset.rb +8 -0
  74. data/lib/generators/ckeditor/templates/mongoid/shrine/ckeditor/attachment_file.rb +21 -0
  75. data/lib/generators/ckeditor/templates/mongoid/shrine/ckeditor/picture.rb +47 -0
  76. data/lib/generators/ckeditor/templates/pundit_policy/attachment_file_policy.rb +2 -0
  77. data/lib/generators/ckeditor/templates/pundit_policy/picture_policy.rb +2 -0
  78. data/lib/tasks/ckeditor.rake +2 -0
  79. data/test/controllers/attachment_files_controller_test.rb +17 -15
  80. data/test/controllers/pictures_controller_test.rb +17 -15
  81. data/test/dummy/Rakefile +2 -0
  82. data/test/dummy/app/assets/javascripts/application.js +0 -2
  83. data/test/dummy/app/controllers/application_controller.rb +2 -0
  84. data/test/dummy/app/controllers/posts_controller.rb +2 -0
  85. data/test/dummy/app/helpers/application_helper.rb +2 -0
  86. data/test/dummy/app/helpers/posts_helper.rb +2 -0
  87. data/test/dummy/app/models/post.rb +2 -0
  88. data/test/dummy/app/views/posts/index.html.erb +0 -3
  89. data/test/dummy/app/views/posts/show.html.erb +3 -0
  90. data/test/dummy/config.ru +2 -0
  91. data/test/dummy/config/application.rb +5 -1
  92. data/test/dummy/config/boot.rb +2 -0
  93. data/test/dummy/config/environment.rb +2 -0
  94. data/test/dummy/config/environments/development.rb +2 -0
  95. data/test/dummy/config/environments/production.rb +2 -0
  96. data/test/dummy/config/environments/test.rb +5 -3
  97. data/test/dummy/config/initializers/assets.rb +2 -0
  98. data/test/dummy/config/initializers/backtrace_silencers.rb +2 -0
  99. data/test/dummy/config/initializers/ckeditor.rb +2 -0
  100. data/test/dummy/config/initializers/cookies_serializer.rb +2 -0
  101. data/test/dummy/config/initializers/inflections.rb +2 -0
  102. data/test/dummy/config/initializers/mime_types.rb +2 -0
  103. data/test/dummy/config/initializers/paperclip.rb +2 -0
  104. data/test/dummy/config/initializers/session_store.rb +2 -0
  105. data/test/dummy/config/initializers/wrap_parameters.rb +2 -0
  106. data/test/dummy/config/routes.rb +2 -0
  107. data/test/dummy/config/storage.yml +3 -0
  108. data/test/dummy/db/migrate/20110623120047_create_posts.rb +5 -3
  109. data/test/dummy/db/migrate/20170806125915_create_active_storage_tables.rb +26 -0
  110. data/test/dummy/script/rails +2 -0
  111. data/test/functional/posts_controller_test.rb +18 -16
  112. data/test/generators/install_generator_test.rb +58 -56
  113. data/test/integration/navigation_test.rb +2 -0
  114. data/test/models/attachment_file_test.rb +4 -4
  115. data/test/models/ckeditor_test.rb +3 -21
  116. data/test/models/picture_test.rb +12 -10
  117. data/test/models/utils_test.rb +2 -0
  118. data/test/orm/active_record.rb +11 -1
  119. data/test/orm/mongoid.rb +2 -0
  120. data/test/support/helpers.rb +2 -0
  121. data/test/support/integration_case.rb +2 -0
  122. data/test/test_helper.rb +15 -9
  123. data/vendor/assets/javascripts/ckeditor/CHANGES.md +178 -2
  124. data/vendor/assets/javascripts/ckeditor/LICENSE.md +3 -2
  125. data/vendor/assets/javascripts/ckeditor/README.md +6 -6
  126. data/vendor/assets/javascripts/ckeditor/adapters/jquery.js +6 -6
  127. data/vendor/assets/javascripts/ckeditor/build-config.js +3 -4
  128. data/vendor/assets/javascripts/ckeditor/ckeditor.js +851 -816
  129. data/vendor/assets/javascripts/ckeditor/config.js +1 -1
  130. data/vendor/assets/javascripts/ckeditor/contents.css +1 -1
  131. data/vendor/assets/javascripts/ckeditor/lang/en.js +1 -1
  132. data/vendor/assets/javascripts/ckeditor/lang/ru.js +1 -1
  133. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +1 -1
  134. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/en.js +1 -1
  135. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ru.js +1 -1
  136. data/vendor/assets/javascripts/ckeditor/plugins/about/dialogs/about.js +1 -1
  137. data/vendor/assets/javascripts/ckeditor/plugins/clipboard/dialogs/paste.js +1 -1
  138. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/css/codemirror.min.css +1 -1
  139. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.addons.min.js +4 -2
  140. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.addons.search.min.js +1 -1
  141. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.min.js +1 -1
  142. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.mode.bbcodemixed.min.js +1 -1
  143. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.mode.handlebars.min.js +1 -1
  144. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.mode.htmlmixed.min.js +2 -2
  145. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.mode.javascript.min.js +1 -1
  146. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.mode.php.min.js +3 -3
  147. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.mode.twig.min.js +1 -1
  148. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/plugin.js +7 -3
  149. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/3024-day.css +41 -41
  150. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/3024-night.css +39 -39
  151. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/abcdef.css +32 -32
  152. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/ambiance-mobile.css +5 -5
  153. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/ambiance.css +74 -74
  154. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/base16-dark.css +38 -38
  155. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/base16-light.css +38 -38
  156. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/bespin.css +34 -34
  157. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/blackboard.css +32 -32
  158. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/cobalt.css +25 -25
  159. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/colorforth.css +33 -33
  160. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/darcula.css +51 -46
  161. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/dracula.css +40 -40
  162. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/duotone-dark.css +35 -35
  163. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/duotone-light.css +36 -36
  164. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/eclipse.css +23 -23
  165. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/elegant.css +13 -13
  166. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/erlang-dark.css +34 -34
  167. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/gruvbox-dark.css +37 -34
  168. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/hopscotch.css +34 -34
  169. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/icecoder.css +43 -43
  170. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/idea.css +41 -41
  171. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/isotope.css +34 -34
  172. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/lesser-dark.css +47 -47
  173. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/liquibyte.css +95 -95
  174. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/lucario.css +37 -37
  175. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/material.css +53 -53
  176. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/mbo.css +37 -37
  177. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/mdn-like.css +46 -46
  178. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/midnight.css +43 -43
  179. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/monokai.css +41 -41
  180. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/neat.css +12 -12
  181. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/neo.css +43 -43
  182. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/night.css +27 -27
  183. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/nord.css +42 -0
  184. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/oceanic-next.css +44 -44
  185. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/panda-syntax.css +85 -85
  186. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/paraiso-dark.css +38 -38
  187. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/paraiso-light.css +38 -38
  188. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/pastel-on-dark.css +52 -52
  189. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/railscasts.css +34 -34
  190. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/rubyblue.css +25 -25
  191. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/seti.css +44 -44
  192. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/shadowfox.css +52 -52
  193. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/solarized.css +168 -168
  194. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/ssms.css +16 -16
  195. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/the-matrix.css +30 -30
  196. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/tomorrow-night-bright.css +35 -35
  197. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/tomorrow-night-eighties.css +38 -38
  198. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/ttcn.css +64 -64
  199. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/twilight.css +32 -32
  200. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/vibrant-ink.css +34 -34
  201. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/xq-dark.css +53 -53
  202. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/xq-light.css +43 -43
  203. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/yeti.css +44 -44
  204. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/yonce.css +59 -0
  205. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/zenburn.css +37 -37
  206. data/vendor/assets/javascripts/ckeditor/plugins/colordialog/dialogs/colordialog.css +1 -1
  207. data/vendor/assets/javascripts/ckeditor/plugins/colordialog/dialogs/colordialog.js +11 -11
  208. data/vendor/assets/javascripts/ckeditor/plugins/dialog/dialogDefinition.js +1 -1
  209. data/vendor/assets/javascripts/ckeditor/plugins/dialog/styles/dialog.css +18 -0
  210. data/vendor/assets/javascripts/ckeditor/plugins/div/dialogs/div.js +9 -8
  211. data/vendor/assets/javascripts/ckeditor/plugins/find/dialogs/find.js +4 -4
  212. data/vendor/assets/javascripts/ckeditor/plugins/flash/dialogs/flash.js +16 -16
  213. data/vendor/assets/javascripts/ckeditor/plugins/forms/dialogs/button.js +5 -5
  214. data/vendor/assets/javascripts/ckeditor/plugins/forms/dialogs/checkbox.js +3 -3
  215. data/vendor/assets/javascripts/ckeditor/plugins/forms/dialogs/form.js +2 -2
  216. data/vendor/assets/javascripts/ckeditor/plugins/forms/dialogs/hiddenfield.js +4 -4
  217. data/vendor/assets/javascripts/ckeditor/plugins/forms/dialogs/radio.js +2 -2
  218. data/vendor/assets/javascripts/ckeditor/plugins/forms/dialogs/select.js +16 -16
  219. data/vendor/assets/javascripts/ckeditor/plugins/forms/dialogs/textarea.js +6 -5
  220. data/vendor/assets/javascripts/ckeditor/plugins/forms/dialogs/textfield.js +8 -8
  221. data/vendor/assets/javascripts/ckeditor/plugins/iframe/dialogs/iframe.js +8 -7
  222. data/vendor/assets/javascripts/ckeditor/plugins/image/dialogs/image.js +13 -1
  223. data/vendor/assets/javascripts/ckeditor/plugins/image/lang/en.js +1 -1
  224. data/vendor/assets/javascripts/ckeditor/plugins/image/lang/ru.js +1 -1
  225. data/vendor/assets/javascripts/ckeditor/plugins/image/plugin.js +2 -2
  226. data/vendor/assets/javascripts/ckeditor/plugins/image2/dev/contents.css +1 -1
  227. data/vendor/assets/javascripts/ckeditor/plugins/image2/dev/image2.html +2 -2
  228. data/vendor/assets/javascripts/ckeditor/plugins/image2/dialogs/image2.js +2 -2
  229. data/vendor/assets/javascripts/ckeditor/plugins/image2/lang/en.js +1 -1
  230. data/vendor/assets/javascripts/ckeditor/plugins/image2/lang/ru.js +1 -1
  231. data/vendor/assets/javascripts/ckeditor/plugins/image2/plugin.js +95 -32
  232. data/vendor/assets/javascripts/ckeditor/plugins/image2/samples/image2.html +3 -3
  233. data/vendor/assets/javascripts/ckeditor/plugins/link/dialogs/anchor.js +4 -4
  234. data/vendor/assets/javascripts/ckeditor/plugins/link/dialogs/link.js +25 -25
  235. data/vendor/assets/javascripts/ckeditor/plugins/liststyle/dialogs/liststyle.js +7 -7
  236. data/vendor/assets/javascripts/ckeditor/plugins/pastefromword/filter/default.js +40 -52
  237. data/vendor/assets/javascripts/ckeditor/plugins/pastetools/filter/common.js +19 -0
  238. data/vendor/assets/javascripts/ckeditor/plugins/scayt/README.md +63 -7
  239. data/vendor/assets/javascripts/ckeditor/plugins/scayt/dialogs/options.js +32 -32
  240. data/vendor/assets/javascripts/ckeditor/plugins/smiley/dialogs/smiley.js +1 -1
  241. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/en.js +1 -1
  242. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ru.js +1 -1
  243. data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/specialchar.js +1 -1
  244. data/vendor/assets/javascripts/ckeditor/plugins/table/dialogs/table.js +19 -18
  245. data/vendor/assets/javascripts/ckeditor/plugins/tabletools/dialogs/tableCell.js +15 -15
  246. data/vendor/assets/javascripts/ckeditor/plugins/templates/dialogs/templates.css +1 -1
  247. data/vendor/assets/javascripts/ckeditor/plugins/templates/dialogs/templates.js +1 -1
  248. data/vendor/assets/javascripts/ckeditor/plugins/templates/templates/default.js +1 -1
  249. data/vendor/assets/javascripts/ckeditor/plugins/wordcount/plugin.js +13 -7
  250. data/vendor/assets/javascripts/ckeditor/plugins/wsc/README.md +62 -7
  251. data/vendor/assets/javascripts/ckeditor/plugins/wsc/dialogs/wsc.js +4 -4
  252. data/vendor/assets/javascripts/ckeditor/skins/minimalist/editor.css +1 -123
  253. data/vendor/assets/javascripts/ckeditor/skins/minimalist/editor_gecko.css +1 -1
  254. data/vendor/assets/javascripts/ckeditor/skins/minimalist/editor_ie.css +1 -1
  255. data/vendor/assets/javascripts/ckeditor/skins/minimalist/editor_ie7.css +1 -1
  256. data/vendor/assets/javascripts/ckeditor/skins/minimalist/editor_ie8.css +1 -1
  257. data/vendor/assets/javascripts/ckeditor/skins/minimalist/editor_iequirks.css +1 -1
  258. data/vendor/assets/javascripts/ckeditor/skins/minimalist/icons.png +0 -0
  259. data/vendor/assets/javascripts/ckeditor/skins/minimalist/icons_hidpi.png +0 -0
  260. data/vendor/assets/javascripts/ckeditor/skins/minimalist/skin.js +10 -0
  261. data/vendor/assets/javascripts/ckeditor/skins/moono-lisa/dialog.css +1 -1
  262. data/vendor/assets/javascripts/ckeditor/skins/moono-lisa/dialog_ie.css +1 -1
  263. data/vendor/assets/javascripts/ckeditor/skins/moono-lisa/dialog_ie8.css +1 -1
  264. data/vendor/assets/javascripts/ckeditor/skins/moono-lisa/dialog_iequirks.css +1 -1
  265. data/vendor/assets/javascripts/ckeditor/skins/moono-lisa/editor.css +2 -2
  266. data/vendor/assets/javascripts/ckeditor/skins/moono-lisa/editor_gecko.css +2 -2
  267. data/vendor/assets/javascripts/ckeditor/skins/moono-lisa/editor_ie.css +2 -2
  268. data/vendor/assets/javascripts/ckeditor/skins/moono-lisa/editor_ie8.css +2 -2
  269. data/vendor/assets/javascripts/ckeditor/skins/moono-lisa/editor_iequirks.css +2 -2
  270. data/vendor/assets/javascripts/ckeditor/skins/moono-lisa/readme.md +1 -1
  271. data/vendor/assets/javascripts/ckeditor/skins/moono-lisa/skin.js +1 -1
  272. data/vendor/assets/javascripts/ckeditor/skins/moono/dialog.css +1 -1
  273. data/vendor/assets/javascripts/ckeditor/skins/moono/dialog_ie.css +1 -1
  274. data/vendor/assets/javascripts/ckeditor/skins/moono/dialog_ie7.css +1 -1
  275. data/vendor/assets/javascripts/ckeditor/skins/moono/dialog_ie8.css +1 -1
  276. data/vendor/assets/javascripts/ckeditor/skins/moono/dialog_iequirks.css +1 -1
  277. data/vendor/assets/javascripts/ckeditor/skins/moono/editor.css +2 -2
  278. data/vendor/assets/javascripts/ckeditor/skins/moono/editor_gecko.css +2 -2
  279. data/vendor/assets/javascripts/ckeditor/skins/moono/editor_ie.css +2 -2
  280. data/vendor/assets/javascripts/ckeditor/skins/moono/editor_ie7.css +2 -2
  281. data/vendor/assets/javascripts/ckeditor/skins/moono/editor_ie8.css +2 -2
  282. data/vendor/assets/javascripts/ckeditor/skins/moono/editor_iequirks.css +2 -2
  283. data/vendor/assets/javascripts/ckeditor/skins/moono/readme.md +2 -2
  284. data/vendor/assets/javascripts/ckeditor/skins/moono/skin.js +1 -1
  285. data/vendor/assets/javascripts/ckeditor/styles.js +1 -1
  286. data/vendor/assets/javascripts/ckeditor/vendor/promise.js +13 -0
  287. metadata +65 -121
  288. data/lib/ckeditor/backend/refile.rb +0 -39
  289. data/lib/ckeditor/utils/content_type_detector.rb +0 -38
  290. data/lib/generators/ckeditor/templates/active_record/dragonfly/migration_versioned.rb +0 -23
  291. data/lib/generators/ckeditor/templates/active_record/paperclip/migration_versioned.rb +0 -23
  292. data/lib/generators/ckeditor/templates/active_record/refile/ckeditor/picture.rb +0 -11
  293. data/lib/generators/ckeditor/templates/active_record/refile/migration.rb +0 -23
  294. data/lib/generators/ckeditor/templates/active_record/refile/migration_versioned.rb +0 -23
  295. data/test/support/raw_post.rb +0 -9
  296. data/vendor/assets/javascripts/ckeditor/samples/css/samples.css +0 -1637
  297. data/vendor/assets/javascripts/ckeditor/samples/img/github-top.png +0 -0
  298. data/vendor/assets/javascripts/ckeditor/samples/img/header-bg.png +0 -0
  299. data/vendor/assets/javascripts/ckeditor/samples/img/header-separator.png +0 -0
  300. data/vendor/assets/javascripts/ckeditor/samples/img/logo.png +0 -0
  301. data/vendor/assets/javascripts/ckeditor/samples/img/logo.svg +0 -13
  302. data/vendor/assets/javascripts/ckeditor/samples/img/navigation-tip.png +0 -0
  303. data/vendor/assets/javascripts/ckeditor/samples/index.html +0 -128
  304. data/vendor/assets/javascripts/ckeditor/samples/js/sample.js +0 -53
  305. data/vendor/assets/javascripts/ckeditor/samples/js/sf.js +0 -17
  306. data/vendor/assets/javascripts/ckeditor/samples/old/ajax.html +0 -85
  307. data/vendor/assets/javascripts/ckeditor/samples/old/api.html +0 -210
  308. data/vendor/assets/javascripts/ckeditor/samples/old/appendto.html +0 -59
  309. data/vendor/assets/javascripts/ckeditor/samples/old/assets/inlineall/logo.png +0 -0
  310. data/vendor/assets/javascripts/ckeditor/samples/old/assets/outputxhtml/outputxhtml.css +0 -204
  311. data/vendor/assets/javascripts/ckeditor/samples/old/assets/posteddata.php +0 -59
  312. data/vendor/assets/javascripts/ckeditor/samples/old/assets/sample.jpg +0 -0
  313. data/vendor/assets/javascripts/ckeditor/samples/old/assets/uilanguages/languages.js +0 -7
  314. data/vendor/assets/javascripts/ckeditor/samples/old/datafiltering.html +0 -508
  315. data/vendor/assets/javascripts/ckeditor/samples/old/dialog/assets/my_dialog.js +0 -48
  316. data/vendor/assets/javascripts/ckeditor/samples/old/dialog/dialog.html +0 -190
  317. data/vendor/assets/javascripts/ckeditor/samples/old/divreplace.html +0 -144
  318. data/vendor/assets/javascripts/ckeditor/samples/old/enterkey/enterkey.html +0 -106
  319. data/vendor/assets/javascripts/ckeditor/samples/old/htmlwriter/assets/outputforflash/outputforflash.fla +0 -0
  320. data/vendor/assets/javascripts/ckeditor/samples/old/htmlwriter/assets/outputforflash/outputforflash.swf +0 -0
  321. data/vendor/assets/javascripts/ckeditor/samples/old/htmlwriter/assets/outputforflash/swfobject.js +0 -19
  322. data/vendor/assets/javascripts/ckeditor/samples/old/htmlwriter/outputforflash.html +0 -283
  323. data/vendor/assets/javascripts/ckeditor/samples/old/htmlwriter/outputhtml.html +0 -224
  324. data/vendor/assets/javascripts/ckeditor/samples/old/index.html +0 -134
  325. data/vendor/assets/javascripts/ckeditor/samples/old/inlineall.html +0 -314
  326. data/vendor/assets/javascripts/ckeditor/samples/old/inlinebycode.html +0 -124
  327. data/vendor/assets/javascripts/ckeditor/samples/old/inlinetextarea.html +0 -113
  328. data/vendor/assets/javascripts/ckeditor/samples/old/jquery.html +0 -103
  329. data/vendor/assets/javascripts/ckeditor/samples/old/magicline/magicline.html +0 -209
  330. data/vendor/assets/javascripts/ckeditor/samples/old/readonly.html +0 -76
  331. data/vendor/assets/javascripts/ckeditor/samples/old/replacebyclass.html +0 -60
  332. data/vendor/assets/javascripts/ckeditor/samples/old/replacebycode.html +0 -59
  333. data/vendor/assets/javascripts/ckeditor/samples/old/sample.css +0 -357
  334. data/vendor/assets/javascripts/ckeditor/samples/old/sample.js +0 -50
  335. data/vendor/assets/javascripts/ckeditor/samples/old/sample_posteddata.php +0 -16
  336. data/vendor/assets/javascripts/ckeditor/samples/old/stylesheetparser/assets/sample.css +0 -70
  337. data/vendor/assets/javascripts/ckeditor/samples/old/stylesheetparser/stylesheetparser.html +0 -85
  338. data/vendor/assets/javascripts/ckeditor/samples/old/tabindex.html +0 -78
  339. data/vendor/assets/javascripts/ckeditor/samples/old/toolbar/toolbar.html +0 -235
  340. data/vendor/assets/javascripts/ckeditor/samples/old/uicolor.html +0 -72
  341. data/vendor/assets/javascripts/ckeditor/samples/old/uilanguages.html +0 -122
  342. data/vendor/assets/javascripts/ckeditor/samples/old/wysiwygarea/fullpage.html +0 -80
  343. data/vendor/assets/javascripts/ckeditor/samples/old/xhtmlstyle.html +0 -234
  344. data/vendor/assets/javascripts/ckeditor/samples/toolbarconfigurator/css/fontello.css +0 -55
  345. data/vendor/assets/javascripts/ckeditor/samples/toolbarconfigurator/font/LICENSE.txt +0 -10
  346. data/vendor/assets/javascripts/ckeditor/samples/toolbarconfigurator/font/config.json +0 -28
  347. data/vendor/assets/javascripts/ckeditor/samples/toolbarconfigurator/font/fontello.eot +0 -0
  348. data/vendor/assets/javascripts/ckeditor/samples/toolbarconfigurator/font/fontello.svg +0 -14
  349. data/vendor/assets/javascripts/ckeditor/samples/toolbarconfigurator/font/fontello.ttf +0 -0
  350. data/vendor/assets/javascripts/ckeditor/samples/toolbarconfigurator/font/fontello.woff +0 -0
  351. data/vendor/assets/javascripts/ckeditor/samples/toolbarconfigurator/index.html +0 -446
  352. data/vendor/assets/javascripts/ckeditor/samples/toolbarconfigurator/js/abstracttoolbarmodifier.js +0 -13
  353. data/vendor/assets/javascripts/ckeditor/samples/toolbarconfigurator/js/fulltoolbareditor.js +0 -9
  354. data/vendor/assets/javascripts/ckeditor/samples/toolbarconfigurator/js/toolbarmodifier.js +0 -33
  355. data/vendor/assets/javascripts/ckeditor/samples/toolbarconfigurator/js/toolbartextmodifier.js +0 -14
  356. data/vendor/assets/javascripts/ckeditor/samples/toolbarconfigurator/lib/codemirror/LICENSE +0 -19
  357. data/vendor/assets/javascripts/ckeditor/samples/toolbarconfigurator/lib/codemirror/codemirror.css +0 -325
  358. data/vendor/assets/javascripts/ckeditor/samples/toolbarconfigurator/lib/codemirror/codemirror.js +0 -288
  359. data/vendor/assets/javascripts/ckeditor/samples/toolbarconfigurator/lib/codemirror/javascript.js +0 -25
  360. data/vendor/assets/javascripts/ckeditor/samples/toolbarconfigurator/lib/codemirror/neo.css +0 -36
  361. data/vendor/assets/javascripts/ckeditor/samples/toolbarconfigurator/lib/codemirror/show-hint.css +0 -38
  362. data/vendor/assets/javascripts/ckeditor/samples/toolbarconfigurator/lib/codemirror/show-hint.js +0 -16
  363. data/vendor/assets/javascripts/ckeditor/skins/moono-lisa/icons.png +0 -0
  364. data/vendor/assets/javascripts/ckeditor/skins/moono-lisa/icons_hidpi.png +0 -0
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class Ckeditor::ApplicationController < Ckeditor.parent_controller.constantize
2
4
  layout Ckeditor.controller_layout
3
5
 
@@ -9,6 +11,7 @@ class Ckeditor::ApplicationController < Ckeditor.parent_controller.constantize
9
11
 
10
12
  def respond_with_asset(asset)
11
13
  asset_response = Ckeditor::AssetResponse.new(asset, request)
14
+ asset.data = asset_response.data
12
15
 
13
16
  if asset.save
14
17
  render asset_response.success(config.relative_url_root)
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class Ckeditor::AttachmentFilesController < Ckeditor::ApplicationController
2
4
  skip_before_action :verify_authenticity_token, only: :create, raise: false
3
5
 
@@ -16,8 +18,6 @@ class Ckeditor::AttachmentFilesController < Ckeditor::ApplicationController
16
18
  end
17
19
 
18
20
  def destroy
19
- return false unless Ckeditor.can_delete
20
-
21
21
  @attachment.destroy
22
22
 
23
23
  respond_to do |format|
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class Ckeditor::PicturesController < Ckeditor::ApplicationController
2
4
  skip_before_action :verify_authenticity_token, only: :create, raise: false
3
5
 
@@ -16,8 +18,6 @@ class Ckeditor::PicturesController < Ckeditor::ApplicationController
16
18
  end
17
19
 
18
20
  def destroy
19
- return false unless Ckeditor.can_delete
20
-
21
21
  @picture.destroy
22
22
 
23
23
  respond_to do |format|
@@ -1,2 +1,4 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Ckeditor::ApplicationHelper
2
4
  end
@@ -1,13 +1,11 @@
1
1
  <%= content_tag(:div, id: dom_id(asset), class: "gal-item", data: { url: image_path(asset.url_content) }) do %>
2
-
3
- <% if Ckeditor.can_delete then %>
4
2
  <%= link_to '', polymorphic_path(asset, format: :json),
5
3
  remote: true,
6
4
  method: :delete,
7
5
  title: I18n.t('ckeditor.buttons.delete'),
8
6
  data: { confirm: t('ckeditor.confirm_delete') },
9
7
  class: "fileupload-cancel gal-del" %>
10
- <% end %>
8
+
11
9
  <div class="fileupload-file gal-inner-holder">
12
10
  <div class="img"><%= image_tag(asset.url_thumb, title: asset.filename) %></div>
13
11
  <div class="img-data">
@@ -1,13 +1,11 @@
1
1
  <script id="fileupload_tmpl" type="text/x-jquery-tmpl">
2
2
  <div id="asset_${id}" class="gal-item" data-url="${url_content}">
3
- <% if Ckeditor.can_delete then %>
4
3
  <%= link_to '', "/ckeditor/${controller}/${id}.json",
5
4
  remote: true,
6
5
  method: :delete,
7
6
  title: I18n.t('ckeditor.buttons.delete'),
8
7
  data: { confirm: t('ckeditor.confirm_delete') },
9
8
  class: "fileupload-cancel gal-del" %>
10
- <% end %>
11
9
 
12
10
  <div class="fileupload-file gal-inner-holder">
13
11
  <div class="img"><img src="${url_thumb}" title="${filename}"></div>
@@ -0,0 +1,9 @@
1
+ da:
2
+ ckeditor:
3
+ page_title: "CKEditor Fil Manager"
4
+ confirm_delete: "Slet fil?"
5
+ buttons:
6
+ cancel: "Annuller"
7
+ upload: "Upload"
8
+ delete: "Slet"
9
+ next: "Næste"
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  Ckeditor::Engine.routes.draw do
2
4
  resources :pictures, only: [:index, :create, :destroy]
3
5
  resources :attachment_files, only: [:index, :create, :destroy]
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'orm_adapter'
2
4
  require 'pathname'
3
5
 
@@ -22,10 +24,11 @@ module Ckeditor
22
24
  end
23
25
 
24
26
  module Backend
27
+ autoload :ActiveStorage, 'ckeditor/backend/active_storage'
25
28
  autoload :Paperclip, 'ckeditor/backend/paperclip'
26
29
  autoload :CarrierWave, 'ckeditor/backend/carrierwave'
27
30
  autoload :Dragonfly, 'ckeditor/backend/dragonfly'
28
- autoload :Refile, 'ckeditor/backend/refile'
31
+ autoload :Shrine, 'ckeditor/backend/shrine'
29
32
  end
30
33
 
31
34
  IMAGE_TYPES = %w[image/jpeg image/png image/gif image/jpg image/pjpeg image/tiff image/x-png].freeze
@@ -38,9 +41,6 @@ module Ckeditor
38
41
  request.env['warden'].try(:user) || respond_to?(:current_user) && current_user
39
42
  end
40
43
 
41
- mattr_accessor :can_delete
42
- @@can_delete = true
43
-
44
44
  # Allowed image file types for upload.
45
45
  # Set to nil or [] (empty array) for all file types
46
46
  mattr_accessor :image_file_types
@@ -72,14 +72,9 @@ module Ckeditor
72
72
  mattr_accessor :default_per_page
73
73
  @@default_per_page = 24
74
74
 
75
- # Asset restrictions
76
- mattr_accessor :assets_languages
77
- mattr_accessor :assets_plugins
78
- @@assets_languages = nil
79
- @@assets_plugins = nil
80
-
81
75
  # CKEditor CDN
82
76
  mattr_accessor :cdn_url
77
+ #@@cdn_url = '//cdn.ckeditor.com/4.11.3/standard/ckeditor.js'
83
78
  @@cdn_url = nil
84
79
 
85
80
  # Url to ckeditor config, used when CDN enabled
@@ -101,7 +96,7 @@ module Ckeditor
101
96
  # Turn on/off assets pipeline
102
97
  # By default ckeditor will check assets pipeline
103
98
  mattr_accessor :assets_pipeline_enabled
104
- @@assets_pipeline_enabled = nil
99
+ @@assets_pipeline_enabled = true
105
100
 
106
101
  # Default way to setup Ckeditor. Run rails generate ckeditor to create
107
102
  # a fresh initializer with all configuration values.
@@ -126,11 +121,10 @@ module Ckeditor
126
121
 
127
122
  # All css and js files from ckeditor folder
128
123
  def self.assets
129
- @assets ||= if Ckeditor.cdn_enabled?
130
- ['ckeditor/config.js']
131
- else
132
- Utils.select_assets('ckeditor', 'vendor/assets/javascripts') << 'ckeditor/init.js'
133
- end
124
+ @assets ||= Ckeditor.cdn_enabled? ?
125
+ ['ckeditor/config.js']
126
+ :
127
+ Utils.select_assets('ckeditor', 'vendor/assets/javascripts') << 'ckeditor/init.js'
134
128
  end
135
129
 
136
130
  def self.assets=(value)
@@ -204,11 +198,11 @@ module Ckeditor
204
198
  # end
205
199
  #
206
200
  # To use an authorization adapter, pass the name of the adapter. For example,
207
- # to use with CanCan[https://github.com/ryanb/cancan], pass it like this.
201
+ # to use with CanCanCan[https://github.com/CanCanCommunity/cancancan], pass it like this.
208
202
  #
209
- # @example CanCan
203
+ # @example CanCanCan
210
204
  # Ckeditor.setup do |config|
211
- # config.authorize_with :cancan
205
+ # config.authorize_with :cancancan
212
206
  # end
213
207
  #
214
208
  def self.authorize_with(*args, &block)
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'action_view/helpers/tag_helper'
2
4
  require 'action_view/helpers/javascript_helper'
3
5
 
@@ -6,21 +8,23 @@ module Ckeditor
6
8
  include ActionView::Helpers::TagHelper
7
9
  include ActionView::Helpers::JavaScriptHelper
8
10
 
9
- FUNCTION = 'window.parent.CKEDITOR.tools.callFunction'.freeze
10
- JSON_TYPE = 'json'.freeze
11
+ FUNCTION = 'window.parent.CKEDITOR.tools.callFunction'
12
+ JSON_TYPE = 'json'
11
13
 
12
- attr_reader :asset, :params
14
+ attr_reader :asset, :request, :params
13
15
 
14
16
  def initialize(asset, request)
15
17
  @asset = asset
16
18
  @request = request
17
19
  @params = request.params
20
+ end
18
21
 
19
- @asset.data = Ckeditor::Http.normalize_param(file, @request)
22
+ def data
23
+ @data ||= read_data
20
24
  end
21
25
 
22
26
  def json?
23
- params.key?(:upload) || ( params[:responseType] == JSON_TYPE && !params.key?(:qqfile) )
27
+ params[:responseType] == JSON_TYPE
24
28
  end
25
29
 
26
30
  def ckeditor?
@@ -28,11 +32,7 @@ module Ckeditor
28
32
  end
29
33
 
30
34
  def file
31
- if params.key?(:qqfile)
32
- params[:qqfile]
33
- else
34
- params[:upload]
35
- end
35
+ !(ckeditor? || json?) ? params[:qqfile] : params[:upload]
36
36
  end
37
37
 
38
38
  def current_mode
@@ -108,5 +108,12 @@ module Ckeditor
108
108
  :default
109
109
  end
110
110
  end
111
+
112
+ def read_data
113
+ data = Ckeditor::Http.normalize_param(file, request)
114
+ return if data.size.zero? || data.original_filename.blank?
115
+
116
+ data
117
+ end
111
118
  end
112
119
  end
@@ -0,0 +1,68 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Ckeditor
4
+ module Backend
5
+ module ActiveStorage
6
+ def self.included(base)
7
+ base.send(:include, Rails.application.routes.url_helpers)
8
+ base.send(:include, InstanceMethods)
9
+ base.send(:extend, ClassMethods)
10
+ end
11
+
12
+ module ClassMethods
13
+ def self.extended(base)
14
+ base.class_eval do
15
+ before_save :apply_data
16
+ validate do
17
+ if data.nil? || file.nil?
18
+ errors.add(:data, :not_data_present, message: "data must be present")
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
24
+
25
+ module InstanceMethods
26
+ def url
27
+ rails_blob_path(self.storage_data, only_path: true)
28
+ end
29
+
30
+ def path
31
+ rails_blob_path(self.storage_data, only_path: true)
32
+ end
33
+
34
+ def styles
35
+ end
36
+
37
+ def content_type
38
+ self.storage_data.content_type
39
+ end
40
+ def content_type=(_content_type)
41
+ self.storage_data.content_type = _content_type
42
+ end
43
+ protected
44
+
45
+ def file
46
+ @file ||= storage_data
47
+ end
48
+
49
+ def blob
50
+ @blob ||= ::ActiveStorage::Blob.find(file.attachment.blob_id)
51
+ end
52
+
53
+ def apply_data
54
+ if data.is_a?(Ckeditor::Http::QqFile)
55
+ storage_data.attach(io: data, filename: data.original_filename)
56
+ else
57
+ storage_data.attach(data)
58
+ end
59
+
60
+ self.data_file_name = storage_data.blob.filename
61
+ self.data_content_type = storage_data.blob.content_type
62
+ self.data_file_size = storage_data.blob.byte_size
63
+ end
64
+
65
+ end
66
+ end
67
+ end
68
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'mini_magick'
2
4
 
3
5
  module Ckeditor
@@ -11,7 +13,6 @@ module Ckeditor
11
13
  module ClassMethods
12
14
  def self.extended(base)
13
15
  base.class_eval do
14
- process :extract_content_type
15
16
  process :extract_size
16
17
  end
17
18
  end
@@ -36,21 +37,10 @@ module Ckeditor
36
37
  end
37
38
  end
38
39
 
39
- def extract_content_type
40
- model.data_content_type = Utils::ContentTypeDetector.new(file.path).detect
41
- end
42
-
43
40
  def extract_size
44
41
  model.data_file_size = file.size
45
42
  end
46
43
 
47
- def extract_dimensions
48
- if model.image? && model.has_dimensions?
49
- model.width = magick[:width]
50
- model.height = magick[:height]
51
- end
52
- end
53
-
54
44
  def magick
55
45
  @magick ||= ::MiniMagick::Image.new(current_path)
56
46
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Ckeditor
2
4
  module Backend
3
5
  module Dragonfly
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Ckeditor
2
4
  module Backend
3
5
  module Paperclip
@@ -9,9 +11,6 @@ module Ckeditor
9
11
  module ClassMethods
10
12
  def self.extended(base)
11
13
  base.class_eval do
12
- before_validation :extract_content_type
13
- before_create :extract_dimensions
14
-
15
14
  delegate :url, :path, :styles, :content_type, to: :data
16
15
  end
17
16
  end
@@ -27,18 +26,6 @@ module Ckeditor
27
26
  def file
28
27
  @file ||= data.respond_to?(:queued_for_write) ? data.queued_for_write[:original] : data.to_file
29
28
  end
30
-
31
- def extract_dimensions
32
- if image? && has_dimensions?
33
- self.width = geometry.width
34
- self.height = geometry.height
35
- end
36
- end
37
-
38
- def extract_content_type
39
- path = file.nil? ? nil : file.path
40
- self.data_content_type = Utils::ContentTypeDetector.new(path).detect
41
- end
42
29
  end
43
30
  end
44
31
  end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Ckeditor
4
+ module Backend
5
+ module Shrine
6
+ def self.included(base)
7
+ base.send(:include, InstanceMethods)
8
+ end
9
+
10
+ module InstanceMethods
11
+ def url
12
+ data_url
13
+ end
14
+
15
+ def filename
16
+ datasource['filename']
17
+ end
18
+
19
+ def size
20
+ datasource['size']
21
+ end
22
+
23
+ def datasource
24
+ data.metadata
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Ckeditor
2
4
  module Helpers
3
5
  module Controllers
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Ckeditor
2
4
  module Helpers
3
5
  module FormBuilder
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Ckeditor
2
4
  module Helpers
3
5
  module FormHelper
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Ckeditor
2
4
  module Helpers
3
5
  module ViewHelper
@@ -1,8 +1,10 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'cancan'
2
4
 
3
5
  module Ckeditor
4
6
  module Hooks
5
- # This adapter is for the CanCan[https://github.com/ryanb/cancan] authorization library.
7
+ # This adapter is for the CanCanCan[https://github.com/CanCanCommunity/cancancan] authorization library.
6
8
  # You can create another adapter for different authorization behavior, just be certain it
7
9
  # responds to each of the public methods here.
8
10
  class CanCanAuthorization
@@ -45,3 +47,4 @@ module Ckeditor
45
47
  end
46
48
 
47
49
  Ckeditor::AUTHORIZATION_ADAPTERS[:cancan] = Ckeditor::Hooks::CanCanAuthorization
50
+ Ckeditor::AUTHORIZATION_ADAPTERS[:cancancan] = Ckeditor::Hooks::CanCanAuthorization