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,16 +1,13 @@
1
- require __DIR__('error/validation_error')
2
-
3
- #:nodoc:
4
1
  module Zen
5
2
  ##
6
- # The Validation module is a very basic validation framework that's used by
3
+ # The Validation module is a very basic validation framework that's used by
7
4
  # various internal modules/classes such as Zen::Plugin and Zen::Package.
8
5
  #
9
6
  # ## Usage
10
7
  #
11
- # Using the module is pretty simple. Include it, specify the validation rules
12
- # in a method and call it. All official modules and classes use a method
13
- # called "validate" but you're free to name it whatever you want. A basic
8
+ # Using the module is pretty simple. Include it, specify the validation rules
9
+ # in a method and call it. All official modules and classes use a method
10
+ # called "validate" but you're free to name it whatever you want. A basic
14
11
  # example looks like the following:
15
12
  #
16
13
  # class Something
@@ -23,7 +20,6 @@ module Zen
23
20
  # end
24
21
  # end
25
22
  #
26
- # @author Yorick Peterse
27
23
  # @since 0.2.5
28
24
  #
29
25
  module Validation
@@ -33,12 +29,11 @@ module Zen
33
29
  # @example
34
30
  # validates_presence(:name)
35
31
  #
36
- # @author Yorick Peterse
37
32
  # @since 0.2.5
38
- # @param [Array/Symbol/String] attributes Either a single or multiple
39
- # attributes to validate.
40
- # @raise [ValidationError] Raised whenever a attribute is missing or is
41
- # set to nil.
33
+ # @param [Array/Symbol/String] attributes Either a single or multiple
34
+ # attributes to validate.
35
+ # @raise [ValidationError] Raised whenever a attribute is missing or is
36
+ # set to nil.
42
37
  #
43
38
  def validates_presence(attributes)
44
39
  if attributes.class != Array
@@ -53,21 +48,20 @@ module Zen
53
48
  end
54
49
 
55
50
  ##
56
- # Checks if the length of a string matches the given length. You can specify
51
+ # Checks if the length of a string matches the given length. You can specify
57
52
  # a minimum length, a maximum one as well as both.
58
53
  #
59
54
  # @example
60
55
  # validates_length(:foobar, :min => 5, :max => 10)
61
56
  #
62
- # @author Yorick Peterse
63
57
  # @since 0.2.5
64
58
  # @param [String/Symbol] attribute The attribute to validate.
65
- # @param [Hash] options Hash containing the options to use for determining
66
- # how long the attribute's value should be.
59
+ # @param [Hash] options Hash containing the options to use for determining
60
+ # how long the attribute's value should be.
67
61
  # @option options [Fixnum] :min The minimum length of the attribute's value.
68
62
  # @option options [Fixnum] :max The maximum length of the value.
69
- # @raise [ValidationError] Raised then the value of the attribute isn't
70
- # long or short enough.
63
+ # @raise [ValidationError] Raised then the value of the attribute isn't
64
+ # long or short enough.
71
65
  #
72
66
  def validates_length(attribute, options)
73
67
  value = send(attribute)
@@ -94,21 +88,20 @@ module Zen
94
88
 
95
89
  ##
96
90
  # Checks if the given attributes match the specified regular expressions.
97
- # When a hash is specified the keys should be the names of the attributes to
91
+ # When a hash is specified the keys should be the names of the attributes to
98
92
  # validate and the values the regular expressions to use.
99
93
  #
100
94
  # @example
101
95
  # validates_format(:name, /[\w\-]+/)
102
96
  # validates_format(:name => /[\w\-]+/, :age => /[0-9]+/)
103
97
  #
104
- # @author Yorick Peterse
105
98
  # @since 0.2.5
106
- # @param [Hash/Symbol] attribute The name of the attribute to validate or
107
- # a hash containing all the attributes and their regular expressions.
108
- # @param [Regexp] regexp The regular expression to use when validating a
109
- # single attribute.
110
- # @raise [ValidationError] Raised when one of the attributes doesn't matches
111
- # the regular expression.
99
+ # @param [Hash/Symbol] attribute The name of the attribute to validate or
100
+ # a hash containing all the attributes and their regular expressions.
101
+ # @param [Regexp] regexp The regular expression to use when validating a
102
+ # single attribute.
103
+ # @raise [ValidationError] Raised when one of the attributes doesn't matches
104
+ # the regular expression.
112
105
  #
113
106
  def validates_format(attribute, regexp = nil)
114
107
  if attribute.class != Hash
@@ -122,7 +115,7 @@ module Zen
122
115
 
123
116
  if !match
124
117
  raise(
125
- ValidationError,
118
+ ValidationError,
126
119
  "The attribute \"#{attr}\" doesn't match #{regexp}"
127
120
  )
128
121
  end
@@ -135,7 +128,6 @@ module Zen
135
128
  # @example
136
129
  # validates_filepath(:directory)
137
130
  #
138
- # @author Yorick Peterse
139
131
  # @since 0.2.5
140
132
  # @param [String/Symbol] attribute The attribute to validate.
141
133
  # @raise [ValidationError] Raised when one of the paths didn't exist.
@@ -145,7 +137,7 @@ module Zen
145
137
 
146
138
  if !File.exist?(path)
147
139
  raise(
148
- ValidationError,
140
+ ValidationError,
149
141
  "The path #{path} in \"#{attribute}\" doesn't exist."
150
142
  )
151
143
  end
data/lib/zen/version.rb CHANGED
@@ -1,5 +1,4 @@
1
- #:nodoc:
2
1
  module Zen
3
2
  # :nodoc:
4
- Version = '0.2.8'
3
+ VERSION = '0.3b'
5
4
  end
@@ -1 +1,9 @@
1
- #{Zen::Asset.build(:javascript)}
1
+ <script>
2
+ var Zen = {
3
+ date_format: "#{date_format}",
4
+ };
5
+ </script>
6
+
7
+ <script src="/admin/js/zen/lib/translations.js"></script>
8
+
9
+ #{Zen.asset.build_html(:javascript)}
@@ -2,6 +2,6 @@
2
2
 
3
3
  <link rel="shortcut icon" href="/admin/favicon.ico" />
4
4
 
5
- #{Zen::Asset.build(:stylesheet)}
5
+ #{Zen.asset.build_html(:css)}
6
6
 
7
7
  <title>#{@page_title}</title>
@@ -12,7 +12,7 @@
12
12
  #{lang('zen_general.labels.powered_by')}
13
13
 
14
14
  <a href="http://zen-cms.com/">
15
- Zen #{Zen::Version}
15
+ Zen #{Zen::VERSION}
16
16
  </a>
17
17
  </p>
18
18
  </div>
@@ -0,0 +1,9 @@
1
+ <form action="#{@url}"
2
+ method="get" id="search_form">
3
+ <input name="query" type="text" value="#{request.params['query']}"
4
+ placeholder="#{lang('zen_general.descriptions.search')}" />
5
+
6
+ <div class="button">
7
+ <input type="submit" value="#{lang('zen_general.buttons.search')}" />
8
+ </div>
9
+ </form>
data/proto/app/Rakefile CHANGED
@@ -9,4 +9,3 @@ if File.directory?(task_dir)
9
9
  import task
10
10
  end
11
11
  end
12
-
data/proto/app/app.rb CHANGED
@@ -1,23 +1,28 @@
1
+ # This is the main file of your application. It loads various configuration
2
+ # files, your themes and starts your application.
1
3
  require 'zen'
2
- require 'ramaze/log/rotatinginformer'
3
4
 
4
- # Load the configuration files
5
- require __DIR__('config/config')
5
+ # Depending on your database adapter you might need to install extra Gems.
6
+ # Ramaze makes it easy to automatically install and require these using
7
+ # Ramaze.setup(). For example, if you want to automatically load the mysql2 gem
8
+ # you'd do this as following:
9
+ #
10
+ # Ramaze.setup(:verbose => false) do
11
+ # gem 'mysql2'
12
+ # end
13
+ #
6
14
 
7
- # Load all our custom Rack middlewares
15
+ # Load all the configuration files.
16
+ require __DIR__('config/config')
8
17
  require __DIR__('config/middlewares')
9
-
10
- # Load the database configuration file
11
18
  require __DIR__('config/database')
12
19
 
13
- # Make sure that Ramaze knows where you are
14
- Ramaze.options.roots.push(Zen.root)
15
-
16
- # Load the database
17
- Zen.init
18
-
19
- # Load all the packages
20
- require 'zen/package/all'
20
+ # Load the default theme. You're free to change this or remove it.
21
+ require __DIR__('theme/theme')
21
22
 
22
- # Almost done!
23
- Zen.post_init
23
+ # Starts Zen. While you can still load custom files after calling this method it
24
+ # is not recommended as it may lead to unexpected behavior. Zen itself tries not
25
+ # to cache anything in memory unless required, however it could be that a
26
+ # third-party extension does do this. Because of this it is recommended to just
27
+ # put your require() calls before calling this method.
28
+ Zen.start
@@ -0,0 +1,41 @@
1
+ # Main configuration file for your project. This file should contain settings
2
+ # such as the path to the root directory, the mode to use for Ramaze (dev, live,
3
+ # etc) and various cache related settings.
4
+ #
5
+ # Because this file is loaded using require() like any other file you're free to
6
+ # add statements and custom code in this configuration file.
7
+
8
+ # The root directory of your application. This directory will be used for
9
+ # various settings by Zen and is therefor required.
10
+ Zen.root = __DIR__('../')
11
+
12
+ # The application mode to use. Based on different modes your application might
13
+ # behave differently. For example, when set to :dev assets will not be minified.
14
+ Ramaze.options.mode = :dev
15
+
16
+ # The name of your application. Its very important that this name is unique,
17
+ # especially when a cache is shared among different Ramaze applications. If
18
+ # these applications were to use the same name they might end up retrieving the
19
+ # wrong data.
20
+ Ramaze.options.app.name = :<%= PROJECT_SETTINGS[:name] %>
21
+
22
+ # The session identifier to use for cookies.
23
+ Ramaze.options.session.key = '<%= PROJECT_SETTINGS[:name] %>.sid'
24
+
25
+ # Whether or not views should be cached after they've been read or pre-compiled.
26
+ # It is recommended to turn this off when developing your application. By
27
+ # default these settings are automatically set based on the mode specified in
28
+ # Ramaze.options.mode.
29
+ Ramaze::View.options.cache = Ramaze.options.mode == :live
30
+ Ramaze::View.options.read_cache = Ramaze.options.mode == :live
31
+
32
+ # The cache driver to use for sessions. If you're running your application using
33
+ # multiple processes (e.g. 3 Unicorn workers) you should use an external cache
34
+ # such as Ramaze::Cache::MemCache. Not doing this will result in synchronization
35
+ # problems between these processes.
36
+ Ramaze::Cache.options.session = Ramaze::Cache::LRU
37
+
38
+ # The cache driver to use for storing settings. Similar to
39
+ # Ramaze::Cache.options.session you should use an external cache in case you're
40
+ # running a multi-process based setup.
41
+ Ramaze::Cache.options.settings = Ramaze::Cache::LRU
@@ -1,6 +1,12 @@
1
- # It's recommended to create a separate database user for your Zen application
2
- # and prevent it from being able to access other databases. Zen is new and may
3
- # allow hackers to exploit the system.
1
+ # Database configuration file for Zen.
2
+ #
3
+ # This configuration file should contain all the required details to make it
4
+ # possible for Zen to connect to a SQL database.
5
+ #
6
+ # Keep in mind that it is recommended to add this file to your VCS' ignore list
7
+ # and instead only keep track of a default configuration file (e.g.
8
+ # database.default.rb). Doing this means your passwords and usernames don't end
9
+ # up being tracked by your VCS.
4
10
  #
5
11
  # The following items can be set:
6
12
  #
@@ -16,21 +22,18 @@
16
22
  #
17
23
  # Fore more information see the Sequel documentation:
18
24
  # http://sequel.rubyforge.org/rdoc/files/doc/opening_databases_rdoc.html
25
+ #
19
26
  Zen.database = Sequel.connect(
20
- :adapter => '',
21
- :host => 'localhost',
22
- :username => '',
23
- :password => '',
24
- :database => '',
27
+ :adapter => '<%= PROJECT_SETTINGS[:database][:adapter] %>',
28
+ :username => '<%= PROJECT_SETTINGS[:database][:username] %>',
29
+ :password => '<%= PROJECT_SETTINGS[:database][:password] %>',
30
+ :database => '<%= PROJECT_SETTINGS[:database][:database] %>',
25
31
  :test => true,
26
- :encoding => 'utf8',
27
- :logger => Ramaze::Logger::RotatingInformer.new(
28
- __DIR__("../log/database/dev"), '%d-%m-%Y.log'
29
- )
32
+ :encoding => 'utf8'
30
33
  )
31
34
 
32
- # IMPORTANT, when running MySQL the engine should be set to InnoDB in order for
33
- # foreign keys to work properly.
35
+ # When running MySQL the engine should be set to InnoDB in order for foreign
36
+ # keys to work properly.
34
37
  if Zen.database.adapter_scheme.to_s.include?('mysql')
35
38
  Sequel::MySQL.default_engine = 'InnoDB'
36
39
  end
@@ -6,7 +6,7 @@
6
6
  # For development purposes we'll be loading various middlewares to make it
7
7
  # easier to detect errors, reloading the code and so on.
8
8
  #
9
- Ramaze.middleware! :dev do |m|
9
+ Ramaze.middleware!(:dev) do |m|
10
10
  # Rack::Lint is used to validate all code according to the Rack specification.
11
11
  # It's not recommended to use this middleware in a production environment as
12
12
  # it will slow your application down a bit.
@@ -0,0 +1,25 @@
1
+ <!DOCTYPE HTML>
2
+ <html lang="#{get_setting(:frontend_language).value}">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+
6
+ <title>#{get_setting(:website_name).value}</title>
7
+ </head>
8
+ <body>
9
+ <h1>#{get_setting(:website_name).value}</h1>
10
+
11
+ <p>
12
+ Congratulations, you have successfully set up your Zen application.
13
+ For more information on how to create a website using Zen you should
14
+ take a look at the
15
+ <a href="http://zen-cms.com/documentation/index.html">
16
+ documentation
17
+ </a>.
18
+ </p>
19
+
20
+ <p>
21
+ If you want to log in instead you can do so by going to the
22
+ <a href="/admin/users/login">admin panel</a>.
23
+ </p>
24
+ </body>
25
+ </html>
@@ -0,0 +1,19 @@
1
+ # Registers a new theme to use for this project. See
2
+ # http://zen-cms.com/documentation/Zen/Theme.html for more information on all
3
+ # the available options and working with themes in general.
4
+ Zen::Theme.add do |theme|
5
+ # The unique name of the theme specified as a symbol (required).
6
+ theme.name = :default
7
+
8
+ # The name of the author of the theme (required).
9
+ theme.author = 'Zen'
10
+
11
+ # A URL that points to a website/web page related to the theme.
12
+ theme.url = 'http://zen-cms.com/'
13
+
14
+ # A short description of the theme (required).
15
+ theme.about = 'The default theme for Zen.'
16
+
17
+ # The directory containing all the templates (required).
18
+ theme.templates = __DIR__
19
+ end
File without changes
data/proto/migration.rb CHANGED
@@ -1,11 +1,9 @@
1
1
  Sequel.migration do
2
- # Updates the database with the changes specified in the block.
3
2
  up do
4
-
3
+
5
4
  end
6
-
7
- # Reverts the changes made in the up() block.
5
+
8
6
  down do
9
-
7
+
10
8
  end
11
9
  end
@@ -0,0 +1,41 @@
1
+ ---
2
+ # Configuration file for Thin. Thin can be installed by running the following
3
+ # shell command:
4
+ #
5
+ # $ gem install thin
6
+ #
7
+ # Once installed you can use the thin shell command to start/stop your
8
+ # application.
9
+
10
+ # Listen to 0.0.0.0:7000 by default.
11
+ port: 7000
12
+
13
+ # If you want to use a Unix socket instead uncomment the line below and make
14
+ # sure that the path points to a valid Unix socket.
15
+ #
16
+ # socket: 'path/to/socket'
17
+
18
+ # When set to true Thin will detach itself from the terminal and run as a
19
+ # daemon.
20
+ daemonize: false
21
+
22
+ # Path to the PID file to use for each Thin worker.
23
+ pid: tmp/thin.pid
24
+
25
+ # The user and group to use for each Thin process. It is recommended that you
26
+ # run your application using its own user and group.
27
+ #
28
+ # user: 'username'
29
+ # group: 'groupname'
30
+
31
+ # The amount of worker processes to start. It's very important to remember that
32
+ # setting this option above 1 requires you to use a Ramaze cache that stores
33
+ # it's data outside of each process' memory. An example of such a cache is
34
+ # Ramaze::Cache::MemCache. When doing so you should set the following caches:
35
+ #
36
+ # * Ramaze::Cache.options.session
37
+ # * Ramaze::Cache.options.settings
38
+ #
39
+ # Without this data will not be synced between Unicorn workers causing all kind
40
+ # of weird things to happen.
41
+ servers: 1
@@ -0,0 +1,38 @@
1
+ # Configuration file for Unicorn. Unicorn can be installed by running the
2
+ # following shell command:
3
+ #
4
+ # $ gem install unicorn
5
+ #
6
+ # After it's installed you can use it by invoking the unicorn shell command.
7
+ #
8
+ # For more information on all the available options see the following page:
9
+ # http://unicorn.bogomips.org/Unicorn/Configurator.html
10
+
11
+ # The working_directory option contains the path to the directory of your
12
+ # application.
13
+ working_directory File.expand_path('../../', __FILE__)
14
+
15
+ # The amount of worker processes to start. It's very important to remember that
16
+ # setting this option above 1 requires you to use a Ramaze cache that stores
17
+ # it's data outside of each process' memory. An example of such a cache is
18
+ # Ramaze::Cache::MemCache. When doing so you should set the following caches:
19
+ #
20
+ # * Ramaze::Cache.options.session
21
+ # * Ramaze::Cache.options.settings
22
+ #
23
+ # Without this data will not be synced between Unicorn workers causing all kind
24
+ # of weird things to happen.
25
+ worker_processes 1
26
+
27
+ # Listen to localhost:7000 by default. You can specify either a port or a path
28
+ # to a Unix socket.
29
+ listen 7000
30
+
31
+ # The user and user group to use for the application. It is recommended that you
32
+ # run the application using a dedicated user.
33
+ # user 'USER', 'GROUP'
34
+
35
+ # Path to the file that will contain the PID of each unicorn worker. If you're
36
+ # running multiple workers Unicorn will create multiple PIDs using the specified
37
+ # name and suffix them with a number.
38
+ pid File.expand_path('../../tmp/unicorn.pid', __FILE__)