zen 0.2.8 → 0.3b

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 (422) hide show
  1. data/.gems +20 -0
  2. data/.mailmap +3 -2
  3. data/.rvmrc +1 -1
  4. data/.travis.yml +13 -2
  5. data/.yardopts +13 -0
  6. data/AUTHORS +1 -1
  7. data/README.md +115 -77
  8. data/Rakefile +6 -7
  9. data/bin/zen +12 -5
  10. data/guide/_static/categories/categories.png +0 -0
  11. data/guide/_static/categories/category_groups.png +0 -0
  12. data/guide/_static/categories/new_category.png +0 -0
  13. data/guide/_static/categories/new_category_group.png +0 -0
  14. data/guide/_static/comments/comments.png +0 -0
  15. data/guide/_static/comments/edit_comment.png +0 -0
  16. data/guide/_static/custom_fields/custom_field_groups.png +0 -0
  17. data/guide/_static/custom_fields/custom_field_types.png +0 -0
  18. data/guide/_static/custom_fields/custom_fields.png +0 -0
  19. data/guide/_static/custom_fields/edit_custom_field_general.png +0 -0
  20. data/guide/_static/custom_fields/edit_custom_field_group.png +0 -0
  21. data/guide/_static/custom_fields/edit_custom_field_settings.png +0 -0
  22. data/guide/_static/custom_fields/edit_custom_field_type.png +0 -0
  23. data/guide/_static/menus/edit_menu.png +0 -0
  24. data/guide/_static/menus/edit_menu_item.png +0 -0
  25. data/guide/_static/menus/menu_items.png +0 -0
  26. data/guide/_static/menus/menus.png +0 -0
  27. data/guide/_static/sections/edit_entry.png +0 -0
  28. data/guide/_static/sections/edit_entry_categories.png +0 -0
  29. data/guide/_static/sections/edit_entry_general.png +0 -0
  30. data/guide/_static/sections/edit_entry_meta.png +0 -0
  31. data/guide/_static/sections/edit_section_comments.png +0 -0
  32. data/guide/_static/sections/edit_section_general.png +0 -0
  33. data/guide/_static/sections/edit_section_groups.png +0 -0
  34. data/guide/_static/sections/entries.png +0 -0
  35. data/guide/_static/sections/sections.png +0 -0
  36. data/guide/_static/settings/overview_general.png +0 -0
  37. data/guide/_static/settings/overview_security.png +0 -0
  38. data/guide/_static/settings/overview_user.png +0 -0
  39. data/guide/_static/users/edit_user.png +0 -0
  40. data/guide/_static/users/edit_user_group.png +0 -0
  41. data/guide/_static/users/edit_user_group_permissions.png +0 -0
  42. data/guide/_static/users/edit_user_permissions.png +0 -0
  43. data/guide/_static/users/overview.png +0 -0
  44. data/guide/_static/users/user_groups_overview.png +0 -0
  45. data/guide/asset_management.md +117 -0
  46. data/{CHANGELOG.md → guide/changelog.md} +42 -0
  47. data/guide/css/common.css +20 -0
  48. data/guide/getting_started.md +61 -0
  49. data/guide/hacking.md +52 -0
  50. data/guide/installation.md +44 -0
  51. data/guide/javascript.md +352 -0
  52. data/lib/vendor/sequel_sluggable.rb +137 -0
  53. data/lib/yard/tags.rb +13 -0
  54. data/lib/zen.rb +148 -78
  55. data/lib/zen/asset_groups.rb +85 -0
  56. data/lib/zen/bin/create.rb +267 -56
  57. data/lib/zen/bin/default.rb +84 -0
  58. data/lib/zen/controller/admin_controller.rb +1 -82
  59. data/lib/zen/controller/base_controller.rb +9 -5
  60. data/lib/zen/controller/frontend_controller.rb +0 -1
  61. data/lib/zen/controller/main_controller.rb +30 -42
  62. data/lib/zen/controller/preview.rb +9 -8
  63. data/lib/zen/controller/translations.rb +49 -0
  64. data/lib/zen/error.rb +17 -0
  65. data/lib/zen/event.rb +118 -0
  66. data/lib/zen/helper/asset.rb +63 -0
  67. data/lib/zen/helper/breadcrumb.rb +1 -4
  68. data/lib/zen/helper/controller.rb +73 -0
  69. data/lib/zen/helper/locale.rb +42 -0
  70. data/lib/zen/helper/message.rb +0 -3
  71. data/lib/zen/helper/search.rb +54 -0
  72. data/lib/zen/helper/stacked_aspect.rb +249 -0
  73. data/lib/zen/helper/theme.rb +3 -10
  74. data/lib/zen/language.rb +356 -181
  75. data/lib/zen/language/en/zen_general.rb +52 -0
  76. data/lib/zen/language/en/zen_models.rb +19 -0
  77. data/lib/zen/language/nl/zen_general.rb +57 -0
  78. data/lib/zen/language/nl/zen_models.rb +22 -0
  79. data/lib/zen/language/translation.rb +132 -0
  80. data/lib/zen/languages.rb +9 -0
  81. data/lib/zen/layout/admin.xhtml +3 -3
  82. data/lib/zen/layout/login.xhtml +1 -1
  83. data/lib/zen/markup.rb +189 -0
  84. data/lib/zen/model/helper.rb +65 -0
  85. data/lib/zen/model/init.rb +62 -0
  86. data/lib/zen/model/methods.rb +6 -7
  87. data/lib/zen/package.rb +312 -201
  88. data/lib/zen/package/all.rb +4 -3
  89. data/lib/zen/package/categories/lib/categories.rb +29 -41
  90. data/lib/zen/package/categories/lib/categories/controller/categories.rb +185 -130
  91. data/lib/zen/package/categories/lib/categories/controller/category_groups.rb +172 -102
  92. data/lib/zen/package/categories/lib/categories/helper/category.rb +4 -9
  93. data/lib/zen/package/categories/lib/categories/helper/category_frontend.rb +86 -0
  94. data/lib/zen/package/categories/lib/categories/language/en/categories.rb +40 -0
  95. data/lib/zen/package/categories/lib/categories/language/en/category_groups.rb +39 -0
  96. data/lib/zen/package/categories/lib/categories/language/nl/categories.rb +42 -0
  97. data/lib/zen/package/categories/lib/categories/language/nl/category_groups.rb +42 -0
  98. data/lib/zen/package/categories/lib/categories/model/category.rb +21 -25
  99. data/lib/zen/package/categories/lib/categories/model/category_group.rb +21 -15
  100. data/lib/zen/package/categories/lib/categories/view/admin/categories/form.xhtml +25 -26
  101. data/lib/zen/package/categories/lib/categories/view/admin/categories/index.xhtml +24 -24
  102. data/lib/zen/package/categories/lib/categories/view/admin/category-groups/form.xhtml +18 -20
  103. data/lib/zen/package/categories/lib/categories/view/admin/category-groups/index.xhtml +21 -18
  104. data/lib/zen/package/comments/lib/comments.rb +30 -50
  105. data/lib/zen/package/comments/lib/comments/anti_spam.rb +138 -0
  106. data/lib/zen/package/comments/lib/comments/controller/comments.rb +159 -92
  107. data/lib/zen/package/comments/lib/comments/controller/comments_form.rb +122 -34
  108. data/lib/zen/package/comments/lib/comments/helper/comment.rb +0 -3
  109. data/lib/zen/package/comments/lib/comments/helper/comment_frontend.rb +90 -0
  110. data/lib/zen/package/comments/lib/comments/language/en/comments.rb +57 -0
  111. data/lib/zen/package/comments/lib/comments/language/nl/comments.rb +61 -0
  112. data/lib/zen/package/comments/lib/comments/model/comment.rb +147 -49
  113. data/lib/zen/package/comments/lib/comments/model/comment_status.rb +0 -2
  114. data/lib/zen/package/comments/lib/comments/view/admin/comments/form.xhtml +37 -40
  115. data/lib/zen/package/comments/lib/comments/view/admin/comments/index.xhtml +23 -42
  116. data/lib/zen/package/comments/migrations/1308774099_comment_status.rb +12 -4
  117. data/lib/zen/package/comments/migrations/1313851786_remove_defensio_signature.rb +11 -0
  118. data/lib/zen/package/custom_fields/lib/custom_fields.rb +40 -43
  119. data/lib/zen/package/custom_fields/lib/custom_fields/blue_form_parameters.rb +72 -17
  120. data/lib/zen/package/custom_fields/lib/custom_fields/controller/custom_field_groups.rb +154 -118
  121. data/lib/zen/package/custom_fields/lib/custom_fields/controller/custom_field_types.rb +147 -90
  122. data/lib/zen/package/custom_fields/lib/custom_fields/controller/custom_fields.rb +161 -131
  123. data/lib/zen/package/custom_fields/lib/custom_fields/helper/custom_field.rb +4 -9
  124. data/lib/zen/package/custom_fields/lib/custom_fields/language/en/custom_field_groups.rb +42 -0
  125. data/lib/zen/package/custom_fields/lib/custom_fields/language/en/custom_field_types.rb +51 -0
  126. data/lib/zen/package/custom_fields/lib/custom_fields/language/en/custom_fields.rb +60 -0
  127. data/lib/zen/package/custom_fields/lib/custom_fields/language/nl/custom_field_groups.rb +41 -0
  128. data/lib/zen/package/custom_fields/lib/custom_fields/language/nl/custom_field_types.rb +49 -0
  129. data/lib/zen/package/custom_fields/lib/custom_fields/language/nl/custom_fields.rb +61 -0
  130. data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field.rb +18 -23
  131. data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field_group.rb +20 -19
  132. data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field_method.rb +1 -3
  133. data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field_type.rb +19 -9
  134. data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field_value.rb +18 -15
  135. data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-groups/form.xhtml +18 -18
  136. data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-groups/index.xhtml +30 -24
  137. data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-types/form.xhtml +15 -10
  138. data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-types/index.xhtml +24 -19
  139. data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-fields/form.xhtml +18 -13
  140. data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-fields/index.xhtml +30 -20
  141. data/lib/zen/package/extensions/lib/extensions.rb +20 -0
  142. data/lib/zen/package/extensions/lib/extensions/controller/extensions.rb +41 -0
  143. data/lib/zen/package/extensions/lib/extensions/language/en/extensions.rb +23 -0
  144. data/lib/zen/package/extensions/lib/extensions/language/nl/extensions.rb +25 -0
  145. data/lib/zen/package/extensions/lib/extensions/view/admin/extensions/index.xhtml +86 -0
  146. data/lib/zen/package/menu.rb +109 -0
  147. data/lib/zen/package/menus/lib/menus.rb +25 -34
  148. data/lib/zen/package/menus/lib/menus/controller/menu_items.rb +143 -107
  149. data/lib/zen/package/menus/lib/menus/controller/menus.rb +166 -115
  150. data/lib/zen/package/menus/lib/menus/helper/menu.rb +2 -8
  151. data/lib/zen/package/menus/lib/menus/helper/menu_frontend.rb +114 -0
  152. data/lib/zen/package/menus/lib/menus/language/en/menu_items.rb +48 -0
  153. data/lib/zen/package/menus/lib/menus/language/en/menus.rb +48 -0
  154. data/lib/zen/package/menus/lib/menus/language/nl/menu_items.rb +48 -0
  155. data/lib/zen/package/menus/lib/menus/language/nl/menus.rb +50 -0
  156. data/lib/zen/package/menus/lib/menus/model/menu.rb +24 -17
  157. data/lib/zen/package/menus/lib/menus/model/menu_item.rb +37 -13
  158. data/lib/zen/package/menus/lib/menus/view/admin/menu-items/form.xhtml +32 -25
  159. data/lib/zen/package/menus/lib/menus/view/admin/menu-items/index.xhtml +23 -17
  160. data/lib/zen/package/menus/lib/menus/view/admin/menus/form.xhtml +31 -26
  161. data/lib/zen/package/menus/lib/menus/view/admin/menus/index.xhtml +20 -22
  162. data/lib/zen/package/sections/lib/sections.rb +25 -68
  163. data/lib/zen/package/sections/lib/sections/controller/section_entries.rb +178 -138
  164. data/lib/zen/package/sections/lib/sections/controller/sections.rb +173 -140
  165. data/lib/zen/package/sections/lib/sections/helper/section.rb +3 -6
  166. data/lib/zen/package/sections/lib/sections/helper/section_frontend.rb +146 -0
  167. data/lib/zen/package/sections/lib/sections/language/en/section_entries.rb +50 -0
  168. data/lib/zen/package/sections/lib/sections/language/en/sections.rb +55 -0
  169. data/lib/zen/package/sections/lib/sections/language/nl/section_entries.rb +50 -0
  170. data/lib/zen/package/sections/lib/sections/language/nl/sections.rb +55 -0
  171. data/lib/zen/package/sections/lib/sections/model/section.rb +36 -36
  172. data/lib/zen/package/sections/lib/sections/model/section_entry.rb +52 -59
  173. data/lib/zen/package/sections/lib/sections/model/section_entry_status.rb +2 -2
  174. data/lib/zen/package/sections/lib/sections/view/admin/form.xhtml +24 -21
  175. data/lib/zen/package/sections/lib/sections/view/admin/index.xhtml +24 -26
  176. data/lib/zen/package/sections/lib/sections/view/admin/section-entries/form.xhtml +33 -31
  177. data/lib/zen/package/sections/lib/sections/view/admin/section-entries/index.xhtml +24 -25
  178. data/lib/zen/package/sections/migrations/1308672298_use_id_for_default_section.rb +14 -10
  179. data/lib/zen/package/sections/migrations/1308813320_section_entry_statuses.rb +12 -6
  180. data/lib/zen/package/settings/lib/settings.rb +25 -120
  181. data/lib/zen/package/settings/lib/settings/blue_form_parameters.rb +157 -0
  182. data/lib/zen/package/settings/lib/settings/controller/settings.rb +94 -69
  183. data/lib/zen/package/settings/lib/settings/language/en/settings.rb +41 -0
  184. data/lib/zen/package/settings/lib/settings/language/nl/settings.rb +41 -0
  185. data/lib/zen/package/settings/lib/settings/model/setting.rb +0 -2
  186. data/lib/zen/package/settings/lib/settings/setting.rb +379 -0
  187. data/lib/zen/package/settings/lib/settings/setting_groups.rb +11 -0
  188. data/lib/zen/package/settings/lib/settings/settings.rb +83 -0
  189. data/lib/zen/package/settings/lib/settings/settings_group.rb +84 -0
  190. data/lib/zen/package/settings/lib/settings/singleton_methods.rb +35 -0
  191. data/lib/zen/package/settings/lib/settings/view/admin/settings/index.xhtml +15 -57
  192. data/lib/zen/package/settings/migrations/1321197919_remove_unused_columns.rb +17 -0
  193. data/lib/zen/package/users/lib/users.rb +51 -36
  194. data/lib/zen/package/users/lib/users/controller/user_groups.rb +133 -98
  195. data/lib/zen/package/users/lib/users/controller/users.rb +253 -136
  196. data/lib/zen/package/users/lib/users/helper/access.rb +102 -0
  197. data/lib/zen/package/users/lib/users/helper/acl.rb +113 -0
  198. data/lib/zen/package/users/lib/users/helper/users.rb +41 -24
  199. data/lib/zen/package/users/lib/users/language/en/permissions.rb +16 -0
  200. data/lib/zen/package/users/lib/users/language/en/user_groups.rb +39 -0
  201. data/lib/zen/package/users/lib/users/language/en/users.rb +73 -0
  202. data/lib/zen/package/users/lib/users/language/nl/permissions.rb +16 -0
  203. data/lib/zen/package/users/lib/users/language/nl/user_groups.rb +41 -0
  204. data/lib/zen/package/users/lib/users/language/nl/users.rb +74 -0
  205. data/lib/zen/package/users/lib/users/model/permission.rb +28 -0
  206. data/lib/zen/package/users/lib/users/model/user.rb +104 -65
  207. data/lib/zen/package/users/lib/users/model/user_group.rb +28 -24
  208. data/lib/zen/package/users/lib/users/model/user_status.rb +27 -0
  209. data/lib/zen/package/users/lib/users/public/admin/css/users/permissions.css +22 -0
  210. data/lib/zen/package/users/lib/users/public/admin/js/users/permissions.js +33 -0
  211. data/lib/zen/package/users/lib/users/settings.rb +19 -0
  212. data/lib/zen/package/users/lib/users/view/admin/user-groups/form.xhtml +58 -28
  213. data/lib/zen/package/users/lib/users/view/admin/user-groups/index.xhtml +19 -15
  214. data/lib/zen/package/users/lib/users/view/admin/users/form.xhtml +93 -62
  215. data/lib/zen/package/users/lib/users/view/admin/users/index.xhtml +23 -36
  216. data/lib/zen/package/users/lib/users/view/admin/users/login.xhtml +13 -6
  217. data/lib/zen/package/users/lib/users/view/admin/users/permissions.xhtml +33 -0
  218. data/lib/zen/package/users/lib/users/view/admin/users/register.xhtml +52 -0
  219. data/lib/zen/package/users/migrations/1313786058_update_default_date.rb +41 -0
  220. data/lib/zen/package/users/migrations/1316432327_permissions.rb +36 -0
  221. data/lib/zen/package/users/migrations/1320272365_status_ids.rb +67 -0
  222. data/lib/zen/public/admin/css/zen/buttons.css +3 -11
  223. data/lib/zen/public/admin/css/zen/datepicker.css +23 -13
  224. data/lib/zen/public/admin/css/zen/editor.css +6 -14
  225. data/lib/zen/public/admin/css/zen/forms.css +19 -12
  226. data/lib/zen/public/admin/css/zen/general.css +22 -18
  227. data/lib/zen/public/admin/css/zen/grid.css +1 -20
  228. data/lib/zen/public/admin/css/zen/layout.css +26 -11
  229. data/lib/zen/public/admin/css/zen/messages.css +3 -10
  230. data/lib/zen/public/admin/css/zen/reset.css +13 -15
  231. data/lib/zen/public/admin/css/zen/tables.css +8 -10
  232. data/lib/zen/public/admin/css/zen/tabs.css +2 -10
  233. data/lib/zen/public/admin/css/zen/window.css +2 -8
  234. data/lib/zen/public/admin/js/vendor/datepicker.js +540 -240
  235. data/lib/zen/public/admin/js/vendor/mootools/core.js +273 -283
  236. data/lib/zen/public/admin/js/vendor/mootools/more.js +131 -136
  237. data/lib/zen/public/admin/js/zen/index.js +8 -14
  238. data/lib/zen/public/admin/js/zen/lib/editor.js +36 -33
  239. data/lib/zen/public/admin/js/zen/lib/editor/markdown.js +0 -6
  240. data/lib/zen/public/admin/js/zen/lib/editor/textile.js +0 -6
  241. data/lib/zen/public/admin/js/zen/lib/html_table.js +0 -5
  242. data/lib/zen/public/admin/js/zen/lib/tabs.js +22 -79
  243. data/lib/zen/public/admin/js/zen/lib/window.js +12 -22
  244. data/lib/zen/spec/bacon/color_output.rb +1 -1
  245. data/lib/zen/spec/helper.rb +6 -11
  246. data/lib/zen/spec/simplecov.rb +3 -3
  247. data/lib/zen/task.rb +0 -1
  248. data/lib/zen/task/build.rake +46 -26
  249. data/lib/zen/task/clean.rake +14 -7
  250. data/lib/zen/task/db.rake +31 -29
  251. data/lib/zen/task/package.rake +19 -23
  252. data/lib/zen/task/proto.rake +3 -5
  253. data/lib/zen/task/setup.rake +4 -0
  254. data/lib/zen/task/test.rake +31 -6
  255. data/lib/zen/task/theme.rake +13 -19
  256. data/lib/zen/theme.rb +377 -52
  257. data/lib/zen/validation.rb +22 -30
  258. data/lib/zen/version.rb +1 -2
  259. data/lib/zen/view/bottom.xhtml +9 -1
  260. data/lib/zen/view/head.xhtml +1 -1
  261. data/lib/zen/view/main.xhtml +1 -1
  262. data/lib/zen/view/search.xhtml +9 -0
  263. data/proto/app/Rakefile +0 -1
  264. data/proto/app/app.rb +21 -16
  265. data/proto/app/config/config.rb.erb +41 -0
  266. data/proto/app/config/{database.rb → database.rb.erb} +17 -14
  267. data/proto/app/config/middlewares.rb +1 -1
  268. data/proto/app/theme/default/index.xhtml +25 -0
  269. data/proto/app/theme/theme.rb +19 -0
  270. data/proto/app/{log/database/dev → tmp}/.gitkeep +0 -0
  271. data/proto/migration.rb +3 -5
  272. data/proto/rack/thin.yml +41 -0
  273. data/proto/rack/unicorn.rb +38 -0
  274. data/spec/Rakefile +15 -11
  275. data/spec/fixtures/zen/helper/controller.rb +13 -0
  276. data/spec/fixtures/zen/helper/locale.rb +7 -0
  277. data/spec/fixtures/zen/helper/message.rb +0 -4
  278. data/spec/fixtures/zen/language.rb +31 -0
  279. data/spec/fixtures/zen/language/en/spec.rb +11 -0
  280. data/spec/fixtures/zen/language/nl/spec.rb +11 -0
  281. data/spec/fixtures/zen/package.rb +0 -10
  282. data/spec/fixtures/zen/package/categories/helper/category_frontend.rb +16 -0
  283. data/spec/fixtures/zen/package/comments/helper/comment_frontend.rb +16 -0
  284. data/spec/fixtures/zen/package/sections/helper/section_frontend.rb +16 -0
  285. data/spec/fixtures/zen/package/settings/controller/settings.rb +17 -0
  286. data/spec/fixtures/zen/package/users/helper/access.rb +18 -0
  287. data/spec/fixtures/zen/package/users/helper/acl.rb +23 -0
  288. data/spec/fixtures/zen/theme/{default-section → default}/index.xhtml +0 -0
  289. data/spec/helper.rb +12 -27
  290. data/{proto/app/log/database/live → spec/public}/.gitkeep +0 -0
  291. data/spec/zen/controller/admin_controller.rb +5 -6
  292. data/spec/zen/controller/main_controller.rb +29 -35
  293. data/spec/zen/controller/preview.rb +9 -10
  294. data/spec/zen/event.rb +44 -0
  295. data/spec/zen/helper/breadcrumb.rb +4 -5
  296. data/spec/zen/helper/controller.rb +21 -0
  297. data/spec/zen/helper/locale.rb +25 -0
  298. data/spec/zen/helper/message.rb +4 -11
  299. data/spec/zen/helper/theme.rb +11 -14
  300. data/spec/zen/language.rb +48 -22
  301. data/spec/zen/markup.rb +39 -0
  302. data/spec/zen/package.rb +48 -11
  303. data/spec/zen/package/categories/controller/categories.rb +99 -45
  304. data/spec/zen/package/categories/controller/category_groups.rb +109 -33
  305. data/spec/zen/package/categories/helper/category.rb +19 -32
  306. data/spec/zen/package/categories/helper/category_frontend.rb +61 -0
  307. data/spec/zen/package/comments/anti_spam.rb +50 -0
  308. data/spec/zen/package/comments/controller/comments.rb +121 -61
  309. data/spec/zen/package/comments/controller/comments_form.rb +120 -94
  310. data/spec/zen/package/comments/helper/comment.rb +13 -13
  311. data/spec/zen/package/comments/helper/comment_frontend.rb +92 -0
  312. data/spec/zen/package/custom_fields/blue_form_parameters.rb +50 -50
  313. data/spec/zen/package/custom_fields/controller/custom_field_groups.rb +135 -43
  314. data/spec/zen/package/custom_fields/controller/custom_field_types.rb +153 -48
  315. data/spec/zen/package/custom_fields/controller/custom_fields.rb +130 -51
  316. data/spec/zen/package/custom_fields/helper/custom_field.rb +8 -8
  317. data/spec/zen/package/extensions/controller/extensions.rb +38 -0
  318. data/spec/zen/package/menus/controller/menu_items.rb +121 -42
  319. data/spec/zen/package/menus/controller/menus.rb +125 -38
  320. data/spec/zen/package/menus/helper/menu.rb +26 -26
  321. data/spec/zen/package/menus/helper/menu_frontend.rb +104 -0
  322. data/spec/zen/package/sections/controller/section_entries.rb +145 -89
  323. data/spec/zen/package/sections/controller/sections.rb +130 -35
  324. data/spec/zen/package/sections/helper/section.rb +27 -38
  325. data/spec/zen/package/sections/helper/section_frontend.rb +160 -0
  326. data/spec/zen/package/settings/controller/settings.rb +73 -8
  327. data/spec/zen/package/settings/settings.rb +119 -0
  328. data/spec/zen/package/users/controller/user_groups.rb +134 -34
  329. data/spec/zen/package/users/controller/users.rb +189 -44
  330. data/spec/zen/package/users/helper/access.rb +29 -0
  331. data/spec/zen/package/users/helper/acl.rb +46 -0
  332. data/spec/zen/package/users/helper/users.rb +20 -64
  333. data/spec/zen/theme.rb +7 -9
  334. data/spec/zen/validation.rb +1 -2
  335. data/zen.gemspec +25 -22
  336. metadata +303 -222
  337. data/lib/zen/asset.rb +0 -292
  338. data/lib/zen/bin/runner.rb +0 -118
  339. data/lib/zen/error/language_error.rb +0 -10
  340. data/lib/zen/error/package_error.rb +0 -10
  341. data/lib/zen/error/plugin_error.rb +0 -10
  342. data/lib/zen/error/theme_error.rb +0 -10
  343. data/lib/zen/error/validation_error.rb +0 -10
  344. data/lib/zen/helper/acl.rb +0 -182
  345. data/lib/zen/helper/blue_form_vendor.rb +0 -689
  346. data/lib/zen/language/en/zen_general.yml +0 -25
  347. data/lib/zen/language/en/zen_models.yml +0 -13
  348. data/lib/zen/language/nl/zen_general.yml +0 -25
  349. data/lib/zen/language/nl/zen_models.yml +0 -13
  350. data/lib/zen/model/settings.rb +0 -78
  351. data/lib/zen/package/base.rb +0 -62
  352. data/lib/zen/package/categories/lib/categories/language/en/categories.yml +0 -36
  353. data/lib/zen/package/categories/lib/categories/language/en/category_groups.yml +0 -34
  354. data/lib/zen/package/categories/lib/categories/language/nl/categories.yml +0 -40
  355. data/lib/zen/package/categories/lib/categories/language/nl/category_groups.yml +0 -34
  356. data/lib/zen/package/categories/lib/categories/plugin/categories.rb +0 -141
  357. data/lib/zen/package/comments/lib/comments/language/en/comments.yml +0 -48
  358. data/lib/zen/package/comments/lib/comments/language/nl/comments.yml +0 -50
  359. data/lib/zen/package/comments/lib/comments/plugin/anti_spam.rb +0 -156
  360. data/lib/zen/package/comments/lib/comments/plugin/comments.rb +0 -115
  361. data/lib/zen/package/custom_fields/lib/custom_fields/language/en/custom_field_groups.yml +0 -33
  362. data/lib/zen/package/custom_fields/lib/custom_fields/language/en/custom_field_types.yml +0 -40
  363. data/lib/zen/package/custom_fields/lib/custom_fields/language/en/custom_fields.yml +0 -54
  364. data/lib/zen/package/custom_fields/lib/custom_fields/language/nl/custom_field_groups.yml +0 -33
  365. data/lib/zen/package/custom_fields/lib/custom_fields/language/nl/custom_field_types.yml +0 -40
  366. data/lib/zen/package/custom_fields/lib/custom_fields/language/nl/custom_fields.yml +0 -54
  367. data/lib/zen/package/menus/lib/menus/language/en/menu_items.yml +0 -41
  368. data/lib/zen/package/menus/lib/menus/language/en/menus.yml +0 -40
  369. data/lib/zen/package/menus/lib/menus/language/nl/menu_items.yml +0 -41
  370. data/lib/zen/package/menus/lib/menus/language/nl/menus.yml +0 -40
  371. data/lib/zen/package/menus/lib/menus/plugin/menus.rb +0 -152
  372. data/lib/zen/package/sections/lib/sections/language/en/section_entries.yml +0 -44
  373. data/lib/zen/package/sections/lib/sections/language/en/sections.yml +0 -48
  374. data/lib/zen/package/sections/lib/sections/language/nl/section_entries.yml +0 -44
  375. data/lib/zen/package/sections/lib/sections/language/nl/sections.yml +0 -48
  376. data/lib/zen/package/sections/lib/sections/plugin/section_entries.rb +0 -244
  377. data/lib/zen/package/sections/lib/sections/plugin/sections.rb +0 -87
  378. data/lib/zen/package/settings/lib/settings/language/en/settings.yml +0 -36
  379. data/lib/zen/package/settings/lib/settings/language/nl/settings.yml +0 -37
  380. data/lib/zen/package/settings/lib/settings/plugin/group_base.rb +0 -39
  381. data/lib/zen/package/settings/lib/settings/plugin/setting_base.rb +0 -133
  382. data/lib/zen/package/settings/lib/settings/plugin/settings.rb +0 -251
  383. data/lib/zen/package/users/lib/users/controller/access_rules.rb +0 -284
  384. data/lib/zen/package/users/lib/users/language/en/access_rules.yml +0 -38
  385. data/lib/zen/package/users/lib/users/language/en/user_groups.yml +0 -32
  386. data/lib/zen/package/users/lib/users/language/en/users.yml +0 -57
  387. data/lib/zen/package/users/lib/users/language/nl/access_rules.yml +0 -38
  388. data/lib/zen/package/users/lib/users/language/nl/user_groups.yml +0 -32
  389. data/lib/zen/package/users/lib/users/language/nl/users.yml +0 -57
  390. data/lib/zen/package/users/lib/users/model/access_rule.rb +0 -42
  391. data/lib/zen/package/users/lib/users/public/admin/js/users/access_rules.js +0 -65
  392. data/lib/zen/package/users/lib/users/public/admin/js/users/lib/access_rules.js +0 -49
  393. data/lib/zen/package/users/lib/users/view/admin/access-rules/form.xhtml +0 -120
  394. data/lib/zen/package/users/lib/users/view/admin/access-rules/index.xhtml +0 -102
  395. data/lib/zen/plugin.rb +0 -182
  396. data/lib/zen/plugin/base.rb +0 -46
  397. data/lib/zen/plugin/helper.rb +0 -47
  398. data/lib/zen/plugin/markup/lib/markup.rb +0 -14
  399. data/lib/zen/plugin/markup/lib/markup/language/en/markup.yml +0 -6
  400. data/lib/zen/plugin/markup/lib/markup/markup.rb +0 -165
  401. data/lib/zen/public/admin/js/zen/lib/asset.js +0 -111
  402. data/lib/zen/task/plugin.rake +0 -18
  403. data/lib/zen/theme/base.rb +0 -65
  404. data/proto/app/config/config.rb +0 -18
  405. data/spec/fixtures/zen/language/en/spec.yml +0 -10
  406. data/spec/fixtures/zen/language/nl/spec.yml +0 -7
  407. data/spec/fixtures/zen/package/settings/plugin/settings.rb +0 -20
  408. data/spec/zen/asset.rb +0 -97
  409. data/spec/zen/bin/create.rb +0 -89
  410. data/spec/zen/bin/runner.rb +0 -47
  411. data/spec/zen/helper/acl.rb +0 -149
  412. data/spec/zen/package/categories/plugin/categories.rb +0 -92
  413. data/spec/zen/package/comments/plugin/anti_spam.rb +0 -59
  414. data/spec/zen/package/comments/plugin/comments.rb +0 -107
  415. data/spec/zen/package/menus/plugin/menus.rb +0 -120
  416. data/spec/zen/package/sections/plugin/section_entries.rb +0 -161
  417. data/spec/zen/package/sections/plugin/sections.rb +0 -75
  418. data/spec/zen/package/settings/plugin/settings.rb +0 -33
  419. data/spec/zen/package/users/controller/access_rules.rb +0 -90
  420. data/spec/zen/plugin.rb +0 -64
  421. data/spec/zen/plugin/helper.rb +0 -11
  422. data/spec/zen/plugin/markup.rb +0 -44
@@ -1,7 +1,7 @@
1
1
  require 'ramaze'
2
2
 
3
3
  Ramaze.setup(:verbose => false) do
4
- gem 'simplecov', ['~> 0.4.2']
4
+ gem 'simplecov', ['>= 0.4.2']
5
5
  end
6
6
 
7
7
  SimpleCov.configure do
@@ -10,13 +10,13 @@ SimpleCov.configure do
10
10
  project_name 'Zen'
11
11
 
12
12
  add_group 'Packages' , 'zen/package'
13
- add_group 'Plugins' , 'zen/plugin'
14
13
  add_group 'Helpers' , 'zen/helper'
15
14
  add_group 'Controllers', 'zen/controller'
16
15
 
17
- # Don't actually test the coverage of the tests themselves
18
16
  add_filter 'spec'
19
17
  add_filter 'lib/zen/model/settings'
18
+ add_filter 'vendor'
19
+ add_filter 'lib/zen/model/init'
20
20
  end
21
21
 
22
22
  SimpleCov.start
data/lib/zen/task.rb CHANGED
@@ -2,6 +2,5 @@ require 'rake'
2
2
 
3
3
  import __DIR__('task/db.rake')
4
4
  import __DIR__('task/package.rake')
5
- import __DIR__('task/plugin.rake')
6
5
  import __DIR__('task/proto.rake')
7
6
  import __DIR__('task/theme.rake')
@@ -1,36 +1,23 @@
1
- require 'open3'
2
-
3
- # Task group used for building various elements such as the Gem and the
4
- # documentation.
5
1
  namespace :build do
6
2
  desc 'Builds the documentation using YARD'
7
- task :doc do
8
- zen_path = File.expand_path('../../../../', __FILE__)
9
- command = "yard doc #{zen_path}/lib -m markdown -M rdiscount -o #{zen_path}/doc "
10
- command += "-r #{zen_path}/README.md --private --protected"
3
+ task :doc => ['clean:yard'] do
4
+ root = File.expand_path('../../../../', __FILE__)
5
+ Dir.chdir(root)
11
6
 
12
- sh(command)
7
+ sh('yard doc')
13
8
  end
14
9
 
15
10
  desc 'Builds a new Gem'
16
11
  task :gem do
17
- zen_path = __DIR__('../../../')
18
- gemspec_path = File.join(
19
- zen_path,
20
- "#{Zen::Gemspec.name}-#{Zen::Gemspec.version.version}.gem"
21
- )
22
-
23
- pkg_path = File.join(
24
- zen_path,
25
- 'pkg',
26
- "#{Zen::Gemspec.name}-#{Zen::Gemspec.version.version}.gem"
27
- )
12
+ root = File.expand_path('../../../../', __FILE__)
13
+ name = "#{Zen::Gemspec.name}-#{Zen::Gemspec.version.version}.gem"
14
+ path = File.join(root, name)
15
+ pkg = File.join(root, 'pkg', name)
28
16
 
29
17
  # Build and install the gem
30
-
31
- sh('gem', 'build' , File.join(zen_path, 'zen.gemspec'))
32
- sh('mv' , gemspec_path, pkg_path)
33
- sh('gem', 'install' , pkg_path)
18
+ sh('gem', 'build', File.join(root, 'zen.gemspec'))
19
+ sh('mv' , path, pkg)
20
+ sh('gem', 'install', pkg)
34
21
  end
35
22
 
36
23
  # Stolen from Ramaze
@@ -46,9 +33,42 @@ namespace :build do
46
33
  io.puts "Following persons have contributed to Zen."
47
34
  io.puts '(Sorted by number of submitted patches, then alphabetically)'
48
35
  io.puts ''
49
- authors.sort_by{|(n,e),c| [-c, n.downcase] }.each do |(name, email), count|
36
+ authors.sort_by { |(n,e),c| [-c, n.downcase] }.each do |(name, email), count|
50
37
  io.puts("%6d %s <%s>" % [count, name, email])
51
38
  end
52
39
  end
53
40
  end
54
- end # namespace :build
41
+
42
+ desc 'Builds a list of changes since a given Git tag and outputs it'
43
+ task :changes, [:tag] do |t, args|
44
+ args.with_defaults(:tag => `git tag`.split(/\n/)[-1])
45
+
46
+ stop = `git log -1 --pretty=oneline --color=never`.split(/\s+/)[0]
47
+ start = `git show #{args[:tag]} --pretty=oneline --color=never` \
48
+ .split(/\s+/)[0]
49
+
50
+ log = `git --no-pager log --color=never --pretty=oneline \
51
+ #{start}..#{stop}`.split(/\n/)
52
+
53
+ log.each do |line|
54
+ line = line.split(/\s+/, 2)[1].strip
55
+ wrapped = '* '
56
+ chars = 0
57
+
58
+ # Wrap the string
59
+ line.split(/\s+/).each do |chunk|
60
+ length = chunk.length
61
+
62
+ if ( chars + length ) <= ( 80 - length )
63
+ wrapped += "#{chunk} "
64
+ chars += length
65
+ else
66
+ wrapped += "\n #{chunk} "
67
+ chars = 0
68
+ end
69
+ end
70
+
71
+ puts wrapped
72
+ end
73
+ end
74
+ end
@@ -1,7 +1,3 @@
1
- require 'fileutils'
2
-
3
- # Task group used to remove various files that aren't needed when releasing gems
4
- # and such.
5
1
  namespace :clean do
6
2
  desc 'Removes all the gems located in pkg/'
7
3
  task :gem do
@@ -14,9 +10,20 @@ namespace :clean do
14
10
 
15
11
  desc 'Removes all YARD files'
16
12
  task :yard do
17
- zen_path = File.expand_path('../../../../', __FILE__)
13
+ require 'fileutils'
14
+
15
+ root = File.expand_path('../../../../', __FILE__)
16
+
17
+ FileUtils.rm_rf("#{root}/doc")
18
+ FileUtils.rm_rf("#{root}/.yardoc")
19
+ end
20
+
21
+ desc 'Removes all the minified assets used for the specs'
22
+ task :assets do
23
+ path = File.expand_path('../../../../spec/public/minified/*', __FILE__)
18
24
 
19
- FileUtils.rm_rf("#{zen_path}/doc")
20
- FileUtils.rm_rf("#{zen_path}/.yardoc")
25
+ Dir.glob(path).each do |file|
26
+ File.unlink(file)
27
+ end
21
28
  end
22
29
  end
data/lib/zen/task/db.rake CHANGED
@@ -1,20 +1,20 @@
1
- # Task group for database related tasks such as migrating and removing the
2
- # database.
3
1
  namespace :db do
4
-
5
2
  desc 'Migrates the database to the newest version'
6
3
  task :migrate do
7
- if Zen::Package::Registered.empty?
4
+ require File.expand_path('../../../zen', __FILE__)
5
+
6
+ if Zen::Package::REGISTERED.empty?
8
7
  abort "No packages have been registered."
9
8
  end
10
9
 
11
10
  # Get the details required to run a migration
12
- Zen::Package::Registered.each do |name, pkg|
11
+ Zen::Package::REGISTERED.each do |name, pkg|
13
12
  # Get the migration directory
14
- if pkg.respond_to?(:migration_dir) and !pkg.migration_dir.nil?
15
- dir = pkg.migration_dir
13
+ if pkg.respond_to?(:migrations) and !pkg.migrations.nil?
14
+ dir = pkg.migrations
16
15
  else
17
- dir = pkg.directory + '/../../migrations'
16
+ puts "Skipping #{pkg.title} as it has no migrations directory"
17
+ next
18
18
  end
19
19
 
20
20
  if !File.directory?(dir)
@@ -24,28 +24,29 @@ namespace :db do
24
24
  table = 'migrations_package_' + pkg.name.to_s
25
25
 
26
26
  # Migration time
27
- Zen.database.transaction do
28
- Sequel::Migrator.run(Zen.database, dir, :table => table)
29
- Ramaze::Log.info("Successfully migrated \"#{pkg.name}\"")
30
- end
27
+ Sequel::Migrator.run(Zen.database, dir, :table => table)
28
+ Ramaze::Log.info("Successfully migrated \"#{pkg.name}\"")
31
29
  end
32
30
  end
33
31
 
34
32
  desc 'Deletes the entire database'
35
33
  task :delete do
36
- if Zen::Package::Registered.empty?
34
+ require File.expand_path('../../../zen', __FILE__)
35
+
36
+ if Zen::Package::REGISTERED.empty?
37
37
  abort "No packages have been registered."
38
38
  end
39
39
 
40
- packages = Zen::Package::Registered.map { |name, pkg| [name, pkg] }.reverse
40
+ packages = Zen::Package::REGISTERED.map { |name, pkg| [name, pkg] }.reverse
41
41
 
42
42
  # Get the details required to run a migration
43
43
  packages.each do |name, pkg|
44
44
  # Get the migration directory
45
- if pkg.respond_to?(:migration_dir) and !pkg.migration_dir.nil?
46
- dir = pkg.migration_dir
45
+ if pkg.respond_to?(:migrations) and !pkg.migrations.nil?
46
+ dir = pkg.migrations
47
47
  else
48
- dir = pkg.directory + '/../../migrations'
48
+ puts "Skipping #{pkg.title} as it has no migrations directory"
49
+ next
49
50
  end
50
51
 
51
52
  if !File.directory?(dir)
@@ -55,17 +56,17 @@ namespace :db do
55
56
  table = 'migrations_package_' + pkg.name.to_s
56
57
 
57
58
  # Migration time
58
- Zen.database.transaction do
59
- Sequel::Migrator.run(Zen.database, dir, :table => table, :target => 0)
60
- Zen.database.drop_table(table)
59
+ Sequel::Migrator.run(Zen.database, dir, :table => table, :target => 0)
60
+ Zen.database.drop_table(table)
61
61
 
62
- Ramaze::Log.info("Successfully uninstalled \"#{pkg.name}\"")
63
- end
62
+ Ramaze::Log.info("Successfully uninstalled \"#{pkg.name}\"")
64
63
  end
65
64
  end
66
65
 
67
66
  desc 'Creates a default administrator with a random password'
68
67
  task :user do
68
+ require File.expand_path('../../../zen', __FILE__)
69
+
69
70
  password = (0..12).map do
70
71
  letter = ('a'..'z').to_a[rand(26)]
71
72
  number = (0..9).to_a[rand(26)]
@@ -83,15 +84,17 @@ namespace :db do
83
84
  ).save
84
85
  end
85
86
 
86
- if !user.nil?
87
+ unless user.nil?
87
88
  abort "The default user has already been inserted."
88
89
  end
89
90
 
90
- user = Users::Model::User.new(
91
- :email => 'admin@website.tld', :name => 'Administrator',
92
- :password => password, :status => 'open'
93
- ).save
91
+ user = Users::Model::User.create(
92
+ :email => 'admin@website.tld',
93
+ :name => 'Administrator',
94
+ :password => password
95
+ )
94
96
 
97
+ user.activate!
95
98
  user.user_group_pks = [group.id]
96
99
 
97
100
  puts "Default administrator account has been created.
@@ -99,7 +102,6 @@ namespace :db do
99
102
  Email: admin@website.tld
100
103
  Passowrd: #{password}
101
104
 
102
- You can login by going to http://domain.tld/admin/users/login/
103
- "
105
+ You can login by going to http://domain.tld/admin/users/login/"
104
106
  end
105
107
  end
@@ -1,26 +1,27 @@
1
- # Task group for managing packages.
2
1
  namespace :package do
3
-
4
2
  desc 'Lists all installed packages'
5
3
  task :list do
6
- Zen::Package::Registered.each do |name, pkg|
7
- message = <<-MSG
8
- #{name}
9
- --------------------
10
- #{pkg.about}
11
-
12
- MSG
13
-
14
- puts message
4
+ require File.expand_path('../../../zen', __FILE__)
5
+
6
+ Zen::Package::REGISTERED.each do |name, pkg|
7
+ if pkg.about.nil? or pkg.about.empty?
8
+ puts "* #{name}"
9
+ else
10
+ puts "* #{name}\n #{pkg.about}"
11
+ end
15
12
  end
16
13
  end
17
14
 
18
15
  desc 'Migrates a package to a certain version'
19
16
  task :migrate, :name, :version do |task, args|
17
+ require File.expand_path('../../../zen', __FILE__)
18
+
20
19
  if !args[:name]
21
20
  abort "You need to specify the name of a package to migrate"
22
21
  end
23
22
 
23
+ name = args[:name].to_sym
24
+
24
25
  if !args[:version]
25
26
  version = nil
26
27
  else
@@ -28,17 +29,17 @@ MSG
28
29
  end
29
30
 
30
31
  # Validate the package name
31
- if !Zen::Package::Registered[args[:name].to_sym]
32
- abort "The package name \"#{args[:name]}\" is invalid."
32
+ if !Zen::Package::REGISTERED[name]
33
+ abort "The package name \"#{name}\" is invalid."
33
34
  end
34
35
 
35
- package = Zen::Package::Registered[args[:name].to_sym]
36
+ package = Zen::Package::REGISTERED[name]
36
37
 
37
38
  # Get the migrations directory
38
- if package.respond_to?(:migration_dir) and !package.migration_dir.nil?
39
- dir = package.migration_dir
39
+ if package.respond_to?(:migrations) and !package.migrations.nil?
40
+ dir = package.migrations
40
41
  else
41
- dir = package.directory + '/../../migrations'
42
+ abort 'The specified package has no migrations directory set'
42
43
  end
43
44
 
44
45
  # Validate the directory
@@ -51,11 +52,6 @@ MSG
51
52
  Ramaze::Log.info('Migrating package...')
52
53
 
53
54
  # Run all migrations
54
- Zen.database.transaction do
55
- Sequel::Migrator.run(
56
- Zen.database, dir, :table => table, :target => version
57
- )
58
- end
55
+ Sequel::Migrator.run(Zen.database, dir, :table => table, :target => version)
59
56
  end
60
-
61
57
  end
@@ -1,10 +1,9 @@
1
- require 'fileutils'
2
-
3
- # Task group used for creating various prototypes.
4
1
  namespace :proto do
5
-
6
2
  desc 'Creates a new migration'
7
3
  task :migration, :directory, :name do |task, args|
4
+ require File.expand_path('../../../zen', __FILE__)
5
+ require 'fileutils'
6
+
8
7
  # Validate the input
9
8
  if !args[:directory]
10
9
  abort 'You need to specify a directory for the migration.'
@@ -29,5 +28,4 @@ namespace :proto do
29
28
  puts "Failed to create the migration: #{e.message}"
30
29
  end
31
30
  end
32
-
33
31
  end
@@ -0,0 +1,4 @@
1
+ desc 'Installs all the required gems (requires RVM)'
2
+ task :setup do
3
+ sh('rvm gemset import .gems')
4
+ end
@@ -1,9 +1,34 @@
1
- desc 'Runs all the Bacon specifications'
2
- task :test do
3
- spec_dir = __DIR__('../../../spec')
4
- db_path = File.join(spec_dir, 'database.db')
1
+ namespace :test do
2
+ spec_dir = File.expand_path('../../../../spec', __FILE__)
3
+ command = 'rake db:delete; rake db:migrate; rake db:test_user; ' \
4
+ 'ruby zen/all.rb'
5
5
 
6
- File.unlink(db_path) if File.exist?(db_path)
6
+ desc 'Runs all specifications using SQLite3 or custom settings'
7
+ task :default => ['clean:assets'] do
8
+ Dir.chdir(spec_dir)
7
9
 
8
- sh("cd #{spec_dir}; rake db:migrate; rake db:test_user; ruby zen/all.rb")
10
+ sh(command)
11
+ end
12
+
13
+ desc 'Runs all specifications using MySQL'
14
+ task :mysql => ['clean:assets'] do
15
+ Dir.chdir(spec_dir)
16
+
17
+ ENV['DATABASE'] = 'zen_dev'
18
+ ENV['ADAPTER'] = 'mysql2'
19
+ ENV['USERNAME'] = 'zen'
20
+
21
+ sh(command)
22
+ end
23
+
24
+ desc 'Runs all specifications using PostgreSQL'
25
+ task :postgres => ['clean:assets'] do
26
+ Dir.chdir(spec_dir)
27
+
28
+ ENV['DATABASE'] = 'zen_dev'
29
+ ENV['ADAPTER'] = 'postgres'
30
+ ENV['USERNAME'] = 'zen'
31
+
32
+ sh(command)
33
+ end
9
34
  end
@@ -1,22 +1,21 @@
1
- # Task group for managing themes.
2
1
  namespace :theme do
3
-
4
2
  desc 'Lists all installed themes'
5
3
  task :list do
6
- Zen::Theme::Registered.each do |name, pkg|
7
- message = <<-MSG
8
- #{name}
9
- --------------------
10
- #{pkg.about}
11
-
12
- MSG
13
-
14
- puts message
4
+ require File.expand_path('../../../zen', __FILE__)
5
+
6
+ Zen::Theme::REGISTERED.each do |name, pkg|
7
+ if pkg.about.nil? or pkg.about.empty?
8
+ puts "* #{name}"
9
+ else
10
+ puts "* #{name}\n #{pkg.about}"
11
+ end
15
12
  end
16
13
  end
17
14
 
18
15
  desc 'Migrates a theme to the given version'
19
16
  task :migrate, :name, :version do |task, args|
17
+ require File.expand_path('../../../zen', __FILE__)
18
+
20
19
  if !args[:name]
21
20
  abort 'You need to specify the name of the theme.'
22
21
  end
@@ -30,11 +29,11 @@ MSG
30
29
 
31
30
  name = args[:name].to_sym
32
31
 
33
- if !Zen::Theme::Registered[name]
32
+ if !Zen::Theme::REGISTERED[name]
34
33
  abort 'The specified theme does not exist.'
35
34
  end
36
35
 
37
- theme = Zen::Theme::Registered[name]
36
+ theme = Zen::Theme::REGISTERED[name]
38
37
  table = 'migrations_theme_' + theme.name.to_s
39
38
 
40
39
  # Fetch the migrations directory
@@ -51,11 +50,6 @@ MSG
51
50
  # Time to migrate the theme
52
51
  Ramaze::Log.info('Migrating package...')
53
52
 
54
- Zen.database.transaction do
55
- Sequel::Migrator.run(
56
- Zen.database, dir, :table => table, :target => version
57
- )
58
- end
53
+ Sequel::Migrator.run(Zen.database, dir, :table => table, :target => version)
59
54
  end
60
-
61
55
  end