zen 0.1a → 0.2

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 (414) hide show
  1. data/CHANGELOG.md +17 -0
  2. data/MANIFEST +161 -264
  3. data/README.md +114 -0
  4. data/ROADMAP.md +31 -0
  5. data/Thorfile +8 -0
  6. data/lib/zen.rb +13 -10
  7. data/lib/zen/base/database.rb +34 -28
  8. data/lib/zen/base/language.rb +174 -92
  9. data/lib/zen/base/logger.rb +8 -6
  10. data/lib/zen/base/package.rb +36 -29
  11. data/lib/zen/base/version.rb +2 -1
  12. data/lib/zen/bin/zen_binary.rb +7 -71
  13. data/lib/zen/controller/admin_controller.rb +31 -11
  14. data/lib/zen/controller/base_controller.rb +13 -13
  15. data/lib/zen/controller/frontend_controller.rb +2 -0
  16. data/lib/zen/controller/main_controller.rb +9 -8
  17. data/lib/zen/helper/acl.rb +4 -1
  18. data/lib/zen/helper/asset.rb +5 -3
  19. data/lib/zen/helper/breadcrumb.rb +10 -8
  20. data/lib/zen/helper/common.rb +28 -13
  21. data/lib/zen/language/en/zen_general.yml +31 -0
  22. data/lib/zen/language/en/zen_models.yml +13 -0
  23. data/lib/zen/layout/admin.xhtml +76 -68
  24. data/lib/zen/layout/login.xhtml +48 -42
  25. data/lib/zen/liquid/controller_behavior.rb +2 -0
  26. data/lib/zen/liquid/general.rb +60 -9
  27. data/lib/zen/liquid/redirect.rb +29 -6
  28. data/lib/zen/liquid/strip.rb +3 -1
  29. data/lib/zen/model/methods.rb +7 -5
  30. data/lib/zen/model/settings.rb +69 -18
  31. data/lib/zen/package/all.rb +7 -0
  32. data/lib/zen/{packages → package}/categories/lib/categories.rb +3 -3
  33. data/lib/zen/package/categories/lib/categories/controller/categories.rb +250 -0
  34. data/lib/zen/package/categories/lib/categories/controller/category_groups.rb +216 -0
  35. data/lib/zen/package/categories/lib/categories/language/en/categories.yml +35 -0
  36. data/lib/zen/package/categories/lib/categories/language/en/category_groups.yml +32 -0
  37. data/lib/zen/package/categories/lib/categories/liquid/categories.rb +16 -0
  38. data/lib/zen/{packages → package}/categories/lib/categories/model/category.rb +9 -9
  39. data/lib/zen/{packages → package}/categories/lib/categories/model/category_group.rb +6 -4
  40. data/lib/zen/package/categories/lib/categories/view/admin/categories/edit.xhtml +7 -0
  41. data/lib/zen/package/categories/lib/categories/view/admin/categories/form.xhtml +59 -0
  42. data/lib/zen/package/categories/lib/categories/view/admin/categories/index.xhtml +78 -0
  43. data/lib/zen/package/categories/lib/categories/view/admin/categories/new.xhtml +7 -0
  44. data/lib/zen/package/categories/lib/categories/view/admin/category-groups/edit.xhtml +7 -0
  45. data/lib/zen/package/categories/lib/categories/view/admin/category-groups/form.xhtml +31 -0
  46. data/lib/zen/package/categories/lib/categories/view/admin/category-groups/index.xhtml +85 -0
  47. data/lib/zen/package/categories/lib/categories/view/admin/category-groups/new.xhtml +7 -0
  48. data/lib/zen/{packages → package}/categories/migrations/.gitkeep +0 -0
  49. data/lib/zen/{packages → package}/categories/migrations/1295282303_create_schema.rb +3 -2
  50. data/lib/zen/{packages → package}/comments/lib/comments.rb +1 -1
  51. data/lib/zen/{packages → package}/comments/lib/comments/controller/comments.rb +81 -41
  52. data/lib/zen/{packages → package}/comments/lib/comments/controller/comments_form.rb +15 -13
  53. data/lib/zen/package/comments/lib/comments/language/en/comments.yml +42 -0
  54. data/lib/zen/{packages → package}/comments/lib/comments/liquid/comment_form.rb +43 -13
  55. data/lib/zen/{packages → package}/comments/lib/comments/liquid/comments.rb +10 -12
  56. data/lib/zen/{packages → package}/comments/lib/comments/model/comment.rb +24 -0
  57. data/lib/zen/package/comments/lib/comments/view/admin/comments/edit.xhtml +7 -0
  58. data/lib/zen/package/comments/lib/comments/view/admin/comments/form.xhtml +57 -0
  59. data/lib/zen/package/comments/lib/comments/view/admin/comments/index.xhtml +79 -0
  60. data/lib/zen/{packages → package}/comments/migrations/.gitkeep +0 -0
  61. data/lib/zen/{packages → package}/comments/migrations/1295282202_create_schema.rb +6 -4
  62. data/lib/zen/{packages → package}/custom_fields/lib/custom_fields.rb +2 -2
  63. data/lib/zen/package/custom_fields/lib/custom_fields/controller/custom_field_groups.rb +224 -0
  64. data/lib/zen/package/custom_fields/lib/custom_fields/controller/custom_fields.rb +259 -0
  65. data/lib/zen/package/custom_fields/lib/custom_fields/language/en/custom_field_groups.yml +32 -0
  66. data/lib/zen/package/custom_fields/lib/custom_fields/language/en/custom_fields.yml +52 -0
  67. data/lib/zen/{packages → package}/custom_fields/lib/custom_fields/model/custom_field.rb +12 -7
  68. data/lib/zen/{packages → package}/custom_fields/lib/custom_fields/model/custom_field_group.rb +14 -4
  69. data/lib/zen/{packages → package}/custom_fields/lib/custom_fields/model/custom_field_value.rb +4 -2
  70. data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-groups/edit.xhtml +7 -0
  71. data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-groups/form.xhtml +30 -0
  72. data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-groups/index.xhtml +100 -0
  73. data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-groups/new.xhtml +7 -0
  74. data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-fields/edit.xhtml +7 -0
  75. data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-fields/form.xhtml +107 -0
  76. data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-fields/index.xhtml +84 -0
  77. data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-fields/new.xhtml +7 -0
  78. data/lib/zen/{packages → package}/custom_fields/migrations/.gitkeep +0 -0
  79. data/lib/zen/{packages → package}/custom_fields/migrations/1295255665_create_schema.rb +8 -7
  80. data/lib/zen/package/menus/lib/menus.rb +59 -0
  81. data/lib/zen/package/menus/lib/menus/controller/menu_items.rb +244 -0
  82. data/lib/zen/package/menus/lib/menus/controller/menus.rb +231 -0
  83. data/lib/zen/package/menus/lib/menus/helper/menu_item.rb +93 -0
  84. data/lib/zen/package/menus/lib/menus/language/en/menu_items.yml +41 -0
  85. data/lib/zen/package/menus/lib/menus/language/en/menus.yml +39 -0
  86. data/lib/zen/package/menus/lib/menus/liquid/menus.rb +152 -0
  87. data/lib/zen/package/menus/lib/menus/model/menu.rb +38 -0
  88. data/lib/zen/package/menus/lib/menus/model/menu_item.rb +33 -0
  89. data/lib/zen/package/menus/lib/menus/view/admin/menu-items/edit.xhtml +7 -0
  90. data/lib/zen/package/menus/lib/menus/view/admin/menu-items/form.xhtml +64 -0
  91. data/lib/zen/package/menus/lib/menus/view/admin/menu-items/index.xhtml +84 -0
  92. data/lib/zen/package/menus/lib/menus/view/admin/menu-items/new.xhtml +7 -0
  93. data/lib/zen/package/menus/lib/menus/view/admin/menus/edit.xhtml +7 -0
  94. data/lib/zen/package/menus/lib/menus/view/admin/menus/form.xhtml +42 -0
  95. data/lib/zen/package/menus/lib/menus/view/admin/menus/index.xhtml +95 -0
  96. data/lib/zen/package/menus/lib/menus/view/admin/menus/new.xhtml +7 -0
  97. data/lib/zen/{packages/sections → package/menus}/migrations/.gitkeep +0 -0
  98. data/lib/zen/package/menus/migrations/1297184342_create_schema.rb +33 -0
  99. data/lib/zen/{packages → package}/sections/lib/sections.rb +0 -0
  100. data/lib/zen/{packages → package}/sections/lib/sections/controller/section_entries.rb +132 -68
  101. data/lib/zen/{packages → package}/sections/lib/sections/controller/sections.rb +96 -48
  102. data/lib/zen/package/sections/lib/sections/language/en/section_entries.yml +43 -0
  103. data/lib/zen/package/sections/lib/sections/language/en/sections.yml +48 -0
  104. data/lib/zen/{packages → package}/sections/lib/sections/liquid/section_entries.rb +55 -43
  105. data/lib/zen/{packages → package}/sections/lib/sections/liquid/sections.rb +9 -8
  106. data/lib/zen/package/sections/lib/sections/model/section.rb +62 -0
  107. data/lib/zen/package/sections/lib/sections/model/section_entry.rb +53 -0
  108. data/lib/zen/package/sections/lib/sections/view/admin/edit.xhtml +7 -0
  109. data/lib/zen/package/sections/lib/sections/view/admin/form.xhtml +107 -0
  110. data/lib/zen/package/sections/lib/sections/view/admin/index.xhtml +93 -0
  111. data/lib/zen/package/sections/lib/sections/view/admin/new.xhtml +7 -0
  112. data/lib/zen/package/sections/lib/sections/view/admin/section-entries/edit.xhtml +7 -0
  113. data/lib/zen/package/sections/lib/sections/view/admin/section-entries/form.xhtml +233 -0
  114. data/lib/zen/package/sections/lib/sections/view/admin/section-entries/index.xhtml +82 -0
  115. data/lib/zen/package/sections/lib/sections/view/admin/section-entries/new.xhtml +7 -0
  116. data/lib/zen/{packages/settings → package/sections}/migrations/.gitkeep +0 -0
  117. data/lib/zen/{packages → package}/sections/migrations/1295251836_create_schema.rb +6 -6
  118. data/lib/zen/{packages → package}/settings/lib/settings.rb +0 -0
  119. data/lib/zen/{packages → package}/settings/lib/settings/controller/settings.rb +33 -24
  120. data/lib/zen/package/settings/lib/settings/language/en/settings.yml +26 -0
  121. data/lib/zen/{packages → package}/settings/lib/settings/liquid/setting.rb +5 -3
  122. data/lib/zen/package/settings/lib/settings/model/setting.rb +113 -0
  123. data/lib/zen/package/settings/lib/settings/view/admin/settings/index.xhtml +111 -0
  124. data/lib/zen/{packages/users → package/settings}/migrations/.gitkeep +0 -0
  125. data/lib/zen/{packages → package}/settings/migrations/1295597111_create_schema.rb +2 -2
  126. data/lib/zen/package/settings/migrations/1299538742_add_language_key.rb +62 -0
  127. data/lib/zen/{packages → package}/users/lib/users.rb +6 -2
  128. data/lib/zen/package/users/lib/users/controller/access_rules.rb +238 -0
  129. data/lib/zen/package/users/lib/users/controller/user_groups.rb +217 -0
  130. data/lib/zen/{packages → package}/users/lib/users/controller/users.rb +115 -57
  131. data/lib/zen/package/users/lib/users/language/en/access_rules.yml +35 -0
  132. data/lib/zen/package/users/lib/users/language/en/user_groups.yml +31 -0
  133. data/lib/zen/package/users/lib/users/language/en/users.yml +50 -0
  134. data/lib/zen/{packages → package}/users/lib/users/liquid/user.rb +8 -6
  135. data/lib/zen/{packages → package}/users/lib/users/liquid/users.rb +5 -3
  136. data/lib/zen/{packages → package}/users/lib/users/model/access_rule.rb +11 -3
  137. data/lib/zen/{packages → package}/users/lib/users/model/user.rb +5 -1
  138. data/lib/zen/{packages → package}/users/lib/users/model/user_group.rb +6 -3
  139. data/lib/zen/package/users/lib/users/public/admin/js/users/access_rules.js +42 -0
  140. data/lib/zen/package/users/lib/users/view/admin/access-rules/edit.xhtml +7 -0
  141. data/lib/zen/package/users/lib/users/view/admin/access-rules/form.xhtml +108 -0
  142. data/lib/zen/package/users/lib/users/view/admin/access-rules/index.xhtml +93 -0
  143. data/lib/zen/package/users/lib/users/view/admin/access-rules/new.xhtml +7 -0
  144. data/lib/zen/package/users/lib/users/view/admin/user-groups/edit.xhtml +7 -0
  145. data/lib/zen/package/users/lib/users/view/admin/user-groups/form.xhtml +37 -0
  146. data/lib/zen/package/users/lib/users/view/admin/user-groups/index.xhtml +76 -0
  147. data/lib/zen/package/users/lib/users/view/admin/user-groups/new.xhtml +7 -0
  148. data/lib/zen/package/users/lib/users/view/admin/users/edit.xhtml +7 -0
  149. data/lib/zen/package/users/lib/users/view/admin/users/form.xhtml +53 -0
  150. data/lib/zen/package/users/lib/users/view/admin/users/index.xhtml +81 -0
  151. data/lib/zen/package/users/lib/users/view/admin/users/login.xhtml +27 -0
  152. data/lib/zen/package/users/lib/users/view/admin/users/new.xhtml +7 -0
  153. data/{pkg → lib/zen/package/users/migrations}/.gitkeep +0 -0
  154. data/lib/zen/{packages → package}/users/migrations/1295281013_create_schema.rb +2 -2
  155. data/lib/zen/public/admin/css/boilerplate.css +62 -60
  156. data/lib/zen/public/admin/css/buttons.css +46 -0
  157. data/lib/zen/public/admin/css/datepicker.css +163 -0
  158. data/lib/zen/public/admin/css/editor.css +91 -0
  159. data/lib/zen/public/admin/css/forms.css +68 -0
  160. data/lib/zen/public/admin/css/general.css +34 -419
  161. data/lib/zen/public/admin/css/grid.css +26 -26
  162. data/lib/zen/public/admin/css/layout.css +73 -62
  163. data/lib/zen/public/admin/css/modals.css +63 -0
  164. data/lib/zen/public/admin/css/notifications.css +84 -0
  165. data/lib/zen/public/admin/css/tables.css +71 -0
  166. data/lib/zen/public/admin/css/tabs.css +53 -0
  167. data/lib/zen/public/admin/js/mootools/more.js +139 -51
  168. data/lib/zen/public/admin/js/vendor/datepicker/Picker.Attach.js +137 -0
  169. data/lib/zen/public/admin/js/vendor/datepicker/Picker.Date.js +576 -0
  170. data/lib/zen/public/admin/js/vendor/datepicker/Picker.js +291 -0
  171. data/lib/zen/public/admin/js/vendor/datepicker/README.md +325 -0
  172. data/lib/zen/public/admin/js/vendor/datepicker/locale.js +16 -0
  173. data/lib/zen/public/admin/js/zen/editor/base.js +173 -183
  174. data/lib/zen/public/admin/js/zen/editor/drivers/html.js +74 -89
  175. data/lib/zen/public/admin/js/zen/editor/drivers/markdown.js +72 -87
  176. data/lib/zen/public/admin/js/zen/editor/drivers/textile.js +72 -87
  177. data/lib/zen/public/admin/js/zen/init.js +65 -51
  178. data/lib/zen/public/admin/js/zen/modal.js +108 -121
  179. data/lib/zen/public/admin/js/zen/notification.js +163 -165
  180. data/lib/zen/public/admin/js/zen/tabs.js +203 -210
  181. data/lib/zen/task/build.rb +123 -0
  182. data/lib/zen/task/clean.rb +46 -0
  183. data/lib/zen/task/db.rb +120 -0
  184. data/lib/zen/task/package.rb +82 -0
  185. data/lib/zen/task/proto.rb +116 -0
  186. data/{LICENSE → license.txt} +2 -2
  187. data/proto/app/Thorfile +4 -0
  188. data/proto/app/config/middlewares.rb +3 -3
  189. data/proto/app/config/requires.rb +1 -6
  190. data/proto/app/start.rb +5 -10
  191. data/{lib/zen/packages/settings → proto/package}/LICENSE +0 -0
  192. data/{lib/zen/packages/categories → proto/package}/README.textile +0 -0
  193. data/proto/package/lib/package.rb +41 -0
  194. data/proto/{module/lib/module → package/lib/package}/controller/controllers.rb +3 -2
  195. data/proto/{module/lib/module → package/lib/package}/language/en/languages.rb +0 -0
  196. data/proto/{module/lib/module → package/lib/package}/model/model.rb +0 -0
  197. data/proto/{module/lib/module/view/admin → package/lib/package/view/admin/package}/edit.xhtml +0 -0
  198. data/proto/{module/lib/module/view/admin → package/lib/package/view/admin/package}/form.xhtml +0 -0
  199. data/proto/{module/lib/module/view/admin → package/lib/package/view/admin/package}/index.xhtml +0 -0
  200. data/proto/{module/lib/module/view/admin → package/lib/package/view/admin/package}/new.xhtml +0 -0
  201. data/proto/{module → package}/migrations/.gitkeep +0 -0
  202. metadata +199 -280
  203. data/README.textile +0 -42
  204. data/Rakefile +0 -6
  205. data/doc/Categories.html +0 -93
  206. data/doc/Categories/Controllers.html +0 -93
  207. data/doc/Categories/Controllers/Categories.html +0 -995
  208. data/doc/Categories/Controllers/CategoryGroups.html +0 -878
  209. data/doc/Categories/Models.html +0 -97
  210. data/doc/Categories/Models/Category.html +0 -269
  211. data/doc/Categories/Models/CategoryGroup.html +0 -231
  212. data/doc/Comments.html +0 -93
  213. data/doc/Comments/Controllers.html +0 -93
  214. data/doc/Comments/Controllers/Comments.html +0 -797
  215. data/doc/Comments/Controllers/CommentsForm.html +0 -487
  216. data/doc/Comments/Liquid.html +0 -93
  217. data/doc/Comments/Liquid/CommentForm.html +0 -522
  218. data/doc/Comments/Liquid/Comments.html +0 -543
  219. data/doc/Comments/Models.html +0 -95
  220. data/doc/Comments/Models/Comment.html +0 -260
  221. data/doc/CustomFields.html +0 -93
  222. data/doc/CustomFields/Controllers.html +0 -93
  223. data/doc/CustomFields/Controllers/CustomFieldGroups.html +0 -902
  224. data/doc/CustomFields/Controllers/CustomFields.html +0 -974
  225. data/doc/CustomFields/Models.html +0 -97
  226. data/doc/CustomFields/Models/CustomField.html +0 -272
  227. data/doc/CustomFields/Models/CustomFieldGroup.html +0 -259
  228. data/doc/CustomFields/Models/CustomFieldValue.html +0 -154
  229. data/doc/Ramaze.html +0 -93
  230. data/doc/Ramaze/Helper.html +0 -93
  231. data/doc/Ramaze/Helper/ACL.html +0 -531
  232. data/doc/Ramaze/Helper/Asset.html +0 -617
  233. data/doc/Ramaze/Helper/Breadcrumb.html +0 -411
  234. data/doc/Ramaze/Helper/Common.html +0 -738
  235. data/doc/Sections.html +0 -93
  236. data/doc/Sections/Controllers.html +0 -93
  237. data/doc/Sections/Controllers/SectionEntries.html +0 -1100
  238. data/doc/Sections/Controllers/Sections.html +0 -953
  239. data/doc/Sections/Liquid.html +0 -93
  240. data/doc/Sections/Liquid/SectionEntries.html +0 -674
  241. data/doc/Sections/Liquid/Sections.html +0 -494
  242. data/doc/Sections/Models.html +0 -97
  243. data/doc/Sections/Models/Section.html +0 -272
  244. data/doc/Sections/Models/SectionEntry.html +0 -264
  245. data/doc/Sequel.html +0 -91
  246. data/doc/Sequel/Model.html +0 -243
  247. data/doc/Settings.html +0 -93
  248. data/doc/Settings/Controllers.html +0 -91
  249. data/doc/Settings/Controllers/Settings.html +0 -565
  250. data/doc/Settings/Liquid.html +0 -91
  251. data/doc/Settings/Liquid/Setting.html +0 -426
  252. data/doc/Settings/Models.html +0 -95
  253. data/doc/Settings/Models/Setting.html +0 -293
  254. data/doc/Users.html +0 -93
  255. data/doc/Users/Controllers.html +0 -93
  256. data/doc/Users/Controllers/AccessRules.html +0 -904
  257. data/doc/Users/Controllers/UserGroups.html +0 -879
  258. data/doc/Users/Controllers/Users.html +0 -1124
  259. data/doc/Users/Liquid.html +0 -93
  260. data/doc/Users/Liquid/User.html +0 -480
  261. data/doc/Users/Liquid/Users.html +0 -495
  262. data/doc/Users/Models.html +0 -97
  263. data/doc/Users/Models/AccessRule.html +0 -257
  264. data/doc/Users/Models/User.html +0 -649
  265. data/doc/Users/Models/UserGroup.html +0 -267
  266. data/doc/Zen.html +0 -391
  267. data/doc/Zen/Bin.html +0 -113
  268. data/doc/Zen/Bin/Base.html +0 -727
  269. data/doc/Zen/Controllers.html +0 -115
  270. data/doc/Zen/Controllers/AdminController.html +0 -298
  271. data/doc/Zen/Controllers/BaseController.html +0 -272
  272. data/doc/Zen/Controllers/FrontendController.html +0 -164
  273. data/doc/Zen/Controllers/MainController.html +0 -421
  274. data/doc/Zen/Database.html +0 -498
  275. data/doc/Zen/Language.html +0 -660
  276. data/doc/Zen/Liquid.html +0 -117
  277. data/doc/Zen/Liquid/ControllerBehavior.html +0 -448
  278. data/doc/Zen/Liquid/General.html +0 -444
  279. data/doc/Zen/Liquid/Redirect.html +0 -435
  280. data/doc/Zen/Liquid/Strip.html +0 -447
  281. data/doc/Zen/Logger.html +0 -393
  282. data/doc/Zen/Package.html +0 -909
  283. data/doc/_index.html +0 -724
  284. data/doc/class_list.html +0 -36
  285. data/doc/css/common.css +0 -1
  286. data/doc/css/full_list.css +0 -53
  287. data/doc/css/style.css +0 -310
  288. data/doc/file.README.html +0 -86
  289. data/doc/file_list.html +0 -38
  290. data/doc/frames.html +0 -13
  291. data/doc/index.html +0 -86
  292. data/doc/js/app.js +0 -203
  293. data/doc/js/full_list.js +0 -149
  294. data/doc/js/jquery.js +0 -154
  295. data/doc/method_list.html +0 -1139
  296. data/doc/top-level-namespace.html +0 -88
  297. data/lib/zen/language/en/zen_general.rb +0 -21
  298. data/lib/zen/language/en/zen_models.rb +0 -39
  299. data/lib/zen/packages/categories/LICENSE +0 -19
  300. data/lib/zen/packages/categories/lib/categories/controller/categories.rb +0 -202
  301. data/lib/zen/packages/categories/lib/categories/controller/category_groups.rb +0 -173
  302. data/lib/zen/packages/categories/lib/categories/language/en/categories.rb +0 -38
  303. data/lib/zen/packages/categories/lib/categories/language/en/category_groups.rb +0 -37
  304. data/lib/zen/packages/categories/lib/categories/view/admin/categories/edit.xhtml +0 -7
  305. data/lib/zen/packages/categories/lib/categories/view/admin/categories/form.xhtml +0 -36
  306. data/lib/zen/packages/categories/lib/categories/view/admin/categories/index.xhtml +0 -70
  307. data/lib/zen/packages/categories/lib/categories/view/admin/categories/new.xhtml +0 -7
  308. data/lib/zen/packages/categories/lib/categories/view/admin/category_groups/edit.xhtml +0 -7
  309. data/lib/zen/packages/categories/lib/categories/view/admin/category_groups/form.xhtml +0 -18
  310. data/lib/zen/packages/categories/lib/categories/view/admin/category_groups/index.xhtml +0 -72
  311. data/lib/zen/packages/categories/lib/categories/view/admin/category_groups/new.xhtml +0 -7
  312. data/lib/zen/packages/comments/LICENSE +0 -19
  313. data/lib/zen/packages/comments/README.textile +0 -0
  314. data/lib/zen/packages/comments/lib/comments/language/en/comments.rb +0 -52
  315. data/lib/zen/packages/comments/lib/comments/view/admin/comments/edit.xhtml +0 -7
  316. data/lib/zen/packages/comments/lib/comments/view/admin/comments/form.xhtml +0 -31
  317. data/lib/zen/packages/comments/lib/comments/view/admin/comments/index.xhtml +0 -74
  318. data/lib/zen/packages/comments/migrations/1296949631_add_defensio_signature.rb +0 -11
  319. data/lib/zen/packages/custom_fields/LICENSE +0 -19
  320. data/lib/zen/packages/custom_fields/README.textile +0 -0
  321. data/lib/zen/packages/custom_fields/lib/custom_fields/controller/custom_field_groups.rb +0 -179
  322. data/lib/zen/packages/custom_fields/lib/custom_fields/controller/custom_fields.rb +0 -194
  323. data/lib/zen/packages/custom_fields/lib/custom_fields/language/en/custom_field_groups.rb +0 -45
  324. data/lib/zen/packages/custom_fields/lib/custom_fields/language/en/custom_fields.rb +0 -64
  325. data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_field_groups/edit.xhtml +0 -7
  326. data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_field_groups/form.xhtml +0 -18
  327. data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_field_groups/index.xhtml +0 -88
  328. data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_field_groups/new.xhtml +0 -7
  329. data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_fields/edit.xhtml +0 -7
  330. data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_fields/form.xhtml +0 -50
  331. data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_fields/index.xhtml +0 -75
  332. data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_fields/new.xhtml +0 -7
  333. data/lib/zen/packages/sections/LICENSE +0 -19
  334. data/lib/zen/packages/sections/README.textile +0 -43
  335. data/lib/zen/packages/sections/lib/sections/language/en/section_entries.rb +0 -58
  336. data/lib/zen/packages/sections/lib/sections/language/en/sections.rb +0 -63
  337. data/lib/zen/packages/sections/lib/sections/model/section.rb +0 -43
  338. data/lib/zen/packages/sections/lib/sections/model/section_entry.rb +0 -43
  339. data/lib/zen/packages/sections/lib/sections/view/admin/edit.xhtml +0 -7
  340. data/lib/zen/packages/sections/lib/sections/view/admin/form.xhtml +0 -54
  341. data/lib/zen/packages/sections/lib/sections/view/admin/index.xhtml +0 -77
  342. data/lib/zen/packages/sections/lib/sections/view/admin/new.xhtml +0 -7
  343. data/lib/zen/packages/sections/lib/sections/view/admin/section_entries/edit.xhtml +0 -7
  344. data/lib/zen/packages/sections/lib/sections/view/admin/section_entries/form.xhtml +0 -147
  345. data/lib/zen/packages/sections/lib/sections/view/admin/section_entries/index.xhtml +0 -74
  346. data/lib/zen/packages/sections/lib/sections/view/admin/section_entries/new.xhtml +0 -7
  347. data/lib/zen/packages/sections/migrations/1296335671_userdata_section_entries.rb +0 -18
  348. data/lib/zen/packages/sections/migrations/1296936110_drop_comment_antispam.rb +0 -11
  349. data/lib/zen/packages/settings/README.textile +0 -0
  350. data/lib/zen/packages/settings/lib/settings/language/en/settings.rb +0 -56
  351. data/lib/zen/packages/settings/lib/settings/model/setting.rb +0 -38
  352. data/lib/zen/packages/settings/lib/settings/view/admin/settings/index.xhtml +0 -79
  353. data/lib/zen/packages/users/LICENSE +0 -19
  354. data/lib/zen/packages/users/README.textile +0 -0
  355. data/lib/zen/packages/users/lib/users/controller/access_rules.rb +0 -186
  356. data/lib/zen/packages/users/lib/users/controller/user_groups.rb +0 -171
  357. data/lib/zen/packages/users/lib/users/language/en/access_rules.rb +0 -49
  358. data/lib/zen/packages/users/lib/users/language/en/user_groups.rb +0 -42
  359. data/lib/zen/packages/users/lib/users/language/en/users.rb +0 -63
  360. data/lib/zen/packages/users/lib/users/public/admin/js/users/access_rules.js +0 -43
  361. data/lib/zen/packages/users/lib/users/view/admin/access_rules/edit.xhtml +0 -7
  362. data/lib/zen/packages/users/lib/users/view/admin/access_rules/form.xhtml +0 -68
  363. data/lib/zen/packages/users/lib/users/view/admin/access_rules/index.xhtml +0 -85
  364. data/lib/zen/packages/users/lib/users/view/admin/access_rules/new.xhtml +0 -7
  365. data/lib/zen/packages/users/lib/users/view/admin/user_groups/edit.xhtml +0 -7
  366. data/lib/zen/packages/users/lib/users/view/admin/user_groups/form.xhtml +0 -19
  367. data/lib/zen/packages/users/lib/users/view/admin/user_groups/index.xhtml +0 -69
  368. data/lib/zen/packages/users/lib/users/view/admin/user_groups/new.xhtml +0 -7
  369. data/lib/zen/packages/users/lib/users/view/admin/users/edit.xhtml +0 -7
  370. data/lib/zen/packages/users/lib/users/view/admin/users/form.xhtml +0 -25
  371. data/lib/zen/packages/users/lib/users/view/admin/users/index.xhtml +0 -73
  372. data/lib/zen/packages/users/lib/users/view/admin/users/login.xhtml +0 -22
  373. data/lib/zen/packages/users/lib/users/view/admin/users/new.xhtml +0 -7
  374. data/lib/zen/tasks.rb +0 -6
  375. data/proto/app/Rakefile +0 -2
  376. data/proto/module/LICENSE +0 -0
  377. data/proto/module/README.textile +0 -0
  378. data/proto/module/lib/module.rb +0 -15
  379. data/spec/javascript/css/base.css +0 -177
  380. data/spec/javascript/css/style.css +0 -204
  381. data/spec/javascript/css/typography.css +0 -70
  382. data/spec/javascript/editor/index.html +0 -65
  383. data/spec/javascript/images/close.png +0 -0
  384. data/spec/javascript/images/info.png +0 -0
  385. data/spec/javascript/js/editor.js +0 -16
  386. data/spec/javascript/js/modal.js +0 -12
  387. data/spec/javascript/js/namespace.js +0 -2
  388. data/spec/javascript/js/notification.js +0 -43
  389. data/spec/javascript/js/tabs.js +0 -8
  390. data/spec/javascript/modal/index.html +0 -45
  391. data/spec/javascript/notification/index.html +0 -48
  392. data/spec/javascript/tabs/index.html +0 -73
  393. data/spec/javascript/tabs/tab_1.html +0 -1
  394. data/spec/javascript/tabs/tab_2.html +0 -1
  395. data/spec/zen/base/language.rb +0 -31
  396. data/spec/zen/base/logger.rb +0 -34
  397. data/spec/zen/base/package.rb +0 -47
  398. data/spec/zen/config/database.rb +0 -8
  399. data/spec/zen/helper/asset.rb +0 -26
  400. data/spec/zen/helper/breadcrumb.rb +0 -24
  401. data/spec/zen/language/en/general.rb +0 -4
  402. data/spec/zen/language/nl/general.rb +0 -4
  403. data/spec/zen/liquid/general.rb +0 -42
  404. data/spec/zen/logs/.gitkeep +0 -0
  405. data/spec/zen/spec.rb +0 -9
  406. data/spec/zen/spec_database.db +0 -0
  407. data/tasks/bacon.rake +0 -99
  408. data/tasks/build.rake +0 -72
  409. data/tasks/clean.rake +0 -18
  410. data/tasks/db.rake +0 -81
  411. data/tasks/doc.rake +0 -5
  412. data/tasks/extension.rake +0 -65
  413. data/tasks/proto.rake +0 -37
  414. data/tasks/theme.rake +0 -63
@@ -0,0 +1,123 @@
1
+ require 'fileutils'
2
+ require 'find'
3
+
4
+ module Zen
5
+ module Task
6
+ ##
7
+ # The Build class/task can be used to create the documentation, manifest, etc.
8
+ #
9
+ # @author Yorick Peterse
10
+ # @since 0.2
11
+ #
12
+ class Build < Thor
13
+ include Thor::Actions
14
+
15
+ namespace :build
16
+
17
+ desc 'gem', 'Builds a new RubyGem'
18
+
19
+ ##
20
+ # Builds a new version of the RubyGem and places it in ./pkg
21
+ #
22
+ # @author Yorick Peterse
23
+ # @since 0.2
24
+ #
25
+ def gem
26
+ zen_path = File.expand_path('../../../../', __FILE__)
27
+
28
+ # Build and install the gem
29
+ run("gem build #{zen_path}/zen.gemspec")
30
+ run("mv #{zen_path}/zen-#{Zen::Version}.gem #{zen_path}/pkg")
31
+ run("gem install #{zen_path}/pkg/zen-#{Zen::Version}.gem")
32
+ end
33
+
34
+ desc 'gem_clean', 'Builds a new RubyGem and uninstalls any current versions of Zen'
35
+
36
+ ##
37
+ # Builds a new version of the RubyGem and uninstalls any current versions of Zen.
38
+ #
39
+ # @author Yorick Peterse
40
+ # @since 0.2
41
+ #
42
+ def gem_clean
43
+ zen_path = File.expand_path('../../../../', __FILE__)
44
+
45
+ begin
46
+ run('gem uninstall zen')
47
+ rescue
48
+ puts "Failed to uninstall the gem, most likely it wasn't installed in the first place."
49
+ end
50
+
51
+ # Remove all logs files
52
+ log_dirs = Dir.glob(zen_path + '/spec/zen/log/**/*')
53
+
54
+ if !log_dirs.empty?
55
+ log_dirs.each do |dir|
56
+ # Ignore non-directory files
57
+ if File.directory?(dir)
58
+ FileUtils.rm_rf(dir)
59
+ end
60
+ end
61
+ end
62
+
63
+ self.gem
64
+ end
65
+
66
+ desc 'manifest', 'Builds the MANIFEST file'
67
+
68
+ ##
69
+ # Builds the MANIFEST file and places it in ./
70
+ #
71
+ # @author Yorick Peterse
72
+ # @since 0.2
73
+ #
74
+ def manifest
75
+ zen_path = File.expand_path('../../../../', __FILE__)
76
+
77
+ ignore_exts = ['.gem', '.gemspec']
78
+ ignore_files = ['.DS_Store', '.gitignore']
79
+ ignore_dirs = ['.git', '.yardoc', 'spec', 'pkg', 'doc']
80
+ files = ''
81
+
82
+ Find.find(zen_path) do |f|
83
+ f[zen_path] = ''
84
+ f.gsub!(/^\//, '')
85
+
86
+ # Ignore directories
87
+ if !File.directory?(f) and !ignore_exts.include?(File.extname(f)) and !ignore_files.include?(File.basename(f))
88
+ files += "#{f}\n"
89
+ else
90
+ Find.prune if ignore_dirs.include?(f)
91
+ end
92
+ end
93
+
94
+ # Time to write the MANIFEST file
95
+ begin
96
+ handle = File.open 'MANIFEST', 'w'
97
+ handle.write files.strip
98
+ abort "The MANIFEST file has been updated."
99
+ rescue
100
+ abort "The MANIFEST file could not be written."
101
+ end
102
+ end
103
+
104
+ desc 'doc', 'Builds the documentation using YARD'
105
+
106
+ ##
107
+ # Builds the documentation using YARD.
108
+ #
109
+ # @author Yorick Peterse
110
+ # @since 0.2
111
+ #
112
+ def doc
113
+ zen_path = File.expand_path('../../../../', __FILE__)
114
+ command = "yard doc #{zen_path}/lib -m markdown -M rdiscount -o #{zen_path}/doc "
115
+ command += "-r #{zen_path}/README.md --private --protected "
116
+ command += "--files #{zen_path}/license.txt,#{zen_path}/CHANGELOG.md,"
117
+ command += "#{zen_path}/ROADMAP.md"
118
+
119
+ run(command)
120
+ end
121
+ end
122
+ end
123
+ end
@@ -0,0 +1,46 @@
1
+ require 'fileutils'
2
+
3
+ module Zen
4
+ module Task
5
+ ##
6
+ # The Clean task can be used to remove various files from the repository.
7
+ #
8
+ # @author Yorick Peterse
9
+ # @since 0.2
10
+ #
11
+ class Clean < Thor
12
+ include Thor::Actions
13
+
14
+ namespace :clean
15
+
16
+ ##
17
+ # Removes all log files from the spec directory.
18
+ #
19
+ # @author Yorick Peterse
20
+ # @since 0.2
21
+ #
22
+ desc 'log', 'Removes all log files from the spec directory'
23
+ def log
24
+ zen_path = File.expand_path('../../../../', __FILE__)
25
+
26
+ log_files = Dir.glob("#{zen_path}/spec/log/**/*.log")
27
+ log_files.each { |file| File.unlink(file) }
28
+ end
29
+
30
+ ##
31
+ # Removes all files generated by YARD.
32
+ #
33
+ # @author Yorick Peterse
34
+ # @since 0.2
35
+ #
36
+ desc 'yard', 'Removes all files generated by YARD'
37
+ def yard
38
+ zen_path = File.expand_path('../../../../', __FILE__)
39
+
40
+ FileUtils.rm_rf("#{zen_path}/doc")
41
+ FileUtils.rm_rf("#{zen_path}/.yardoc")
42
+ end
43
+
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,120 @@
1
+ Sequel.extension(:migration)
2
+
3
+ module Zen
4
+ module Task
5
+ ##
6
+ # Task that can be used for various database related operations such as creating
7
+ # a default user and migrating the entire database.
8
+ #
9
+ # @author Yorick Peterse
10
+ # @since 0.2
11
+ #
12
+ class DB < Thor
13
+ namespace :db
14
+
15
+ desc('migrate', 'Migrates the entire database to the latest version')
16
+
17
+ ##
18
+ # Migrates the entire database to the latest version.
19
+ #
20
+ # @author Yorick Peterse
21
+ # @param [Boolean] show_output When set to false no output will be shown.
22
+ # @since 0.2
23
+ #
24
+ def migrate(show_output = true)
25
+ exts = Zen::Package.extensions
26
+
27
+ puts "Migrating..." if show_output === true
28
+
29
+ exts.each do |ident, ext|
30
+ dir = ext.directory + '/../../migrations'
31
+ table = ext.identifier.gsub('.', '_').to_sym
32
+
33
+ if File.directory?(dir)
34
+ Zen::Database.handle.transaction do
35
+ Sequel::Migrator.run(Zen::Database.handle, dir, :table => table)
36
+
37
+ puts "Successfully migrated \"#{ext.name}\"" if show_output === true
38
+ end
39
+ end
40
+ end
41
+ end
42
+
43
+ desc('delete', 'Deletes all database tables')
44
+
45
+ ##
46
+ # Deletes all database tables.
47
+ #
48
+ # @author Yorick Peterse
49
+ # @since 0.2
50
+ #
51
+ def delete
52
+ exts = Zen::Package.extensions.map { |ident, ext| [ident, ext] }
53
+
54
+ exts.reverse.each do |ident, ext|
55
+ dir = ext.directory + '/../../migrations'
56
+ table = ext.identifier.gsub('.', '_').to_sym
57
+
58
+ if File.directory?(dir)
59
+ Zen::Database.handle.transaction do
60
+ puts "Uninstalling \"#{ext.name}\""
61
+
62
+ Sequel::Migrator.run(Zen::Database.handle, dir, :table => table, :target => 0)
63
+
64
+ # Remove the migrations table
65
+ Zen::Database.handle.drop_table table
66
+ end
67
+ end
68
+ end
69
+ end
70
+
71
+ desc('user', 'Creates a default administrator account')
72
+
73
+ ##
74
+ # Creates a default administrator account.
75
+ #
76
+ # @author Yorick Peterse
77
+ # @since 0.2
78
+ #
79
+ def user
80
+ password = (0..12).map do
81
+ letter = ('a'..'z').to_a[rand(26)]
82
+ number = (0..9).to_a[rand(26)]
83
+
84
+ letter + number.to_s
85
+ end.join
86
+
87
+ # Only insert the user if it isn't there yet.
88
+ user = Users::Models::User[:email => 'admin@website.tld']
89
+ group = Users::Models::UserGroup[:slug => 'administrators']
90
+
91
+ if group.nil?
92
+ group = Users::Models::UserGroup.new(
93
+ :name => 'Administrators',
94
+ :slug => 'administrators', :super_group => true
95
+ ).save
96
+ end
97
+
98
+ if !user.nil?
99
+ abort "The default user has already been inserted."
100
+ end
101
+
102
+ user = Users::Models::User.new(
103
+ :email => 'admin@website.tld', :name => 'Administrator',
104
+ :password => password, :status => 'open'
105
+ ).save
106
+
107
+ user.user_group_pks = [group.id]
108
+
109
+ puts "Default administrator account has been created.
110
+
111
+ Email: admin@website.tld
112
+ Passowrd: #{password}
113
+
114
+ You can login by going to http://domain.tld/admin/users/login/
115
+ "
116
+
117
+ end
118
+ end
119
+ end
120
+ end
@@ -0,0 +1,82 @@
1
+ Sequel.extension(:migration)
2
+
3
+ module Zen
4
+ module Task
5
+ ##
6
+ # The Package task is used to install, delete and manage Zen packages.
7
+ #
8
+ # @author Yorick Peterse
9
+ # @since 0.2
10
+ #
11
+ class Package < Thor
12
+ namespace :package
13
+
14
+ desc('list', 'Lists all installed packages')
15
+
16
+ ##
17
+ # Lists all installed extensions.
18
+ #
19
+ # @author Yorick Peterse
20
+ # @since 0.2
21
+ #
22
+ def list
23
+ table = []
24
+ table.push(['Name', 'Author', 'Identifier', 'Version', 'Type', 'Directory'])
25
+ table.push(['------', '------', '------', '------', '------','------'])
26
+ packages = Zen::Package.extensions.merge(Zen::Package.themes)
27
+
28
+ packages.each do |ident, ext|
29
+ table.push([ext.name, ext.author, ext.identifier, ext.version.to_s, ext.type, ext.directory])
30
+ end
31
+
32
+ print_table(table)
33
+ end
34
+
35
+ desc('migrate', 'Migrates a package to the given version')
36
+
37
+ method_option(:version , :type => :numeric, :default => nil)
38
+ method_option(:identifier, :type => :string , :default => nil, :required => true)
39
+
40
+ ##
41
+ # Migrates a package to the given version.
42
+ #
43
+ # @author Yorick Peterse
44
+ # @since 0.2
45
+ #
46
+ def migrate
47
+ version = options[:version]
48
+ ident = options[:identifier]
49
+
50
+ if Zen::Package.extensions.nil? or Zen::Package.extensions.empty?
51
+ abort "No packages have been loaded. Be sure to add them to config/requires.rb."
52
+ end
53
+
54
+ if version.nil?
55
+ puts "No version specified with --version, choosing the most recent version..."
56
+ end
57
+
58
+ install_ext = Zen::Package[ident]
59
+
60
+ if ident.nil? or ident.empty?
61
+ abort "You specified an invalid identifier."
62
+ end
63
+
64
+ dir = install_ext.directory + '/../../migrations'
65
+ table = install_ext.identifier.gsub('.', '_').to_sym
66
+
67
+ puts "Migrating package..."
68
+ if File.directory?(dir)
69
+ Zen::Database.handle.transaction do
70
+ Sequel::Migrator.run(Zen::Database.handle, dir, :table => table, :target => version)
71
+
72
+ if version == 0
73
+ # Remove the migrations table
74
+ Zen::Database.handle.drop_table table
75
+ end
76
+ end
77
+ end
78
+ end
79
+
80
+ end
81
+ end
82
+ end
@@ -0,0 +1,116 @@
1
+ require 'fileutils'
2
+ require 'ruby-extensions'
3
+
4
+ module Zen
5
+ module Task
6
+ ##
7
+ # The Proto task can be used to create migrations, packages and full blown applications.
8
+ #
9
+ # @author Yorick Peterse
10
+ # @since 0.2
11
+ #
12
+ class Proto < Thor
13
+ namespace :proto
14
+
15
+ desc 'migration', 'Creates a new migration'
16
+ method_option :directory, :type => :string, :required => true
17
+
18
+ ##
19
+ # Creates a new (blank) migration.
20
+ #
21
+ # @author Yorick Peterse
22
+ # @since 0.2
23
+ #
24
+ def migration
25
+ dir = options[:directory]
26
+ proto_path = File.expand_path('../../../../proto/migration.rb', __FILE__)
27
+
28
+ # Get the name
29
+ name = ask("Migration name:")
30
+
31
+ # If no directory is specified we'll store the migrations under ./migrations
32
+ if dir.nil? or dir == ''
33
+ if !File.directory?('./migrations')
34
+ abort "No directory specified and ./migrations doesn't exist"
35
+ else
36
+ dir = './migrations'
37
+ puts "Using ./migrations"
38
+ end
39
+ else
40
+ puts "Using #{dir}"
41
+ end
42
+
43
+ # Generate the prototype
44
+ puts "Generating..."
45
+
46
+ proto = File.open(proto_path, 'r').read
47
+ path = "#{dir}/#{Time.new.to_i}_#{name}.rb"
48
+
49
+ begin
50
+ File.open(path, 'w').write(proto)
51
+ puts "Done!"
52
+ rescue => e
53
+ puts "Failed to generate the migration: #{e}"
54
+ end
55
+ end
56
+
57
+ desc 'package', 'Creates a new package'
58
+ method_option :directory, :type => :string, :required => true
59
+
60
+ ##
61
+ # Creates a new package.
62
+ #
63
+ # @author Yorick Peterse
64
+ # @since 0.2
65
+ #
66
+ def package
67
+ name = ask("Package name:").strip.downcase.gsub(' ', '_')
68
+ proto = File.expand_path('../../../../proto/package', __FILE__)
69
+ klass = name.camel_case
70
+ extension_path = options[:directory] + '/' + name
71
+
72
+ FileUtils.rm_rf(extension_path)
73
+
74
+ # Rename all files and folders
75
+ begin
76
+ FileUtils.cp_r(proto, extension_path)
77
+
78
+ lib_path = "#{extension_path}/lib/#{name}"
79
+
80
+ # Rename the base file and directory
81
+ FileUtils.mv("#{extension_path}/lib/package" , lib_path)
82
+ FileUtils.mv("#{extension_path}/lib/package.rb", "#{extension_path}/lib/#{name}.rb")
83
+
84
+ # ------------------------------------------------
85
+
86
+ controller_filename = klass.snake_case.pluralize
87
+ model_filename = klass.snake_case.singularize
88
+
89
+ # Generate the controller
90
+ controller = File.open("#{lib_path}/controller/controllers.rb", 'r').read
91
+ controller.gsub!('CONTROLLER', klass.pluralize)
92
+ controller.gsub!('EXTENSION' , klass.pluralize)
93
+
94
+ FileUtils.mv("#{lib_path}/controller/controllers.rb", "#{lib_path}/controller/#{controller_filename}.rb")
95
+ File.open("#{lib_path}/controller/#{controller_filename}.rb", 'w').write(controller)
96
+
97
+ # Move the view directory
98
+ FileUtils.mv("#{lib_path}/view/admin/package", "#{lib_path}/view/admin/#{controller_filename}")
99
+
100
+ # Generate the model
101
+ model = File.open("#{lib_path}/model/model.rb", 'r').read
102
+ model.gsub!('MODEL' , klass.singularize)
103
+ model.gsub!('EXTENSION' , klass.pluralize)
104
+
105
+ FileUtils.mv("#{lib_path}/model/model.rb", "#{lib_path}/model/#{model_filename}.rb")
106
+ File.open("#{lib_path}/model/#{model_filename}.rb", 'w').write(model)
107
+
108
+ puts "Done! Don't forget to rename the controllers/models/etc"
109
+ rescue => e
110
+ abort "Failed to generate the extesion: #{e}"
111
+ end
112
+ end
113
+
114
+ end
115
+ end
116
+ end