refinerycms-core 1.0.11 → 2.0.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 (528) hide show
  1. data/{public → app/assets/images}/favicon.ico +0 -0
  2. data/{public → app/assets}/images/refinery/add.png +0 -0
  3. data/{public → app/assets}/images/refinery/admin_bg.png +0 -0
  4. data/{public → app/assets}/images/refinery/ajax-loader.gif +0 -0
  5. data/{public → app/assets}/images/refinery/branch-end.gif +0 -0
  6. data/{public → app/assets}/images/refinery/branch-start.gif +0 -0
  7. data/{public → app/assets}/images/refinery/branch.gif +0 -0
  8. data/{public → app/assets}/images/refinery/carousel-left.png +0 -0
  9. data/{public → app/assets}/images/refinery/carousel-right.png +0 -0
  10. data/{public → app/assets}/images/refinery/cross.png +0 -0
  11. data/{public → app/assets}/images/refinery/dialogLoadingAnimation.gif +0 -0
  12. data/{public → app/assets}/images/refinery/header_background.png +0 -0
  13. data/{public → app/assets}/images/refinery/hover-gradient.jpg +0 -0
  14. data/{public → app/assets}/images/refinery/icons/accept.png +0 -0
  15. data/{public → app/assets}/images/refinery/icons/add.png +0 -0
  16. data/{public → app/assets}/images/refinery/icons/ajax-loader.gif +0 -0
  17. data/{public → app/assets}/images/refinery/icons/application_edit.png +0 -0
  18. data/{public → app/assets}/images/refinery/icons/application_go.png +0 -0
  19. data/{public → app/assets}/images/refinery/icons/arrow_left.png +0 -0
  20. data/{public → app/assets}/images/refinery/icons/arrow_switch.png +0 -0
  21. data/{public → app/assets}/images/refinery/icons/arrow_up.png +0 -0
  22. data/{public → app/assets}/images/refinery/icons/bin.png +0 -0
  23. data/{public → app/assets}/images/refinery/icons/bin_closed.png +0 -0
  24. data/{public → app/assets}/images/refinery/icons/cancel.png +0 -0
  25. data/{public → app/assets}/images/refinery/icons/cog_add.png +0 -0
  26. data/{public → app/assets}/images/refinery/icons/cog_edit.png +0 -0
  27. data/{public → app/assets}/images/refinery/icons/cross.png +0 -0
  28. data/{public → app/assets}/images/refinery/icons/delete.png +0 -0
  29. data/{public → app/assets}/images/refinery/icons/doc.png +0 -0
  30. data/{public → app/assets}/images/refinery/icons/down.gif +0 -0
  31. data/{public → app/assets}/images/refinery/icons/edit.png +0 -0
  32. data/{public → app/assets}/images/refinery/icons/email.png +0 -0
  33. data/{public → app/assets}/images/refinery/icons/email_edit.png +0 -0
  34. data/{public → app/assets}/images/refinery/icons/email_go.png +0 -0
  35. data/{public → app/assets}/images/refinery/icons/email_open.png +0 -0
  36. data/{public → app/assets}/images/refinery/icons/eye.png +0 -0
  37. data/app/assets/images/refinery/icons/folder.png +0 -0
  38. data/app/assets/images/refinery/icons/folder_open.png +0 -0
  39. data/{public → app/assets}/images/refinery/icons/folder_page_white.png +0 -0
  40. data/{public → app/assets}/images/refinery/icons/image_add.png +0 -0
  41. data/{public → app/assets}/images/refinery/icons/image_edit.png +0 -0
  42. data/{public → app/assets}/images/refinery/icons/img.png +0 -0
  43. data/{public → app/assets}/images/refinery/icons/information.png +0 -0
  44. data/{public → app/assets}/images/refinery/icons/layout_add.png +0 -0
  45. data/{public → app/assets}/images/refinery/icons/layout_edit.png +0 -0
  46. data/{public → app/assets}/images/refinery/icons/music.png +0 -0
  47. data/app/assets/images/refinery/icons/page.png +0 -0
  48. data/{public → app/assets}/images/refinery/icons/page_add.png +0 -0
  49. data/{public → app/assets}/images/refinery/icons/page_edit.png +0 -0
  50. data/{public → app/assets}/images/refinery/icons/page_white_edit.png +0 -0
  51. data/{public → app/assets}/images/refinery/icons/page_white_gear.png +0 -0
  52. data/{public → app/assets}/images/refinery/icons/page_white_put.png +0 -0
  53. data/{public → app/assets}/images/refinery/icons/pdf.png +0 -0
  54. data/{public → app/assets}/images/refinery/icons/ppt.png +0 -0
  55. data/{public → app/assets}/images/refinery/icons/star.png +0 -0
  56. data/{public → app/assets}/images/refinery/icons/tick.png +0 -0
  57. data/{public → app/assets}/images/refinery/icons/up.gif +0 -0
  58. data/{public → app/assets}/images/refinery/icons/user_add.png +0 -0
  59. data/{public → app/assets}/images/refinery/icons/user_comment.png +0 -0
  60. data/{public → app/assets}/images/refinery/icons/user_edit.png +0 -0
  61. data/{public → app/assets}/images/refinery/icons/xls.png +0 -0
  62. data/{public → app/assets}/images/refinery/icons/zip.png +0 -0
  63. data/{public → app/assets}/images/refinery/icons/zoom.png +0 -0
  64. data/{public → app/assets}/images/refinery/logo-large.png +0 -0
  65. data/{public → app/assets}/images/refinery/logo-medium.png +0 -0
  66. data/{public → app/assets}/images/refinery/logo-site-bar.png +0 -0
  67. data/{public → app/assets}/images/refinery/logo-small-medium.png +0 -0
  68. data/{public → app/assets}/images/refinery/logo-small.png +0 -0
  69. data/{public → app/assets}/images/refinery/logo-tiny.png +0 -0
  70. data/{public → app/assets}/images/refinery/logo.png +0 -0
  71. data/{public → app/assets}/images/refinery/nav-3-background.gif +0 -0
  72. data/{public → app/assets}/images/refinery/nav_inactive_background.png +0 -0
  73. data/{public → app/assets}/images/refinery/orange_button.png +0 -0
  74. data/{public → app/assets}/images/refinery/page_bg.png +0 -0
  75. data/{public → app/assets}/images/refinery/resolve_digital_footer_logo.png +0 -0
  76. data/{public → app/assets}/images/refinery/text_field_background.png +0 -0
  77. data/{public → app/assets}/images/refinery/tooltip-nib.gif +0 -0
  78. data/{public → app/assets}/images/refinery/tooltip-nib.png +0 -0
  79. data/{public → app/assets}/images/wymeditor/skins/refinery/arrow_redo.png +0 -0
  80. data/{public → app/assets}/images/wymeditor/skins/refinery/arrow_undo.png +0 -0
  81. data/{public → app/assets}/images/wymeditor/skins/refinery/eye.png +0 -0
  82. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/article.png +0 -0
  83. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/aside.png +0 -0
  84. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/blockquote.png +0 -0
  85. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/command.png +0 -0
  86. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/details.png +0 -0
  87. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/figcaption.png +0 -0
  88. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/figure.png +0 -0
  89. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/footer.png +0 -0
  90. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/h1.png +0 -0
  91. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/h2.png +0 -0
  92. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/h3.png +0 -0
  93. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/h4.png +0 -0
  94. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/h5.png +0 -0
  95. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/h6.png +0 -0
  96. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/header.png +0 -0
  97. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/hgroup.png +0 -0
  98. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/mark.png +0 -0
  99. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/meter.png +0 -0
  100. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/nav.png +0 -0
  101. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/p.png +0 -0
  102. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/pre.png +0 -0
  103. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/progress.png +0 -0
  104. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/readme.md +0 -0
  105. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/rp.png +0 -0
  106. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/rt.png +0 -0
  107. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/ruby.png +0 -0
  108. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/section.png +0 -0
  109. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/summary.png +0 -0
  110. data/{public → app/assets}/images/wymeditor/skins/refinery/html5/time.png +0 -0
  111. data/{public → app/assets}/images/wymeditor/skins/refinery/iframe/lbl-blockquote.png +0 -0
  112. data/{public → app/assets}/images/wymeditor/skins/refinery/iframe/lbl-h1.png +0 -0
  113. data/{public → app/assets}/images/wymeditor/skins/refinery/iframe/lbl-h2.png +0 -0
  114. data/{public → app/assets}/images/wymeditor/skins/refinery/iframe/lbl-h3.png +0 -0
  115. data/{public → app/assets}/images/wymeditor/skins/refinery/iframe/lbl-h4.png +0 -0
  116. data/{public → app/assets}/images/wymeditor/skins/refinery/iframe/lbl-h5.png +0 -0
  117. data/{public → app/assets}/images/wymeditor/skins/refinery/iframe/lbl-h6.png +0 -0
  118. data/{public → app/assets}/images/wymeditor/skins/refinery/iframe/lbl-p.png +0 -0
  119. data/{public → app/assets}/images/wymeditor/skins/refinery/iframe/lbl-pre.png +0 -0
  120. data/{public → app/assets}/images/wymeditor/skins/refinery/link_add.png +0 -0
  121. data/{public → app/assets}/images/wymeditor/skins/refinery/link_break.png +0 -0
  122. data/{public → app/assets}/images/wymeditor/skins/refinery/page_code.png +0 -0
  123. data/{public → app/assets}/images/wymeditor/skins/refinery/page_paste.png +0 -0
  124. data/{public → app/assets}/images/wymeditor/skins/refinery/photo_add.png +0 -0
  125. data/{public → app/assets}/images/wymeditor/skins/refinery/right.png +0 -0
  126. data/{public → app/assets}/images/wymeditor/skins/refinery/style.png +0 -0
  127. data/{public → app/assets}/images/wymeditor/skins/refinery/table_add.png +0 -0
  128. data/{public → app/assets}/images/wymeditor/skins/refinery/text_align_center.png +0 -0
  129. data/{public → app/assets}/images/wymeditor/skins/refinery/text_align_justify.png +0 -0
  130. data/{public → app/assets}/images/wymeditor/skins/refinery/text_align_left.png +0 -0
  131. data/{public → app/assets}/images/wymeditor/skins/refinery/text_align_right.png +0 -0
  132. data/{public → app/assets}/images/wymeditor/skins/refinery/text_bold.png +0 -0
  133. data/{public → app/assets}/images/wymeditor/skins/refinery/text_heading_1.png +0 -0
  134. data/{public → app/assets}/images/wymeditor/skins/refinery/text_heading_2.png +0 -0
  135. data/{public → app/assets}/images/wymeditor/skins/refinery/text_heading_3.png +0 -0
  136. data/{public → app/assets}/images/wymeditor/skins/refinery/text_heading_4.png +0 -0
  137. data/{public → app/assets}/images/wymeditor/skins/refinery/text_heading_5.png +0 -0
  138. data/{public → app/assets}/images/wymeditor/skins/refinery/text_heading_6.png +0 -0
  139. data/{public → app/assets}/images/wymeditor/skins/refinery/text_indent.png +0 -0
  140. data/{public → app/assets}/images/wymeditor/skins/refinery/text_indent_remove.png +0 -0
  141. data/{public → app/assets}/images/wymeditor/skins/refinery/text_italic.png +0 -0
  142. data/{public → app/assets}/images/wymeditor/skins/refinery/text_list_bullets.png +0 -0
  143. data/{public → app/assets}/images/wymeditor/skins/refinery/text_list_numbers.png +0 -0
  144. data/{public → app/assets}/images/wymeditor/skins/refinery/text_paragraph.png +0 -0
  145. data/{public → app/assets}/images/wymeditor/skins/refinery/text_strikethrough.png +0 -0
  146. data/{public → app/assets}/images/wymeditor/skins/refinery/text_subscript.png +0 -0
  147. data/{public → app/assets}/images/wymeditor/skins/refinery/text_superscript.png +0 -0
  148. data/{public → app/assets}/images/wymeditor/skins/refinery/text_underline.png +0 -0
  149. data/{public → app/assets}/images/wymeditor/skins/wymeditor_icon.png +0 -0
  150. data/{public → app/assets}/javascripts/admin.js +1 -2
  151. data/{public → app/assets}/javascripts/application.js +0 -0
  152. data/{public → app/assets}/javascripts/dd_belatedpng.js +0 -0
  153. data/{public → app/assets}/javascripts/jquery/GPL-LICENSE.txt +0 -0
  154. data/{public → app/assets}/javascripts/jquery/MIT-LICENSE.txt +0 -0
  155. data/{public → app/assets}/javascripts/jquery/jquery.corner.js +0 -0
  156. data/{public → app/assets}/javascripts/jquery/jquery.html5-placeholder-shim.js +0 -0
  157. data/{public → app/assets}/javascripts/jquery/jquery.jcarousel.js +0 -0
  158. data/{public → app/assets}/javascripts/jquery/jquery.textTruncate.js +0 -0
  159. data/{public → app/assets}/javascripts/jquery/jquery.timers.js +0 -0
  160. data/app/assets/javascripts/modernizr-min.js +4 -0
  161. data/{public/javascripts/refinery/admin.js → app/assets/javascripts/refinery/admin.js.erb} +121 -209
  162. data/app/assets/javascripts/refinery/ajaxy_pagination.js.coffee +13 -0
  163. data/{public/javascripts/refinery/boot_wym.js → app/assets/javascripts/refinery/boot_wym.js.erb} +8 -8
  164. data/{public → app/assets}/javascripts/refinery/core.js +1 -1
  165. data/app/assets/javascripts/refinery/interface.js.coffee.erb +70 -0
  166. data/app/assets/javascripts/refinery/modal_dialogs.js.erb +142 -0
  167. data/app/assets/javascripts/refinery/nestedsortables.js +356 -0
  168. data/app/assets/javascripts/refinery/refinery.js.erb +20 -0
  169. data/app/assets/javascripts/refinery/serializelist.js +68 -0
  170. data/{public → app/assets}/javascripts/refinery/site_bar.js +0 -0
  171. data/app/assets/javascripts/refinery/sortable_menu.js.coffee +21 -0
  172. data/{public/javascripts/refinery/submenu.js → app/assets/javascripts/refinery/submenu.js.erb} +1 -1
  173. data/app/assets/javascripts/refinery/submit_continue.js.coffee.erb +8 -0
  174. data/app/assets/javascripts/refinery/tree.js +25 -0
  175. data/app/assets/javascripts/refinery/wymeditor.js +37 -0
  176. data/app/assets/javascripts/wymeditor/browsers/ie.js.erb +224 -0
  177. data/app/assets/javascripts/wymeditor/browsers/mozilla.js.erb +293 -0
  178. data/app/assets/javascripts/wymeditor/browsers/opera.js.erb +123 -0
  179. data/app/assets/javascripts/wymeditor/browsers/webkit.js.erb +284 -0
  180. data/app/assets/javascripts/wymeditor/classes.js.erb +1577 -0
  181. data/app/assets/javascripts/wymeditor/functions.js.erb +218 -0
  182. data/{public → app/assets}/javascripts/wymeditor/lang/bg.js +0 -0
  183. data/{public → app/assets}/javascripts/wymeditor/lang/ca.js +0 -0
  184. data/{public → app/assets}/javascripts/wymeditor/lang/cs.js +12 -1
  185. data/{public → app/assets}/javascripts/wymeditor/lang/da.js +0 -0
  186. data/{public → app/assets}/javascripts/wymeditor/lang/de.js +0 -0
  187. data/{public → app/assets}/javascripts/wymeditor/lang/en.js +0 -0
  188. data/{public → app/assets}/javascripts/wymeditor/lang/es.js +0 -0
  189. data/{public → app/assets}/javascripts/wymeditor/lang/fa.js +0 -0
  190. data/{public → app/assets}/javascripts/wymeditor/lang/fi.js +0 -0
  191. data/{public → app/assets}/javascripts/wymeditor/lang/fr.js +13 -1
  192. data/{public → app/assets}/javascripts/wymeditor/lang/he.js +0 -0
  193. data/{public → app/assets}/javascripts/wymeditor/lang/hu.js +0 -0
  194. data/{public → app/assets}/javascripts/wymeditor/lang/it.js +0 -0
  195. data/{public/javascripts/wymeditor/lang/jp.js → app/assets/javascripts/wymeditor/lang/ja.js} +1 -1
  196. data/{public → app/assets}/javascripts/wymeditor/lang/lv.js +0 -0
  197. data/{public → app/assets}/javascripts/wymeditor/lang/nb.js +0 -0
  198. data/{public → app/assets}/javascripts/wymeditor/lang/nl.js +0 -0
  199. data/{public → app/assets}/javascripts/wymeditor/lang/nn.js +0 -0
  200. data/{public → app/assets}/javascripts/wymeditor/lang/pl.js +0 -0
  201. data/app/assets/javascripts/wymeditor/lang/pt-BR.js +58 -0
  202. data/{public → app/assets}/javascripts/wymeditor/lang/pt.js +0 -0
  203. data/{public → app/assets}/javascripts/wymeditor/lang/rs.js +0 -0
  204. data/{public → app/assets}/javascripts/wymeditor/lang/ru.js +14 -3
  205. data/{public → app/assets}/javascripts/wymeditor/lang/sk.js +12 -1
  206. data/{public → app/assets}/javascripts/wymeditor/lang/sl.js +0 -0
  207. data/{public → app/assets}/javascripts/wymeditor/lang/sv.js +0 -0
  208. data/{public → app/assets}/javascripts/wymeditor/lang/tr.js +0 -0
  209. data/{public → app/assets}/javascripts/wymeditor/lang/vi.js +0 -0
  210. data/{public → app/assets}/javascripts/wymeditor/lang/zh_cn.js +0 -0
  211. data/app/assets/javascripts/wymeditor/prototypes.js.erb +1106 -0
  212. data/app/assets/javascripts/wymeditor/setup.js.erb +622 -0
  213. data/{public → app/assets}/javascripts/wymeditor/skins/refinery/skin.js +0 -0
  214. data/app/assets/javascripts/wymeditor/validators.js.erb +776 -0
  215. data/{public/stylesheets/refinery/home.css → app/assets/stylesheets/.gitkeep} +0 -0
  216. data/app/assets/stylesheets/application.css.scss +55 -0
  217. data/{public/stylesheets/refinery/formatting.css → app/assets/stylesheets/formatting.css.scss} +20 -23
  218. data/{public/stylesheets/home.css → app/assets/stylesheets/home.css.scss} +1 -2
  219. data/{public/stylesheets/refinery/refinery.css → app/assets/stylesheets/refinery/refinery.css.scss} +616 -654
  220. data/app/assets/stylesheets/refinery/site_bar.css.scss +92 -0
  221. data/app/assets/stylesheets/refinery/submenu.css.scss +24 -0
  222. data/app/assets/stylesheets/refinery/tooltips.css.scss +34 -0
  223. data/{public/stylesheets/refinery/ui.css → app/assets/stylesheets/refinery/ui.css.scss} +50 -54
  224. data/{public/stylesheets/refinery/theme.css → app/assets/stylesheets/theme.css.scss} +1 -1
  225. data/{public/stylesheets/wymeditor/skins/refinery/skin.css → app/assets/stylesheets/wymeditor/skins/refinery/skin.css.scss} +58 -58
  226. data/{public/stylesheets/wymeditor/skins/refinery/wymiframe.css → app/assets/stylesheets/wymeditor/skins/refinery/wymiframe.css.scss} +29 -29
  227. data/app/controllers/application_controller.rb +0 -1
  228. data/app/controllers/refinery/admin/dialogs_controller.rb +24 -0
  229. data/app/controllers/refinery/admin/refinery_core_controller.rb +14 -0
  230. data/app/controllers/{admin/base_controller.rb → refinery/admin_controller.rb} +2 -3
  231. data/app/controllers/refinery/fast_controller.rb +5 -1
  232. data/app/controllers/refinery/sitemap_controller.rb +20 -0
  233. data/app/helpers/application_helper.rb +1 -1
  234. data/app/helpers/refinery/custom_assets_helper.rb +11 -0
  235. data/app/helpers/refinery/html_truncation_helper.rb +23 -0
  236. data/app/helpers/refinery/image_helper.rb +37 -0
  237. data/app/helpers/refinery/menu_helper.rb +66 -0
  238. data/app/helpers/refinery/meta_helper.rb +52 -0
  239. data/app/helpers/refinery/pagination_helper.rb +14 -0
  240. data/app/helpers/refinery/site_bar_helper.rb +30 -0
  241. data/app/helpers/refinery/tag_helper.rb +20 -0
  242. data/app/helpers/refinery/translation_helper.rb +15 -0
  243. data/app/models/refinery/core/base_model.rb +11 -0
  244. data/app/views/layouts/application.html.erb +9 -9
  245. data/app/views/layouts/refinery/admin.html.erb +23 -0
  246. data/app/views/layouts/refinery/admin_dialog.html.erb +17 -0
  247. data/app/views/layouts/refinery/flash.html.erb +2 -0
  248. data/app/views/refinery/_content_page.html.erb +2 -0
  249. data/app/views/{shared → refinery}/_draft_page_message.html.erb +0 -0
  250. data/app/views/refinery/_footer.html.erb +4 -0
  251. data/app/views/{shared → refinery}/_google_analytics.html.erb +2 -2
  252. data/app/views/refinery/_head.html.erb +18 -0
  253. data/app/views/refinery/_header.html.erb +7 -0
  254. data/app/views/{shared → refinery}/_html_tag.html.erb +0 -0
  255. data/app/views/{shared → refinery}/_ie6check.html.erb +2 -2
  256. data/app/views/{shared → refinery}/_javascripts.html.erb +0 -0
  257. data/app/views/refinery/_menu.html.erb +20 -0
  258. data/app/views/refinery/_menu_branch.html.erb +19 -0
  259. data/app/views/refinery/_message.html.erb +7 -0
  260. data/app/views/{shared → refinery}/_no_script.html.erb +0 -0
  261. data/app/views/{shared → refinery}/_site_bar.html.erb +3 -3
  262. data/app/views/{shared → refinery}/admin/_continue_editing.html.erb +0 -0
  263. data/app/views/refinery/admin/_dialog_success.html.erb +5 -0
  264. data/app/views/{shared → refinery}/admin/_error_messages.html.erb +0 -0
  265. data/app/views/{shared → refinery}/admin/_form_actions.html.erb +11 -15
  266. data/app/views/refinery/admin/_head.html.erb +13 -0
  267. data/app/views/{shared → refinery}/admin/_image_picker.html.erb +8 -7
  268. data/app/views/refinery/admin/_javascripts.html.erb +8 -0
  269. data/app/views/refinery/admin/_make_sortable.html.erb +16 -0
  270. data/app/views/{admin → refinery/admin}/_menu.html.erb +4 -4
  271. data/app/views/{shared → refinery}/admin/_resource_picker.html.erb +14 -23
  272. data/app/views/{shared → refinery}/admin/_search.html.erb +1 -1
  273. data/app/views/{shared → refinery}/admin/_sortable_list.html.erb +0 -0
  274. data/app/views/{shared → refinery}/admin/_tabbed_fields.html.erb +2 -2
  275. data/app/views/{admin → refinery/admin}/dialogs/show.html.erb +0 -0
  276. data/app/views/refinery/sitemap/index.xml.builder +25 -0
  277. data/app/views/{wymiframe.html.erb → refinery/wymiframe.html.erb} +2 -3
  278. data/config/initializers/will_paginate_monkeypatch.rb +21 -0
  279. data/config/locales/bg.yml +24 -29
  280. data/config/locales/cs.yml +20 -25
  281. data/config/locales/da.yml +19 -24
  282. data/config/locales/de.yml +19 -24
  283. data/config/locales/el.yml +19 -24
  284. data/config/locales/en.yml +25 -31
  285. data/config/locales/es.yml +12 -17
  286. data/config/locales/fi.yml +22 -27
  287. data/config/locales/fr.yml +19 -24
  288. data/config/locales/it.yml +19 -40
  289. data/config/locales/{jp.yml → ja.yml} +25 -28
  290. data/config/locales/ko.yml +76 -0
  291. data/config/locales/lt.yml +19 -24
  292. data/config/locales/lv.yml +21 -26
  293. data/config/locales/nb.yml +19 -24
  294. data/config/locales/nl.yml +19 -24
  295. data/config/locales/pl.yml +19 -24
  296. data/config/locales/pt-BR.yml +19 -24
  297. data/config/locales/rs.yml +19 -25
  298. data/config/locales/ru.yml +37 -38
  299. data/config/locales/sk.yml +19 -24
  300. data/config/locales/sl.yml +12 -21
  301. data/config/locales/sv.yml +19 -24
  302. data/config/locales/vi.yml +19 -24
  303. data/config/locales/zh-CN.yml +19 -24
  304. data/config/locales/zh-TW.yml +19 -24
  305. data/config/routes.rb +5 -10
  306. data/lib/generators/refinery/clash_keywords.yml +3 -0
  307. data/lib/generators/refinery/cms/cms_generator.rb +238 -0
  308. data/lib/generators/{templates → refinery/cms/templates}/.gitignore +3 -1
  309. data/lib/generators/refinery/cms/templates/app/decorators/controllers/refinery/.gitkeep +0 -0
  310. data/lib/generators/refinery/cms/templates/app/decorators/models/refinery/.gitkeep +0 -0
  311. data/lib/generators/{templates → refinery/cms/templates}/app/views/sitemap/index.xml.builder +1 -1
  312. data/lib/generators/{templates → refinery/cms/templates}/config/database.yml.mysql +5 -5
  313. data/lib/generators/{templates → refinery/cms/templates}/config/database.yml.postgresql +26 -25
  314. data/lib/generators/{templates → refinery/cms/templates}/config/database.yml.sqlite3 +1 -9
  315. data/lib/generators/refinery/cms/templates/config/initializers/devise.rb +229 -0
  316. data/lib/generators/refinery/core/core_generator.rb +9 -0
  317. data/lib/generators/refinery/core/templates/config/initializers/refinery/core.rb.erb +48 -0
  318. data/lib/generators/refinery/dummy/dummy_generator.rb +86 -0
  319. data/lib/generators/refinery/dummy/templates/rails/Rakefile +7 -0
  320. data/lib/generators/refinery/dummy/templates/rails/application.rb +14 -0
  321. data/lib/generators/refinery/dummy/templates/rails/boot.rb +6 -0
  322. data/lib/generators/refinery/dummy/templates/rails/database.yml +34 -0
  323. data/lib/generators/refinery/dummy/templates/rails/routes.rb +3 -0
  324. data/lib/generators/refinery/engine/USAGE +24 -0
  325. data/lib/generators/refinery/engine/engine_generator.rb +36 -0
  326. data/lib/generators/refinery/engine/templates/Gemfile +69 -0
  327. data/lib/generators/refinery/engine/templates/Guardfile +27 -0
  328. data/lib/generators/refinery/engine/templates/Rakefile +20 -0
  329. data/lib/generators/refinery/engine/templates/app/controllers/refinery/namespace/admin/plural_name_controller.rb +14 -0
  330. data/lib/generators/refinery/engine/templates/app/controllers/refinery/namespace/plural_name_controller.rb +34 -0
  331. data/lib/generators/refinery/engine/templates/app/models/refinery/namespace/singular_name.rb +28 -0
  332. data/lib/generators/refinery/engine/templates/app/views/refinery/namespace/admin/plural_name/_actions.html.erb +25 -0
  333. data/lib/generators/refinery/engine/templates/app/views/refinery/namespace/admin/plural_name/_form.html.erb +67 -0
  334. data/lib/generators/refinery/engine/templates/app/views/refinery/namespace/admin/plural_name/_locale_picker.html.erb +11 -0
  335. data/lib/generators/refinery/engine/templates/app/views/refinery/namespace/admin/plural_name/_plural_name.html.erb +2 -0
  336. data/lib/generators/refinery/engine/templates/app/views/refinery/namespace/admin/plural_name/_records.html.erb +18 -0
  337. data/lib/generators/refinery/engine/templates/app/views/refinery/namespace/admin/plural_name/_singular_name.html.erb +32 -0
  338. data/lib/generators/refinery/engine/templates/app/views/refinery/namespace/admin/plural_name/_sortable_list.html.erb +5 -0
  339. data/lib/generators/refinery/engine/templates/app/views/refinery/namespace/admin/plural_name/edit.html.erb +1 -0
  340. data/lib/generators/refinery/engine/templates/app/views/refinery/namespace/admin/plural_name/index.html.erb +7 -0
  341. data/lib/generators/refinery/engine/templates/app/views/refinery/namespace/admin/plural_name/new.html.erb +1 -0
  342. data/lib/generators/refinery/engine/templates/app/views/refinery/namespace/plural_name/index.html.erb +11 -0
  343. data/lib/generators/refinery/engine/templates/app/views/refinery/namespace/plural_name/show.html.erb +39 -0
  344. data/lib/generators/refinery/engine/templates/config/locales/en.yml +28 -0
  345. data/lib/generators/refinery/engine/templates/config/locales/es.yml +29 -0
  346. data/lib/generators/refinery/engine/templates/config/locales/fr.yml +28 -0
  347. data/lib/generators/refinery/engine/templates/config/locales/nb.yml +28 -0
  348. data/lib/generators/refinery/engine/templates/config/locales/nl.yml +28 -0
  349. data/lib/generators/refinery/engine/templates/config/routes.rb +19 -0
  350. data/lib/generators/refinery/engine/templates/db/migrate/1_create_namespace_plural_name.rb +39 -0
  351. data/lib/generators/refinery/engine/templates/db/seeds.rb +23 -0
  352. data/lib/generators/refinery/engine/templates/lib/generators/refinery/extension_plural_name_generator.rb +18 -0
  353. data/lib/generators/refinery/engine/templates/lib/refinery/plural_name/engine.rb +30 -0
  354. data/lib/generators/refinery/engine/templates/lib/refinery/plural_name.rb +21 -0
  355. data/lib/generators/refinery/engine/templates/lib/refinerycms-extension_plural_name.rb +1 -0
  356. data/lib/generators/refinery/engine/templates/lib/tasks/refinery/extension_plural_name.rake +13 -0
  357. data/lib/generators/refinery/engine/templates/readme.md +10 -0
  358. data/lib/generators/refinery/engine/templates/refinerycms-extension_plural_name.gemspec +18 -0
  359. data/lib/generators/refinery/engine/templates/spec/models/refinery/namespace/singular_name_spec.rb +20 -0
  360. data/lib/generators/refinery/engine/templates/spec/requests/refinery/namespace/admin/plural_name_spec.rb +200 -0
  361. data/lib/generators/refinery/engine/templates/spec/spec_helper.rb +50 -0
  362. data/lib/generators/refinery/engine/templates/spec/support/factories/refinery/plural_name.rb +7 -0
  363. data/lib/generators/refinery/engine/templates/tasks/rspec.rake +6 -0
  364. data/lib/generators/refinery/engine/templates/tasks/testing.rake +8 -0
  365. data/lib/generators/refinery/form/USAGE +20 -0
  366. data/lib/generators/refinery/form/form_generator.rb +31 -0
  367. data/lib/generators/refinery/form/templates/.gitkeep +0 -0
  368. data/lib/generators/refinery/form/templates/app/controllers/refinery/namespace/admin/plural_name_controller.rb +54 -0
  369. data/lib/generators/refinery/form/templates/app/controllers/refinery/namespace/admin/settings_controller.rb +51 -0
  370. data/lib/generators/refinery/form/templates/app/controllers/refinery/namespace/plural_name_controller.rb +53 -0
  371. data/lib/generators/refinery/form/templates/app/mailers/refinery/namespace/mailer.rb +22 -0
  372. data/lib/generators/refinery/form/templates/app/models/refinery/namespace/setting.rb +34 -0
  373. data/lib/generators/refinery/form/templates/app/models/refinery/namespace/singular_name.rb +46 -0
  374. data/lib/generators/refinery/form/templates/app/views/refinery/namespace/admin/plural_name/_records.html.erb +23 -0
  375. data/lib/generators/refinery/form/templates/app/views/refinery/namespace/admin/plural_name/_singular_name.html.erb +25 -0
  376. data/lib/generators/refinery/form/templates/app/views/refinery/namespace/admin/plural_name/_submenu.html.erb +29 -0
  377. data/lib/generators/refinery/form/templates/app/views/refinery/namespace/admin/plural_name/index.html.erb +4 -0
  378. data/lib/generators/refinery/form/templates/app/views/refinery/namespace/admin/plural_name/show.html.erb +52 -0
  379. data/lib/generators/refinery/form/templates/app/views/refinery/namespace/admin/plural_name/spam.html.erb +26 -0
  380. data/lib/generators/refinery/form/templates/app/views/refinery/namespace/admin/settings/_confirmation_email_form.html.erb +51 -0
  381. data/lib/generators/refinery/form/templates/app/views/refinery/namespace/admin/settings/_notification_recipients_form.html.erb +21 -0
  382. data/lib/generators/refinery/form/templates/app/views/refinery/namespace/admin/settings/edit.html.erb +5 -0
  383. data/lib/generators/refinery/form/templates/app/views/refinery/namespace/mailer/confirmation.html.erb +1 -0
  384. data/lib/generators/refinery/form/templates/app/views/refinery/namespace/mailer/notification.html.erb +17 -0
  385. data/lib/generators/refinery/form/templates/app/views/refinery/namespace/plural_name/new.html.erb +43 -0
  386. data/lib/generators/refinery/form/templates/app/views/refinery/namespace/plural_name/thank_you.html.erb +1 -0
  387. data/lib/generators/refinery/form/templates/config/locales/da.yml +69 -0
  388. data/lib/generators/refinery/form/templates/config/locales/de.yml +78 -0
  389. data/lib/generators/refinery/form/templates/config/locales/en.yml +78 -0
  390. data/lib/generators/refinery/form/templates/config/locales/es.yml +70 -0
  391. data/lib/generators/refinery/form/templates/config/locales/fr.yml +78 -0
  392. data/lib/generators/refinery/form/templates/config/locales/it.yml +68 -0
  393. data/lib/generators/refinery/form/templates/config/locales/lv.yml +77 -0
  394. data/lib/generators/refinery/form/templates/config/locales/nb.yml +78 -0
  395. data/lib/generators/refinery/form/templates/config/locales/nl.yml +77 -0
  396. data/lib/generators/refinery/form/templates/config/locales/pt-BR.yml +78 -0
  397. data/lib/generators/refinery/form/templates/config/locales/ru.yml +80 -0
  398. data/lib/generators/refinery/form/templates/config/locales/sl.yml +69 -0
  399. data/lib/generators/refinery/form/templates/config/locales/zh-CN.yml +4 -0
  400. data/lib/generators/refinery/form/templates/config/routes.rb +26 -0
  401. data/lib/generators/refinery/form/templates/db/migrate/1_create_plural_name.rb +42 -0
  402. data/lib/generators/refinery/form/templates/db/seeds.rb +27 -0
  403. data/lib/generators/refinery/form/templates/lib/generators/refinery/plural_name_generator.rb +20 -0
  404. data/lib/generators/refinery/form/templates/lib/refinery/plural_name/engine.rb +30 -0
  405. data/lib/generators/refinery/form/templates/lib/refinery/plural_name.rb +17 -0
  406. data/lib/generators/refinery/form/templates/lib/refinerycms-plural_name.rb +1 -0
  407. data/lib/generators/refinery/form/templates/refinerycms-plural_name.gemspec +19 -0
  408. data/lib/refinery/activity.rb +75 -18
  409. data/lib/refinery/admin/base_controller.rb +49 -66
  410. data/lib/refinery/application_controller.rb +59 -79
  411. data/lib/refinery/base_presenter.rb +25 -23
  412. data/lib/refinery/catch_all_routes.rb +1 -1
  413. data/lib/refinery/cli.rb +162 -0
  414. data/lib/refinery/core/configuration.rb +57 -0
  415. data/lib/refinery/core/engine.rb +143 -0
  416. data/lib/refinery/core.rb +179 -0
  417. data/lib/refinery/crud.rb +74 -54
  418. data/lib/refinery/engine.rb +56 -12
  419. data/lib/refinery/errors.rb +13 -0
  420. data/lib/refinery/ext/action_view/helpers/form_builder.rb +7 -0
  421. data/lib/refinery/ext/action_view/helpers/form_helper.rb +20 -0
  422. data/lib/refinery/ext/action_view/helpers/form_tag_helper.rb +10 -0
  423. data/lib/refinery/extension_generation.rb +258 -0
  424. data/lib/refinery/menu.rb +0 -19
  425. data/lib/refinery/menu_item.rb +32 -14
  426. data/lib/refinery/plugin.rb +19 -43
  427. data/lib/refinery/plugins.rb +2 -2
  428. data/lib/refinery/version.rb +16 -0
  429. data/lib/refinerycms-core.rb +1 -175
  430. data/lib/tasks/refinery.rake +2 -191
  431. data/lib/tasks/yard.rake +1 -1
  432. data/refinerycms-core.gemspec +23 -422
  433. data/spec/controllers/refinery/admin/refinery_core_controller_spec.rb +20 -0
  434. data/spec/controllers/{fast_controller_spec.rb → refinery/fast_controller_spec.rb} +3 -1
  435. data/spec/controllers/refinery/sitemap_controller_spec.rb +28 -0
  436. data/spec/helpers/refinery/custom_assets_helper_spec.rb +53 -0
  437. data/spec/helpers/refinery/html_truncation_helper_spec.rb +26 -0
  438. data/spec/helpers/refinery/pagination_helper_spec.rb +35 -0
  439. data/spec/helpers/refinery/tag_helper_spec.rb +23 -0
  440. data/spec/helpers/refinery/translation_helper_spec.rb +14 -0
  441. data/spec/lib/generators/refinery/cms/cms_generator_spec.rb +47 -0
  442. data/spec/lib/generators/refinery/core/core_generator_spec.rb +29 -0
  443. data/spec/lib/generators/refinery/engine/engine_generator_spec.rb +84 -0
  444. data/spec/lib/generators/refinery/engine/engine_generator_with_i18n_spec.rb +85 -0
  445. data/spec/lib/generators/refinery/engine/engine_generator_without_frontend_spec.rb +77 -0
  446. data/spec/lib/generators/refinery/form/form_generator_spec.rb +91 -0
  447. data/spec/lib/refinery/activity_spec.rb +38 -0
  448. data/spec/lib/refinery/application_controller_spec.rb +28 -0
  449. data/spec/lib/refinery/core_spec.rb +176 -0
  450. data/spec/lib/refinery/plugin_spec.rb +36 -34
  451. data/spec/lib/refinery/plugins_spec.rb +42 -16
  452. data/spec/requests/refinery/admin/custom_assets_spec.rb +32 -0
  453. data/spec/requests/refinery/admin/dialogs_spec.rb +28 -0
  454. data/spec/requests/refinery/search_spec.rb +71 -0
  455. data/spec/requests/refinery/site_bar_spec.rb +49 -0
  456. data/spec/support/background_selenium_firefox_driver.rb +14 -0
  457. data/spec/support/database_cleaner.rb +15 -0
  458. data/spec/support/fixtures/invalid_engine.rb +6 -0
  459. data/spec/support/fixtures/valid_engine.rb +13 -0
  460. data/spec/support/refinery.rb +14 -0
  461. metadata +626 -439
  462. data/app/controllers/admin/dialogs_controller.rb +0 -23
  463. data/app/controllers/admin/refinery_core_controller.rb +0 -12
  464. data/app/controllers/sitemap_controller.rb +0 -18
  465. data/app/views/admin/_head.html.erb +0 -21
  466. data/app/views/admin/_javascripts.html.erb +0 -33
  467. data/app/views/layouts/admin.html.erb +0 -24
  468. data/app/views/layouts/admin_dialog.html.erb +0 -14
  469. data/app/views/shared/_content_page.html.erb +0 -63
  470. data/app/views/shared/_footer.html.erb +0 -4
  471. data/app/views/shared/_head.html.erb +0 -20
  472. data/app/views/shared/_header.html.erb +0 -7
  473. data/app/views/shared/_menu.html.erb +0 -19
  474. data/app/views/shared/_menu_branch.html.erb +0 -19
  475. data/app/views/shared/_message.html.erb +0 -10
  476. data/app/views/shared/admin/_make_sortable.html.erb +0 -13
  477. data/app/views/welcome.html.erb +0 -17
  478. data/config/locales/lolcat.yml +0 -71
  479. data/doc/included-jquery-ui-packages.jpg +0 -0
  480. data/features/dialogs.feature +0 -20
  481. data/features/search.feature +0 -55
  482. data/features/site_bar.feature +0 -27
  483. data/features/step_definitions/core_steps.rb +0 -59
  484. data/features/support/paths.rb +0 -18
  485. data/features/uploads/beach.jpeg +0 -0
  486. data/features/uploads/refinery_is_awesome.txt +0 -1
  487. data/lib/gemspec.rb +0 -44
  488. data/lib/generators/refinerycms_generator.rb +0 -124
  489. data/lib/generators/templates/autotest/autotest.rb +0 -17
  490. data/lib/generators/templates/autotest/discover.rb +0 -2
  491. data/lib/generators/templates/config/initializers/devise.rb +0 -144
  492. data/lib/generators/templates/db/seeds.rb +0 -5
  493. data/lib/refinery/admin_base_controller.rb +0 -5
  494. data/lib/refinery/application.rb +0 -47
  495. data/lib/refinery/application_helper.rb +0 -19
  496. data/lib/refinery/configuration.rb +0 -29
  497. data/lib/refinery/helpers/form_helper.rb +0 -66
  498. data/lib/refinery/helpers/head_helper.rb +0 -17
  499. data/lib/refinery/helpers/html_truncation_helper.rb +0 -25
  500. data/lib/refinery/helpers/image_helper.rb +0 -42
  501. data/lib/refinery/helpers/menu_helper.rb +0 -98
  502. data/lib/refinery/helpers/meta_helper.rb +0 -78
  503. data/lib/refinery/helpers/pagination_helper.rb +0 -16
  504. data/lib/refinery/helpers/script_helper.rb +0 -36
  505. data/lib/refinery/helpers/site_bar_helper.rb +0 -32
  506. data/lib/refinery/helpers/tag_helper.rb +0 -22
  507. data/lib/refinery/helpers/translation_helper.rb +0 -17
  508. data/lib/tasks/doc.rake +0 -29
  509. data/public/javascripts/i18n-messages.js +0 -2
  510. data/public/javascripts/jquery-min.js +0 -16
  511. data/public/javascripts/jquery-ui-custom-min.js +0 -252
  512. data/public/javascripts/jquery.js +0 -8374
  513. data/public/javascripts/modernizr-min.js +0 -2
  514. data/public/javascripts/rails.js +0 -297
  515. data/public/javascripts/refinery/i18n.js +0 -340
  516. data/public/javascripts/refinery/nestedsortables.js +0 -164
  517. data/public/javascripts/refinery/serializelist.js +0 -66
  518. data/public/javascripts/wymeditor/jquery.refinery.wymeditor.js +0 -5262
  519. data/public/javascripts/wymeditor/lang/pt-BR.js +0 -47
  520. data/public/stylesheets/application.css +0 -4
  521. data/public/stylesheets/formatting.css +0 -4
  522. data/public/stylesheets/refinery/application.css +0 -76
  523. data/public/stylesheets/refinery/site_bar.css +0 -87
  524. data/public/stylesheets/refinery/submenu.css +0 -22
  525. data/public/stylesheets/refinery/tooltips.css +0 -34
  526. data/public/stylesheets/theme.css +0 -4
  527. data/spec/controllers/refinery_core_controller_spec.rb +0 -18
  528. data/spec/controllers/sitemap_controller_spec.rb +0 -27
@@ -0,0 +1,176 @@
1
+ require 'spec_helper'
2
+
3
+ describe Refinery do
4
+ describe "#extensions" do
5
+ it "should return an array of modules representing registered extensions" do
6
+ subject.extensions.should be_a(Array)
7
+ subject.extensions.each do |e|
8
+ e.should be_a(Module)
9
+ end
10
+ end
11
+ end
12
+
13
+ describe "#register_extension" do
14
+ before(:each) { subject.extensions.clear }
15
+
16
+ it "should add the extension's module to the array of registered extensions" do
17
+ subject.register_extension(Refinery::Core)
18
+
19
+ Refinery.extensions.should include(Refinery::Core)
20
+ Refinery.extensions.should have(1).item
21
+ end
22
+
23
+ it "should not allow same extension to be registered twice" do
24
+ subject.register_extension(Refinery::Core)
25
+ subject.register_extension(Refinery::Core)
26
+
27
+ Refinery.extensions.should have(1).item
28
+ end
29
+ end
30
+
31
+ describe "#extension_registered?" do
32
+ context "with Refinery::Core::Engine registered" do
33
+ before(:each) { subject.register_extension(Refinery::Core) }
34
+
35
+ it "should return true if the extension is registered" do
36
+ subject.extension_registered?(Refinery::Core).should == true
37
+ end
38
+ end
39
+
40
+ context "with no extensions registered" do
41
+ before(:each) { subject.extensions.clear }
42
+
43
+ it "should return false if the extension is not registered" do
44
+ subject.extension_registered?(Refinery::Core).should == false
45
+ end
46
+ end
47
+ end
48
+
49
+ describe "#unregister_extension" do
50
+ before(:each) do
51
+ subject.extensions.clear
52
+ subject.register_extension(Refinery::Images)
53
+ end
54
+
55
+ it "should remove the extension's module from the array of registered extensions" do
56
+ subject.unregister_extension(Refinery::Images)
57
+
58
+ subject.extensions.should have(0).item
59
+ end
60
+ end
61
+
62
+ describe "#validate_extension!" do
63
+ context "with a valid extension" do
64
+ it "should return nil" do
65
+ subject.send(:validate_extension!, Refinery::ValidEngine).should be_nil
66
+ end
67
+ end
68
+
69
+ context "with an invalid extension" do
70
+ it "should raise invalid extension exception" do
71
+ lambda {
72
+ subject.send(:validate_extension!, Refinery::InvalidEngine)
73
+ }.should raise_error(Refinery::InvalidEngineError, "Engine must define a root accessor that returns a pathname to its root")
74
+ end
75
+ end
76
+ end
77
+
78
+ describe "#roots" do
79
+ it "should return pathname to extension root when given constant as parameter" do
80
+ subject.roots(Refinery::Core).should == Refinery::Core.root
81
+ end
82
+
83
+ it "should return pathname to extension root when given symbol as parameter" do
84
+ subject.roots(:'refinery/core').should == Refinery::Core.root
85
+ end
86
+
87
+ it "should return pathname to extension root when given string as parameter" do
88
+ subject.roots("refinery/core").should == Refinery::Core.root
89
+ end
90
+
91
+ it "should return an array of all pathnames if no extension_name is specified" do
92
+ subject.roots.should be_a(Array)
93
+ subject.roots.each do |root|
94
+ root.should be_a(Pathname)
95
+ end
96
+ end
97
+ end
98
+
99
+ describe "#deprecate" do
100
+ before(:each) do
101
+ @errors = StringIO.new
102
+ @old_err = $stderr
103
+ $stderr = @errors
104
+ end
105
+
106
+ after(:each) { $stderr = @old_err }
107
+
108
+ it "shows a deprecation warning" do
109
+ Refinery.deprecate("ugis")
110
+ @errors.rewind
111
+ @errors.read.should == "\n-- DEPRECATION WARNING --\nThe use of 'ugis' is deprecated.\n"
112
+ end
113
+
114
+ it "takes when option" do
115
+ Refinery.deprecate("ugis", :when => "10.0")
116
+ @errors.rewind
117
+ @errors.read.should == "\n-- DEPRECATION WARNING --\nThe use of 'ugis' is deprecated and will be removed at version 10.0.\n"
118
+ end
119
+
120
+ it "takes replacement option" do
121
+ Refinery.deprecate("ugis", :when => "10.0", :replacement => "philip")
122
+ @errors.rewind
123
+ @errors.read.should == "\n-- DEPRECATION WARNING --\nThe use of 'ugis' is deprecated and will be removed at version 10.0.\nPlease use philip instead.\n"
124
+ end
125
+ end
126
+
127
+ describe "#i18n_enabled?" do
128
+ it "returns true when Refinery::I18n.enabled? is true" do
129
+ Refinery::I18n.stub(:enabled?).and_return(true)
130
+ subject.i18n_enabled?.should == true
131
+ end
132
+
133
+ it "returns false when Refinery::I18n.enabled? is false" do
134
+ Refinery::I18n.stub(:enabled?).and_return(false)
135
+ subject.i18n_enabled?.should == false
136
+ end
137
+ end
138
+
139
+ describe ".route_for_model" do
140
+ context "when passed Refinery::Dummy" do
141
+ it "returns admin_dummy_path" do
142
+ Refinery.route_for_model("Refinery::Dummy").should == "admin_dummy_path"
143
+ end
144
+ end
145
+
146
+ context "when passed Refinery::Dummy and true" do
147
+ it "returns admin_dummies_path" do
148
+ Refinery.route_for_model("Refinery::Dummy", true).should == "admin_dummies_path"
149
+ end
150
+ end
151
+
152
+ context "when passed Refinery::DummyName" do
153
+ it "returns admin_dummy_name_path" do
154
+ Refinery.route_for_model("Refinery::DummyName").should == "admin_dummy_name_path"
155
+ end
156
+ end
157
+
158
+ context "when passed Refinery::DummyName and true" do
159
+ it "returns admin_dummy_names_path" do
160
+ Refinery.route_for_model("Refinery::DummyName", true).should == "admin_dummy_names_path"
161
+ end
162
+ end
163
+
164
+ context "when passed Refinery::Dummy::Name" do
165
+ it "returns dummy_admin_name_path" do
166
+ Refinery.route_for_model("Refinery::Dummy::Name").should == "dummy_admin_name_path"
167
+ end
168
+ end
169
+
170
+ context "when passed Refinery::Dummy::Name and true" do
171
+ it "returns dummy_admin_names_path" do
172
+ Refinery.route_for_model("Refinery::Dummy::Name", true).should == "dummy_admin_names_path"
173
+ end
174
+ end
175
+ end
176
+ end
@@ -3,6 +3,7 @@ require 'spec_helper'
3
3
  module Refinery
4
4
  module RefineryRspec
5
5
  class Engine < ::Rails::Engine
6
+ isolate_namespace ::Refinery
6
7
  ::Refinery::Plugin.register do |plugin|
7
8
  plugin.name = 'refinery_rspec'
8
9
  plugin.hide_from_menu = true
@@ -14,14 +15,15 @@ end
14
15
  module Refinery
15
16
  describe Plugin do
16
17
 
17
- let(:plugin) { Refinery::Plugins.registered.detect { |plugin| plugin.name == 'refinery_rspec' } }
18
+ let(:plugin) { ::Refinery::Plugins.registered.detect { |plugin| plugin.name == 'refinery_rspec' } }
18
19
 
19
- def setup_i18n
20
- ::I18n.backend = ::I18n::Backend::Simple.new
21
- ::I18n.backend.store_translations :en, :plugins => {
22
- :refinery_rspec => {
23
- :title => 'RefineryCMS RSpec',
24
- :description => 'RSpec tests for plugin.rb'
20
+ before do
21
+ ::I18n.backend.store_translations :en, :refinery => {
22
+ :plugins => {
23
+ :refinery_rspec => {
24
+ :title => "Refinery CMS RSpec",
25
+ :description => "RSpec tests for plugin.rb"
26
+ }
25
27
  }
26
28
  }
27
29
  end
@@ -39,29 +41,17 @@ module Refinery
39
41
  end
40
42
 
41
43
  describe '#title' do
42
- before { setup_i18n }
43
-
44
44
  it 'returns plugin title defined by I18n' do
45
- plugin.title.should == 'RefineryCMS RSpec'
45
+ plugin.title.should == 'Refinery CMS RSpec'
46
46
  end
47
47
  end
48
48
 
49
49
  describe '#description' do
50
- before { setup_i18n }
51
-
52
50
  it 'returns plugin description defined by I18n' do
53
51
  plugin.description.should == 'RSpec tests for plugin.rb'
54
52
  end
55
53
  end
56
54
 
57
- describe '#activity' do
58
-
59
- end
60
-
61
- describe '#activity=' do
62
-
63
- end
64
-
65
55
  describe '#pathname' do
66
56
  it 'should be set by default' do
67
57
  plugin.pathname.should_not == nil
@@ -85,18 +75,18 @@ module Refinery
85
75
  end
86
76
  end
87
77
 
88
- describe '#always_allow_access?' do
78
+ describe '#always_allow_access' do
89
79
  it 'returns false if @always_allow_access is not set or its set to false' do
90
- plugin.always_allow_access?.should be_false
80
+ plugin.always_allow_access.should be_false
91
81
  end
92
82
 
93
83
  it 'returns true if set so' do
94
- plugin.stub(:always_allow_access?).and_return(true)
95
- plugin.always_allow_access?.should be
84
+ plugin.stub(:always_allow_access).and_return(true)
85
+ plugin.always_allow_access.should be
96
86
  end
97
87
  end
98
88
 
99
- describe '#dashboard?' do
89
+ describe '#dashboard' do
100
90
  it 'returns false if @dashboard is not set or its set to false' do
101
91
  plugin.dashboard.should be_false
102
92
  end
@@ -109,17 +99,18 @@ module Refinery
109
99
 
110
100
  describe '#menu_match' do
111
101
  it 'returns regexp based on plugin name' do
112
- plugin.menu_match.should == /(admin|refinery)\/refinery_rspec$/
102
+ plugin.menu_match.should == %r{refinery/refinery_rspec(/.+?)?$}
113
103
  end
114
104
  end
115
105
 
116
106
  describe '#highlighted?' do
117
107
  it 'returns true if params[:controller] match menu_match regexp' do
118
- plugin.highlighted?({:controller => 'refinery/refinery_rspec'}).should be
108
+ plugin.highlighted?({:controller => '/refinery/admin/refinery_rspec'}).should be
109
+ plugin.highlighted?({:controller => '/refinery/refinery_rspec'}).should be
119
110
  end
120
111
 
121
- it 'returns true if dashboard? is true and params[:action] == error_404' do
122
- plugin.stub(:dashboard?).and_return(true)
112
+ it 'returns true if dashboard is true and params[:action] == error_404' do
113
+ plugin.stub(:dashboard).and_return(true)
123
114
  plugin.highlighted?({:action => 'error_404'}).should be
124
115
  end
125
116
  end
@@ -135,15 +126,15 @@ module Refinery
135
126
 
136
127
  context 'when @url is already defined' do
137
128
  it 'returns hash' do
138
- plugin.stub(:url).and_return({:controller => '/admin/testa'})
139
- plugin.url.should == {:controller => '/admin/testa'}
129
+ plugin.stub(:url).and_return({:controller => 'refinery/admin/testa'})
130
+ plugin.url[:controller].should == 'refinery/admin/testa'
140
131
  end
141
132
  end
142
133
 
143
134
  context 'when controller is present' do
144
135
  it 'returns hash based on it' do
145
136
  plugin.stub(:controller).and_return('testb')
146
- plugin.url.should == {:controller => '/admin/testb'}
137
+ plugin.url[:controller].should == 'refinery/admin/testb'
147
138
  end
148
139
  end
149
140
 
@@ -151,13 +142,24 @@ module Refinery
151
142
 
152
143
  it 'returns hash based on it' do
153
144
  plugin.stub(:directory).and_return('first/second/testc')
154
- plugin.url.should == {:controller => '/admin/testc'}
145
+ plugin.url[:controller].should == 'refinery/admin/testc'
155
146
  end
156
147
  end
157
148
 
158
149
  context 'when controller and directory not present' do
159
150
  it 'returns hash based on plugins name' do
160
- plugin.url.should == {:controller => '/admin/refinery_rspec'}
151
+ plugin.url[:controller].should == 'refinery/admin/refinery_rspec'
152
+ end
153
+ end
154
+ end
155
+
156
+ describe '#activity_by_class_name' do
157
+ before { plugin.activity = [ { :class_name => "X::Y::Z" }, { :class_name => "X::Y::ZZ" }] }
158
+
159
+ context 'when the plugin have diferents activities' do
160
+ it 'returns the correct activity' do
161
+ plugin.activity_by_class_name("X::Y::Z").first.should == plugin.activity.first
162
+ plugin.activity_by_class_name("X::Y::ZZ").first.should == plugin.activity.last
161
163
  end
162
164
  end
163
165
  end
@@ -3,6 +3,7 @@ require 'spec_helper'
3
3
  module Refinery
4
4
  module MyPlugin
5
5
  class Engine < ::Rails::Engine
6
+ isolate_namespace ::Refinery
6
7
  ::Refinery::Plugin.register do |plugin|
7
8
  plugin.name = "my_plugin"
8
9
  plugin.hide_from_menu = true
@@ -12,42 +13,52 @@ module Refinery
12
13
 
13
14
  module MyOtherPlugin
14
15
  class Engine < ::Rails::Engine
16
+ isolate_namespace ::Refinery
15
17
  ::Refinery::Plugin.register do |plugin|
16
18
  plugin.name = "my_other_plugin"
17
19
  plugin.hide_from_menu = true
18
20
  end
19
21
  end
20
22
  end
21
- end
22
23
 
23
- module Refinery
24
+ ::I18n.backend.store_translations :en, :refinery => {
25
+ :plugins => {
26
+ :my_plugin => {
27
+ :title => "my plugin"
28
+ },
29
+ :my_other_plugin => {
30
+ :title => "my other plugin"
31
+ }
32
+ }
33
+ }
34
+
24
35
  describe Plugins do
25
36
 
26
37
  before(:each) do
27
38
  # First, deactivate all.
28
- Plugins.set_active([])
39
+ subject.class.set_active([])
29
40
  end
30
41
 
31
42
  describe '#activate' do
32
43
  it "activates a plugin" do
33
44
  subject.class.activate("my_plugin")
34
45
 
35
- Plugins.active.names.should include("my_plugin")
46
+ subject.class.active.names.should include("my_plugin")
36
47
  end
37
48
 
38
49
  it "only activates the same plugin once" do
39
50
  subject.class.activate("my_other_plugin")
40
51
  subject.class.activate("my_other_plugin")
41
52
 
42
- Plugins.active.names.count("my_other_plugin").should == 1
53
+ subject.class.active.names.count("my_other_plugin").should == 1
43
54
  end
44
55
 
45
56
  it "doesn't deactivate the first plugin when another is activated" do
46
57
  subject.class.activate("my_plugin")
47
58
  subject.class.activate("my_other_plugin")
48
59
 
49
- Plugins.active.names.should include("my_plugin")
50
- Plugins.active.names.should include("my_other_plugin")
60
+ subject.class.active.names.should include("my_plugin")
61
+ subject.class.active.names.should include("my_other_plugin")
51
62
  end
52
63
  end
53
64
 
@@ -56,33 +67,34 @@ module Refinery
56
67
  subject.class.activate("my_plugin")
57
68
  subject.class.deactivate("my_plugin")
58
69
 
59
- Plugins.active.count.should == 0
70
+ subject.class.active.count.should == 0
60
71
  end
61
72
  end
62
73
 
63
74
  describe '#set_active' do
75
+
64
76
  it "activates a single plugin" do
65
77
  subject.class.set_active(%w(my_plugin))
66
78
 
67
- Plugins.active.names.should include("my_plugin")
79
+ subject.class.active.names.should include("my_plugin")
68
80
  end
69
81
 
70
82
  it "activates a list of plugins" do
71
83
  subject.class.set_active(%w(my_plugin my_other_plugin))
72
84
 
73
- Plugins.active.names.should include("my_plugin")
74
- Plugins.active.names.should include("my_plugin")
85
+ subject.class.active.names.should include("my_plugin")
86
+ subject.class.active.names.should include("my_plugin")
75
87
 
76
- Plugins.active.count.should == 2
88
+ subject.class.active.count.should == 2
77
89
  end
78
90
 
79
91
  it "deactivates the initial plugins when another set is set_active" do
80
92
  subject.class.set_active(%w(my_plugin))
81
93
  subject.class.set_active(%w(my_other_plugin))
82
94
 
83
- Plugins.active.names.should_not include("my_plugin")
84
- Plugins.active.names.should include("my_other_plugin")
85
- Plugins.active.count.should == 1
95
+ subject.class.active.names.should_not include("my_plugin")
96
+ subject.class.active.names.should include("my_other_plugin")
97
+ subject.class.active.count.should == 1
86
98
  end
87
99
 
88
100
  end
@@ -112,7 +124,7 @@ module Refinery
112
124
 
113
125
  it 'only contains items that are always allowed' do
114
126
  subject.class.always_allowed.any?.should be_true
115
- subject.class.always_allowed.all? { |p| p.always_allow_access? }.should be_true
127
+ subject.class.always_allowed.all? { |p| p.always_allow_access }.should be_true
116
128
  end
117
129
  end
118
130
 
@@ -127,5 +139,19 @@ module Refinery
127
139
  end
128
140
  end
129
141
 
142
+ describe ".find_by_name" do
143
+ it "finds plugin by given name" do
144
+ subject.class.set_active(%w(my_plugin))
145
+ subject.class.active.find_by_name("my_plugin").name.should == "my_plugin"
146
+ end
147
+ end
148
+
149
+ describe ".find_by_title" do
150
+ it "finds plugin by given title" do
151
+ subject.class.set_active(%w(my_plugin))
152
+ subject.class.active.find_by_title("my plugin").title.should == "my plugin"
153
+ end
154
+ end
155
+
130
156
  end
131
157
  end
@@ -0,0 +1,32 @@
1
+ require "spec_helper"
2
+
3
+ module Refinery
4
+ describe "custom" do
5
+ login_refinery_user
6
+
7
+ context "javascripts" do
8
+ before(:each) do
9
+ ::Refinery::Core.clear_javascripts!
10
+ end
11
+
12
+ it "should be rendered when specified" do
13
+ ::Refinery::Core.config.register_javascript('custom_js')
14
+ visit refinery.admin_dashboard_path
15
+ page.body.include?('custom_js.js').should be
16
+ end
17
+ end
18
+
19
+ context "stylesheets" do
20
+ before(:each) do
21
+ ::Refinery::Core.clear_stylesheets!
22
+ end
23
+
24
+ it "should be rendered when specified" do
25
+ ::Refinery::Core.config.register_stylesheet('custom_css')
26
+ visit refinery.admin_dashboard_path
27
+ page.body.include?('custom_css.css').should be
28
+ end
29
+ end
30
+
31
+ end
32
+ end
@@ -0,0 +1,28 @@
1
+ require "spec_helper"
2
+
3
+ module Refinery
4
+ describe "dialog" do
5
+ login_refinery_user
6
+
7
+ context "links" do
8
+ it "have iframe src" do
9
+ visit refinery.admin_dialog_path('Link')
10
+ page.should have_selector("iframe[src='/refinery/pages_dialogs/link_to']")
11
+ end
12
+ end
13
+
14
+ context "images" do
15
+ it "have iframe src" do
16
+ visit refinery.admin_dialog_path('Image')
17
+ page.should have_selector("iframe[src='/refinery/images/insert?modal=true']")
18
+ end
19
+ end
20
+
21
+ context "a" do
22
+ it "have empty iframe src" do
23
+ visit refinery.admin_dialog_path('a')
24
+ page.should have_selector("iframe[src='']")
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,71 @@
1
+ require "spec_helper"
2
+
3
+ module Refinery
4
+ describe "search" do
5
+ login_refinery_user
6
+
7
+ context "when searched item exists" do
8
+ describe "image extension" do
9
+ before(:each) { FactoryGirl.create(:image) }
10
+
11
+ it "returns found image" do
12
+ visit refinery.admin_images_path
13
+ fill_in "search", :with => "beach"
14
+ click_button "Search"
15
+ page.should have_selector("img[src*='beach.jpeg']")
16
+ end
17
+ end
18
+
19
+ describe "resource extension" do
20
+ before(:each) { FactoryGirl.create(:resource) }
21
+
22
+ it "returns found resource" do
23
+ visit refinery.admin_resources_path
24
+ fill_in "search", :with => "refinery"
25
+ click_button "Search"
26
+ page.should have_content("Refinery Is Awesome.txt")
27
+ end
28
+ end
29
+
30
+ describe "page extension" do
31
+ before(:each) { FactoryGirl.create(:page, :title => "Ugis Ozols") }
32
+
33
+ it "returns found page" do
34
+ visit refinery.admin_pages_path
35
+ fill_in "search", :with => "ugis"
36
+ click_button "Search"
37
+ page.should have_content("Ugis Ozols")
38
+ end
39
+ end
40
+ end
41
+
42
+ context "when searched item don't exist" do
43
+ def shared_stuff
44
+ fill_in "search", :with => "yada yada"
45
+ click_button "Search"
46
+ page.should have_content("Sorry, no results found")
47
+ end
48
+
49
+ describe "image extension" do
50
+ it "returns no results" do
51
+ visit refinery.admin_images_path
52
+ shared_stuff
53
+ end
54
+ end
55
+
56
+ describe "resource extension" do
57
+ it "returns no results" do
58
+ visit refinery.admin_resources_path
59
+ shared_stuff
60
+ end
61
+ end
62
+
63
+ describe "page extension" do
64
+ it "returns no results" do
65
+ visit refinery.admin_pages_path
66
+ shared_stuff
67
+ end
68
+ end
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,49 @@
1
+ require "spec_helper"
2
+
3
+ module Refinery
4
+ describe "site bar" do
5
+ login_refinery_user
6
+
7
+ it "have logout link" do
8
+ visit refinery.admin_dashboard_path
9
+
10
+ page.should have_content("Log out")
11
+ page.should have_selector("a[href='/refinery/logout']")
12
+ end
13
+
14
+ context "when in backend" do
15
+ before { visit refinery.admin_dashboard_path }
16
+
17
+ it "have a 'switch to your website button'" do
18
+ page.should have_content("Switch to your website")
19
+ page.should have_selector("a[href='/']")
20
+ end
21
+
22
+ it "switches to frontend" do
23
+ page.current_path.should == refinery.admin_dashboard_path
24
+ click_link "Switch to your website"
25
+ page.current_path.should == refinery.root_path
26
+ end
27
+ end
28
+
29
+ context "when in frontend" do
30
+ before do
31
+ # make a page in order to avoid 404
32
+ FactoryGirl.create(:page, :link_url => "/")
33
+
34
+ visit refinery.root_path
35
+ end
36
+
37
+ it "have a 'switch to your website editor' button" do
38
+ page.should have_content("Switch to your website editor")
39
+ page.should have_selector("a[href='/refinery']")
40
+ end
41
+
42
+ it "switches to backend" do
43
+ page.current_path.should == refinery.root_path
44
+ click_link "Switch to your website editor"
45
+ page.current_path.should == refinery.admin_root_path
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,14 @@
1
+ if Capybara.javascript_driver == :selenium
2
+ require 'selenium-webdriver'
3
+ require 'selenium/webdriver/firefox'
4
+
5
+ if defined?(Selenium::WebDriver::Firefox::Launcher) && Selenium::WebDriver::Platform.mac?
6
+ # Run firefox in the background, on OS X
7
+ Selenium::WebDriver::Firefox::Launcher.class_eval do
8
+ def start
9
+ assert_profile
10
+ @binary.start_with @profile, @profile_dir, ''
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,15 @@
1
+ require 'database_cleaner'
2
+
3
+ RSpec.configure do |config|
4
+ config.before(:suite) do
5
+ DatabaseCleaner.strategy = :truncation
6
+ end
7
+
8
+ config.before(:each) do
9
+ DatabaseCleaner.start
10
+ end
11
+
12
+ config.after(:each) do
13
+ DatabaseCleaner.clean
14
+ end
15
+ end
@@ -0,0 +1,6 @@
1
+ module Refinery
2
+ module InvalidEngine
3
+ class Engine < Rails::Engine
4
+ end
5
+ end
6
+ end