zen 0.1a

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 (338) hide show
  1. data/LICENSE +19 -0
  2. data/MANIFEST +337 -0
  3. data/README.textile +42 -0
  4. data/Rakefile +6 -0
  5. data/bin/zen +9 -0
  6. data/doc/Categories.html +93 -0
  7. data/doc/Categories/Controllers.html +93 -0
  8. data/doc/Categories/Controllers/Categories.html +995 -0
  9. data/doc/Categories/Controllers/CategoryGroups.html +878 -0
  10. data/doc/Categories/Models.html +97 -0
  11. data/doc/Categories/Models/Category.html +269 -0
  12. data/doc/Categories/Models/CategoryGroup.html +231 -0
  13. data/doc/Comments.html +93 -0
  14. data/doc/Comments/Controllers.html +93 -0
  15. data/doc/Comments/Controllers/Comments.html +797 -0
  16. data/doc/Comments/Controllers/CommentsForm.html +487 -0
  17. data/doc/Comments/Liquid.html +93 -0
  18. data/doc/Comments/Liquid/CommentForm.html +522 -0
  19. data/doc/Comments/Liquid/Comments.html +543 -0
  20. data/doc/Comments/Models.html +95 -0
  21. data/doc/Comments/Models/Comment.html +260 -0
  22. data/doc/CustomFields.html +93 -0
  23. data/doc/CustomFields/Controllers.html +93 -0
  24. data/doc/CustomFields/Controllers/CustomFieldGroups.html +902 -0
  25. data/doc/CustomFields/Controllers/CustomFields.html +974 -0
  26. data/doc/CustomFields/Models.html +97 -0
  27. data/doc/CustomFields/Models/CustomField.html +272 -0
  28. data/doc/CustomFields/Models/CustomFieldGroup.html +259 -0
  29. data/doc/CustomFields/Models/CustomFieldValue.html +154 -0
  30. data/doc/Ramaze.html +93 -0
  31. data/doc/Ramaze/Helper.html +93 -0
  32. data/doc/Ramaze/Helper/ACL.html +531 -0
  33. data/doc/Ramaze/Helper/Asset.html +617 -0
  34. data/doc/Ramaze/Helper/Breadcrumb.html +411 -0
  35. data/doc/Ramaze/Helper/Common.html +738 -0
  36. data/doc/Sections.html +93 -0
  37. data/doc/Sections/Controllers.html +93 -0
  38. data/doc/Sections/Controllers/SectionEntries.html +1100 -0
  39. data/doc/Sections/Controllers/Sections.html +953 -0
  40. data/doc/Sections/Liquid.html +93 -0
  41. data/doc/Sections/Liquid/SectionEntries.html +674 -0
  42. data/doc/Sections/Liquid/Sections.html +494 -0
  43. data/doc/Sections/Models.html +97 -0
  44. data/doc/Sections/Models/Section.html +272 -0
  45. data/doc/Sections/Models/SectionEntry.html +264 -0
  46. data/doc/Sequel.html +91 -0
  47. data/doc/Sequel/Model.html +243 -0
  48. data/doc/Settings.html +93 -0
  49. data/doc/Settings/Controllers.html +91 -0
  50. data/doc/Settings/Controllers/Settings.html +565 -0
  51. data/doc/Settings/Liquid.html +91 -0
  52. data/doc/Settings/Liquid/Setting.html +426 -0
  53. data/doc/Settings/Models.html +95 -0
  54. data/doc/Settings/Models/Setting.html +293 -0
  55. data/doc/Users.html +93 -0
  56. data/doc/Users/Controllers.html +93 -0
  57. data/doc/Users/Controllers/AccessRules.html +904 -0
  58. data/doc/Users/Controllers/UserGroups.html +879 -0
  59. data/doc/Users/Controllers/Users.html +1124 -0
  60. data/doc/Users/Liquid.html +93 -0
  61. data/doc/Users/Liquid/User.html +480 -0
  62. data/doc/Users/Liquid/Users.html +495 -0
  63. data/doc/Users/Models.html +97 -0
  64. data/doc/Users/Models/AccessRule.html +257 -0
  65. data/doc/Users/Models/User.html +649 -0
  66. data/doc/Users/Models/UserGroup.html +267 -0
  67. data/doc/Zen.html +391 -0
  68. data/doc/Zen/Bin.html +113 -0
  69. data/doc/Zen/Bin/Base.html +727 -0
  70. data/doc/Zen/Controllers.html +115 -0
  71. data/doc/Zen/Controllers/AdminController.html +298 -0
  72. data/doc/Zen/Controllers/BaseController.html +272 -0
  73. data/doc/Zen/Controllers/FrontendController.html +164 -0
  74. data/doc/Zen/Controllers/MainController.html +421 -0
  75. data/doc/Zen/Database.html +498 -0
  76. data/doc/Zen/Language.html +660 -0
  77. data/doc/Zen/Liquid.html +117 -0
  78. data/doc/Zen/Liquid/ControllerBehavior.html +448 -0
  79. data/doc/Zen/Liquid/General.html +444 -0
  80. data/doc/Zen/Liquid/Redirect.html +435 -0
  81. data/doc/Zen/Liquid/Strip.html +447 -0
  82. data/doc/Zen/Logger.html +393 -0
  83. data/doc/Zen/Package.html +909 -0
  84. data/doc/_index.html +724 -0
  85. data/doc/class_list.html +36 -0
  86. data/doc/css/common.css +1 -0
  87. data/doc/css/full_list.css +53 -0
  88. data/doc/css/style.css +310 -0
  89. data/doc/file.README.html +86 -0
  90. data/doc/file_list.html +38 -0
  91. data/doc/frames.html +13 -0
  92. data/doc/index.html +86 -0
  93. data/doc/js/app.js +203 -0
  94. data/doc/js/full_list.js +149 -0
  95. data/doc/js/jquery.js +154 -0
  96. data/doc/method_list.html +1139 -0
  97. data/doc/top-level-namespace.html +88 -0
  98. data/lib/zen.rb +77 -0
  99. data/lib/zen/base/database.rb +105 -0
  100. data/lib/zen/base/language.rb +132 -0
  101. data/lib/zen/base/logger.rb +54 -0
  102. data/lib/zen/base/package.rb +233 -0
  103. data/lib/zen/base/version.rb +11 -0
  104. data/lib/zen/bin/zen_binary.rb +173 -0
  105. data/lib/zen/controller/admin_controller.rb +60 -0
  106. data/lib/zen/controller/base_controller.rb +39 -0
  107. data/lib/zen/controller/frontend_controller.rb +16 -0
  108. data/lib/zen/controller/main_controller.rb +93 -0
  109. data/lib/zen/helper/acl.rb +124 -0
  110. data/lib/zen/helper/asset.rb +104 -0
  111. data/lib/zen/helper/breadcrumb.rb +71 -0
  112. data/lib/zen/helper/common.rb +157 -0
  113. data/lib/zen/language/en/zen_general.rb +21 -0
  114. data/lib/zen/language/en/zen_models.rb +39 -0
  115. data/lib/zen/layout/admin.xhtml +72 -0
  116. data/lib/zen/layout/login.xhtml +44 -0
  117. data/lib/zen/liquid/controller_behavior.rb +55 -0
  118. data/lib/zen/liquid/general.rb +69 -0
  119. data/lib/zen/liquid/redirect.rb +47 -0
  120. data/lib/zen/liquid/strip.rb +58 -0
  121. data/lib/zen/model/methods.rb +26 -0
  122. data/lib/zen/model/settings.rb +27 -0
  123. data/lib/zen/packages/categories/LICENSE +19 -0
  124. data/lib/zen/packages/categories/README.textile +0 -0
  125. data/lib/zen/packages/categories/lib/categories.rb +24 -0
  126. data/lib/zen/packages/categories/lib/categories/controller/categories.rb +202 -0
  127. data/lib/zen/packages/categories/lib/categories/controller/category_groups.rb +173 -0
  128. data/lib/zen/packages/categories/lib/categories/language/en/categories.rb +38 -0
  129. data/lib/zen/packages/categories/lib/categories/language/en/category_groups.rb +37 -0
  130. data/lib/zen/packages/categories/lib/categories/model/category.rb +42 -0
  131. data/lib/zen/packages/categories/lib/categories/model/category_group.rb +29 -0
  132. data/lib/zen/packages/categories/lib/categories/view/admin/categories/edit.xhtml +7 -0
  133. data/lib/zen/packages/categories/lib/categories/view/admin/categories/form.xhtml +36 -0
  134. data/lib/zen/packages/categories/lib/categories/view/admin/categories/index.xhtml +70 -0
  135. data/lib/zen/packages/categories/lib/categories/view/admin/categories/new.xhtml +7 -0
  136. data/lib/zen/packages/categories/lib/categories/view/admin/category_groups/edit.xhtml +7 -0
  137. data/lib/zen/packages/categories/lib/categories/view/admin/category_groups/form.xhtml +18 -0
  138. data/lib/zen/packages/categories/lib/categories/view/admin/category_groups/index.xhtml +72 -0
  139. data/lib/zen/packages/categories/lib/categories/view/admin/category_groups/new.xhtml +7 -0
  140. data/lib/zen/packages/categories/migrations/.gitkeep +0 -0
  141. data/lib/zen/packages/categories/migrations/1295282303_create_schema.rb +40 -0
  142. data/lib/zen/packages/comments/LICENSE +19 -0
  143. data/lib/zen/packages/comments/README.textile +0 -0
  144. data/lib/zen/packages/comments/lib/comments.rb +26 -0
  145. data/lib/zen/packages/comments/lib/comments/controller/comments.rb +157 -0
  146. data/lib/zen/packages/comments/lib/comments/controller/comments_form.rb +135 -0
  147. data/lib/zen/packages/comments/lib/comments/language/en/comments.rb +52 -0
  148. data/lib/zen/packages/comments/lib/comments/liquid/comment_form.rb +97 -0
  149. data/lib/zen/packages/comments/lib/comments/liquid/comments.rb +115 -0
  150. data/lib/zen/packages/comments/lib/comments/model/comment.rb +34 -0
  151. data/lib/zen/packages/comments/lib/comments/view/admin/comments/edit.xhtml +7 -0
  152. data/lib/zen/packages/comments/lib/comments/view/admin/comments/form.xhtml +31 -0
  153. data/lib/zen/packages/comments/lib/comments/view/admin/comments/index.xhtml +74 -0
  154. data/lib/zen/packages/comments/migrations/.gitkeep +0 -0
  155. data/lib/zen/packages/comments/migrations/1295282202_create_schema.rb +24 -0
  156. data/lib/zen/packages/comments/migrations/1296949631_add_defensio_signature.rb +11 -0
  157. data/lib/zen/packages/custom_fields/LICENSE +19 -0
  158. data/lib/zen/packages/custom_fields/README.textile +0 -0
  159. data/lib/zen/packages/custom_fields/lib/custom_fields.rb +24 -0
  160. data/lib/zen/packages/custom_fields/lib/custom_fields/controller/custom_field_groups.rb +179 -0
  161. data/lib/zen/packages/custom_fields/lib/custom_fields/controller/custom_fields.rb +194 -0
  162. data/lib/zen/packages/custom_fields/lib/custom_fields/language/en/custom_field_groups.rb +45 -0
  163. data/lib/zen/packages/custom_fields/lib/custom_fields/language/en/custom_fields.rb +64 -0
  164. data/lib/zen/packages/custom_fields/lib/custom_fields/model/custom_field.rb +41 -0
  165. data/lib/zen/packages/custom_fields/lib/custom_fields/model/custom_field_group.rb +32 -0
  166. data/lib/zen/packages/custom_fields/lib/custom_fields/model/custom_field_value.rb +20 -0
  167. data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_field_groups/edit.xhtml +7 -0
  168. data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_field_groups/form.xhtml +18 -0
  169. data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_field_groups/index.xhtml +88 -0
  170. data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_field_groups/new.xhtml +7 -0
  171. data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_fields/edit.xhtml +7 -0
  172. data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_fields/form.xhtml +50 -0
  173. data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_fields/index.xhtml +75 -0
  174. data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_fields/new.xhtml +7 -0
  175. data/lib/zen/packages/custom_fields/migrations/.gitkeep +0 -0
  176. data/lib/zen/packages/custom_fields/migrations/1295255665_create_schema.rb +53 -0
  177. data/lib/zen/packages/sections/LICENSE +19 -0
  178. data/lib/zen/packages/sections/README.textile +43 -0
  179. data/lib/zen/packages/sections/lib/sections.rb +33 -0
  180. data/lib/zen/packages/sections/lib/sections/controller/section_entries.rb +251 -0
  181. data/lib/zen/packages/sections/lib/sections/controller/sections.rb +205 -0
  182. data/lib/zen/packages/sections/lib/sections/language/en/section_entries.rb +58 -0
  183. data/lib/zen/packages/sections/lib/sections/language/en/sections.rb +63 -0
  184. data/lib/zen/packages/sections/lib/sections/liquid/section_entries.rb +209 -0
  185. data/lib/zen/packages/sections/lib/sections/liquid/sections.rb +76 -0
  186. data/lib/zen/packages/sections/lib/sections/model/section.rb +43 -0
  187. data/lib/zen/packages/sections/lib/sections/model/section_entry.rb +43 -0
  188. data/lib/zen/packages/sections/lib/sections/view/admin/edit.xhtml +7 -0
  189. data/lib/zen/packages/sections/lib/sections/view/admin/form.xhtml +54 -0
  190. data/lib/zen/packages/sections/lib/sections/view/admin/index.xhtml +77 -0
  191. data/lib/zen/packages/sections/lib/sections/view/admin/new.xhtml +7 -0
  192. data/lib/zen/packages/sections/lib/sections/view/admin/section_entries/edit.xhtml +7 -0
  193. data/lib/zen/packages/sections/lib/sections/view/admin/section_entries/form.xhtml +147 -0
  194. data/lib/zen/packages/sections/lib/sections/view/admin/section_entries/index.xhtml +74 -0
  195. data/lib/zen/packages/sections/lib/sections/view/admin/section_entries/new.xhtml +7 -0
  196. data/lib/zen/packages/sections/migrations/.gitkeep +0 -0
  197. data/lib/zen/packages/sections/migrations/1295251836_create_schema.rb +35 -0
  198. data/lib/zen/packages/sections/migrations/1296335671_userdata_section_entries.rb +18 -0
  199. data/lib/zen/packages/sections/migrations/1296936110_drop_comment_antispam.rb +11 -0
  200. data/lib/zen/packages/settings/LICENSE +0 -0
  201. data/lib/zen/packages/settings/README.textile +0 -0
  202. data/lib/zen/packages/settings/lib/settings.rb +22 -0
  203. data/lib/zen/packages/settings/lib/settings/controller/settings.rb +113 -0
  204. data/lib/zen/packages/settings/lib/settings/language/en/settings.rb +56 -0
  205. data/lib/zen/packages/settings/lib/settings/liquid/setting.rb +56 -0
  206. data/lib/zen/packages/settings/lib/settings/model/setting.rb +38 -0
  207. data/lib/zen/packages/settings/lib/settings/view/admin/settings/index.xhtml +79 -0
  208. data/lib/zen/packages/settings/migrations/.gitkeep +0 -0
  209. data/lib/zen/packages/settings/migrations/1295597111_create_schema.rb +31 -0
  210. data/lib/zen/packages/users/LICENSE +19 -0
  211. data/lib/zen/packages/users/README.textile +0 -0
  212. data/lib/zen/packages/users/lib/users.rb +35 -0
  213. data/lib/zen/packages/users/lib/users/controller/access_rules.rb +186 -0
  214. data/lib/zen/packages/users/lib/users/controller/user_groups.rb +171 -0
  215. data/lib/zen/packages/users/lib/users/controller/users.rb +240 -0
  216. data/lib/zen/packages/users/lib/users/language/en/access_rules.rb +49 -0
  217. data/lib/zen/packages/users/lib/users/language/en/user_groups.rb +42 -0
  218. data/lib/zen/packages/users/lib/users/language/en/users.rb +63 -0
  219. data/lib/zen/packages/users/lib/users/liquid/user.rb +75 -0
  220. data/lib/zen/packages/users/lib/users/liquid/users.rb +80 -0
  221. data/lib/zen/packages/users/lib/users/model/access_rule.rb +29 -0
  222. data/lib/zen/packages/users/lib/users/model/user.rb +96 -0
  223. data/lib/zen/packages/users/lib/users/model/user_group.rb +38 -0
  224. data/lib/zen/packages/users/lib/users/public/admin/js/users/access_rules.js +43 -0
  225. data/lib/zen/packages/users/lib/users/view/admin/access_rules/edit.xhtml +7 -0
  226. data/lib/zen/packages/users/lib/users/view/admin/access_rules/form.xhtml +68 -0
  227. data/lib/zen/packages/users/lib/users/view/admin/access_rules/index.xhtml +85 -0
  228. data/lib/zen/packages/users/lib/users/view/admin/access_rules/new.xhtml +7 -0
  229. data/lib/zen/packages/users/lib/users/view/admin/user_groups/edit.xhtml +7 -0
  230. data/lib/zen/packages/users/lib/users/view/admin/user_groups/form.xhtml +19 -0
  231. data/lib/zen/packages/users/lib/users/view/admin/user_groups/index.xhtml +69 -0
  232. data/lib/zen/packages/users/lib/users/view/admin/user_groups/new.xhtml +7 -0
  233. data/lib/zen/packages/users/lib/users/view/admin/users/edit.xhtml +7 -0
  234. data/lib/zen/packages/users/lib/users/view/admin/users/form.xhtml +25 -0
  235. data/lib/zen/packages/users/lib/users/view/admin/users/index.xhtml +73 -0
  236. data/lib/zen/packages/users/lib/users/view/admin/users/login.xhtml +22 -0
  237. data/lib/zen/packages/users/lib/users/view/admin/users/new.xhtml +7 -0
  238. data/lib/zen/packages/users/migrations/.gitkeep +0 -0
  239. data/lib/zen/packages/users/migrations/1295281013_create_schema.rb +54 -0
  240. data/lib/zen/public/admin/css/boilerplate.css +174 -0
  241. data/lib/zen/public/admin/css/general.css +485 -0
  242. data/lib/zen/public/admin/css/grid.css +119 -0
  243. data/lib/zen/public/admin/css/layout.css +111 -0
  244. data/lib/zen/public/admin/images/general/noise.jpg +0 -0
  245. data/lib/zen/public/admin/images/icons/accept.png +0 -0
  246. data/lib/zen/public/admin/images/icons/add.png +0 -0
  247. data/lib/zen/public/admin/images/icons/back.png +0 -0
  248. data/lib/zen/public/admin/images/icons/bold.png +0 -0
  249. data/lib/zen/public/admin/images/icons/close.png +0 -0
  250. data/lib/zen/public/admin/images/icons/delete.png +0 -0
  251. data/lib/zen/public/admin/images/icons/edit.png +0 -0
  252. data/lib/zen/public/admin/images/icons/error.png +0 -0
  253. data/lib/zen/public/admin/images/icons/help.png +0 -0
  254. data/lib/zen/public/admin/images/icons/info.png +0 -0
  255. data/lib/zen/public/admin/images/icons/italic.png +0 -0
  256. data/lib/zen/public/admin/images/icons/large/error.png +0 -0
  257. data/lib/zen/public/admin/images/icons/large/notice.png +0 -0
  258. data/lib/zen/public/admin/images/icons/large/success.png +0 -0
  259. data/lib/zen/public/admin/images/icons/link.png +0 -0
  260. data/lib/zen/public/admin/images/icons/logout.png +0 -0
  261. data/lib/zen/public/admin/images/icons/ol.png +0 -0
  262. data/lib/zen/public/admin/images/icons/pdf.png +0 -0
  263. data/lib/zen/public/admin/images/icons/ul.png +0 -0
  264. data/lib/zen/public/admin/images/icons/user.png +0 -0
  265. data/lib/zen/public/admin/images/icons/view.png +0 -0
  266. data/lib/zen/public/admin/js/mootools/core.js +436 -0
  267. data/lib/zen/public/admin/js/mootools/more.js +288 -0
  268. data/lib/zen/public/admin/js/zen/editor/base.js +265 -0
  269. data/lib/zen/public/admin/js/zen/editor/drivers/html.js +104 -0
  270. data/lib/zen/public/admin/js/zen/editor/drivers/markdown.js +102 -0
  271. data/lib/zen/public/admin/js/zen/editor/drivers/textile.js +102 -0
  272. data/lib/zen/public/admin/js/zen/init.js +57 -0
  273. data/lib/zen/public/admin/js/zen/modal.js +159 -0
  274. data/lib/zen/public/admin/js/zen/notification.js +213 -0
  275. data/lib/zen/public/admin/js/zen/tabs.js +263 -0
  276. data/lib/zen/tasks.rb +6 -0
  277. data/pkg/.gitkeep +0 -0
  278. data/proto/app/Rakefile +2 -0
  279. data/proto/app/app.rb +20 -0
  280. data/proto/app/config.ru +18 -0
  281. data/proto/app/config/config.rb +17 -0
  282. data/proto/app/config/database.rb +18 -0
  283. data/proto/app/config/middlewares.rb +23 -0
  284. data/proto/app/config/requires.rb +8 -0
  285. data/proto/app/logs/.gitkeep +0 -0
  286. data/proto/app/public/.gitkeep +0 -0
  287. data/proto/app/start.rb +22 -0
  288. data/proto/app/vendor/.gitkeep +0 -0
  289. data/proto/app/vendor/themes/.gitkeep +0 -0
  290. data/proto/migration.rb +11 -0
  291. data/proto/module/LICENSE +0 -0
  292. data/proto/module/README.textile +0 -0
  293. data/proto/module/lib/module.rb +15 -0
  294. data/proto/module/lib/module/controller/controllers.rb +86 -0
  295. data/proto/module/lib/module/language/en/languages.rb +3 -0
  296. data/proto/module/lib/module/model/model.rb +12 -0
  297. data/proto/module/lib/module/view/admin/edit.xhtml +0 -0
  298. data/proto/module/lib/module/view/admin/form.xhtml +0 -0
  299. data/proto/module/lib/module/view/admin/index.xhtml +0 -0
  300. data/proto/module/lib/module/view/admin/new.xhtml +0 -0
  301. data/proto/module/migrations/.gitkeep +0 -0
  302. data/spec/javascript/css/base.css +177 -0
  303. data/spec/javascript/css/style.css +204 -0
  304. data/spec/javascript/css/typography.css +70 -0
  305. data/spec/javascript/editor/index.html +65 -0
  306. data/spec/javascript/images/close.png +0 -0
  307. data/spec/javascript/images/info.png +0 -0
  308. data/spec/javascript/js/editor.js +16 -0
  309. data/spec/javascript/js/modal.js +12 -0
  310. data/spec/javascript/js/namespace.js +2 -0
  311. data/spec/javascript/js/notification.js +43 -0
  312. data/spec/javascript/js/tabs.js +8 -0
  313. data/spec/javascript/modal/index.html +45 -0
  314. data/spec/javascript/notification/index.html +48 -0
  315. data/spec/javascript/tabs/index.html +73 -0
  316. data/spec/javascript/tabs/tab_1.html +1 -0
  317. data/spec/javascript/tabs/tab_2.html +1 -0
  318. data/spec/zen/base/language.rb +31 -0
  319. data/spec/zen/base/logger.rb +34 -0
  320. data/spec/zen/base/package.rb +47 -0
  321. data/spec/zen/config/database.rb +8 -0
  322. data/spec/zen/helper/asset.rb +26 -0
  323. data/spec/zen/helper/breadcrumb.rb +24 -0
  324. data/spec/zen/language/en/general.rb +4 -0
  325. data/spec/zen/language/nl/general.rb +4 -0
  326. data/spec/zen/liquid/general.rb +42 -0
  327. data/spec/zen/logs/.gitkeep +0 -0
  328. data/spec/zen/spec.rb +9 -0
  329. data/spec/zen/spec_database.db +0 -0
  330. data/tasks/bacon.rake +99 -0
  331. data/tasks/build.rake +72 -0
  332. data/tasks/clean.rake +18 -0
  333. data/tasks/db.rake +81 -0
  334. data/tasks/doc.rake +5 -0
  335. data/tasks/extension.rake +65 -0
  336. data/tasks/proto.rake +37 -0
  337. data/tasks/theme.rake +63 -0
  338. metadata +512 -0
@@ -0,0 +1,154 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta name="Content-Type" content="text/html; charset=utf-8" />
6
+ <title>Class: CustomFields::Models::CustomFieldValue</title>
7
+ <link rel="stylesheet" href="../../css/style.css" type="text/css" media="screen" charset="utf-8" />
8
+ <link rel="stylesheet" href="../../css/common.css" type="text/css" media="screen" charset="utf-8" />
9
+
10
+ <script type="text/javascript" charset="utf-8">
11
+ relpath = '../..';
12
+ if (relpath != '') relpath += '/';
13
+ </script>
14
+ <script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
15
+ <script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
16
+
17
+ </head>
18
+ <body>
19
+ <script type="text/javascript" charset="utf-8">
20
+ if (window.top.frames.main) document.body.className = 'frames';
21
+ </script>
22
+
23
+ <div id="header">
24
+ <div id="menu">
25
+
26
+ <a href="../../_index.html">Index (C)</a> &raquo;
27
+ <span class='title'><span class='object_link'><a href="../../CustomFields.html" title="CustomFields (module)">CustomFields</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../Models.html" title="CustomFields::Models (module)">Models</a></span></span>
28
+ &raquo;
29
+ <span class="title">CustomFieldValue</span>
30
+
31
+
32
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
33
+ </div>
34
+
35
+ <div id="search">
36
+ <a id="class_list_link" href="#">Class List</a>
37
+ <a id="method_list_link" href="#">Method List</a>
38
+ <a id ="file_list_link" href="#">File List</a>
39
+ </div>
40
+
41
+ <div class="clear"></div>
42
+ </div>
43
+
44
+ <iframe id="search_frame"></iframe>
45
+
46
+ <div id="content"><h1>Class: CustomFields::Models::CustomFieldValue
47
+
48
+
49
+
50
+ </h1>
51
+
52
+ <dl class="box">
53
+
54
+ <dt class="r1">Inherits:</dt>
55
+ <dd class="r1">
56
+ <span class="inheritName"><span class='object_link'><a href="../../Sequel/Model.html" title="Sequel::Model (class)">Sequel::Model</a></span></span>
57
+
58
+ <ul class="fullTree">
59
+ <li>Object</li>
60
+
61
+ <li class="next"><span class='object_link'><a href="../../Sequel/Model.html" title="Sequel::Model (class)">Sequel::Model</a></span></li>
62
+
63
+ <li class="next">CustomFields::Models::CustomFieldValue</li>
64
+
65
+ </ul>
66
+ <a href="#" class="inheritanceTree">show all</a>
67
+
68
+ </dd>
69
+
70
+
71
+
72
+
73
+
74
+
75
+
76
+
77
+
78
+ <dt class="r2 last">Defined in:</dt>
79
+ <dd class="r2 last">/Applications/MAMP/htdocs/ruby/zen/zen/lib/zen/packages/custom_fields/lib/custom_fields/model/custom_field_value.rb</dd>
80
+
81
+ </dl>
82
+ <div class="clear"></div>
83
+
84
+ <h2>Overview</h2><div class="docstring">
85
+ <div class="discussion">
86
+ <p>Model that represents a single custom field value. This model
87
+ has the following relations:</p>
88
+ <ul>
89
+ <li>custom field (many to one)</li>
90
+ <li>section entry (many to one)</li>
91
+ </ul>
92
+ <p>This model is basically just a join table with some extra columns.</p>
93
+
94
+ </div>
95
+ </div>
96
+ <div class="tags">
97
+ <h3>Author:</h3>
98
+ <ul class="author">
99
+
100
+ <li>
101
+
102
+
103
+
104
+
105
+
106
+ <div class='inline'><p>Yorick Peterse</p></div>
107
+
108
+ </li>
109
+
110
+ </ul>
111
+ <h3>Since:</h3>
112
+ <ul class="since">
113
+
114
+ <li>
115
+
116
+
117
+
118
+
119
+
120
+ <div class='inline'><p>0.1</p></div>
121
+
122
+ </li>
123
+
124
+ </ul>
125
+
126
+ </div>
127
+
128
+
129
+
130
+
131
+
132
+
133
+
134
+
135
+
136
+
137
+
138
+
139
+ <h2>Method Summary</h2>
140
+
141
+ <h3 class="inherited">Methods inherited from <span class='object_link'><a href="../../Sequel/Model.html" title="Sequel::Model (class)">Sequel::Model</a></span></h3>
142
+ <p class="inherited"><span class='object_link'><a href="../../Sequel/Model.html#pk_hash-class_method" title="Sequel::Model.pk_hash (method)">pk_hash</a></span></p>
143
+
144
+
145
+ </div>
146
+
147
+ <div id="footer">
148
+ Generated on Sun Feb 6 21:24:02 2011 by
149
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
150
+ 0.6.4 (ruby-1.9.2).
151
+ </div>
152
+
153
+ </body>
154
+ </html>
@@ -0,0 +1,93 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta name="Content-Type" content="text/html; charset=utf-8" />
6
+ <title>Module: Ramaze</title>
7
+ <link rel="stylesheet" href="css/style.css" type="text/css" media="screen" charset="utf-8" />
8
+ <link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
9
+
10
+ <script type="text/javascript" charset="utf-8">
11
+ relpath = '';
12
+ if (relpath != '') relpath += '/';
13
+ </script>
14
+ <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
15
+ <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
16
+
17
+ </head>
18
+ <body>
19
+ <script type="text/javascript" charset="utf-8">
20
+ if (window.top.frames.main) document.body.className = 'frames';
21
+ </script>
22
+
23
+ <div id="header">
24
+ <div id="menu">
25
+
26
+ <a href="_index.html">Index (R)</a> &raquo;
27
+
28
+
29
+ <span class="title">Ramaze</span>
30
+
31
+
32
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
33
+ </div>
34
+
35
+ <div id="search">
36
+ <a id="class_list_link" href="#">Class List</a>
37
+ <a id="method_list_link" href="#">Method List</a>
38
+ <a id ="file_list_link" href="#">File List</a>
39
+ </div>
40
+
41
+ <div class="clear"></div>
42
+ </div>
43
+
44
+ <iframe id="search_frame"></iframe>
45
+
46
+ <div id="content"><h1>Module: Ramaze
47
+
48
+
49
+
50
+ </h1>
51
+
52
+ <dl class="box">
53
+
54
+
55
+
56
+
57
+
58
+
59
+
60
+
61
+ <dt class="r1 last">Defined in:</dt>
62
+ <dd class="r1 last">/Applications/MAMP/htdocs/ruby/zen/zen/lib/zen/helper/acl.rb<span class="defines">,<br />
63
+ /Applications/MAMP/htdocs/ruby/zen/zen/lib/zen/helper/asset.rb,<br /> /Applications/MAMP/htdocs/ruby/zen/zen/lib/zen/helper/common.rb,<br /> /Applications/MAMP/htdocs/ruby/zen/zen/lib/zen/helper/breadcrumb.rb</span>
64
+ </dd>
65
+
66
+ </dl>
67
+ <div class="clear"></div>
68
+
69
+ <h2>Defined Under Namespace</h2>
70
+ <p class="children">
71
+
72
+
73
+ <strong class="modules">Modules:</strong> <span class='object_link'><a href="Ramaze/Helper.html" title="Ramaze::Helper (module)">Helper</a></span>
74
+
75
+
76
+
77
+
78
+ </p>
79
+
80
+
81
+
82
+
83
+
84
+ </div>
85
+
86
+ <div id="footer">
87
+ Generated on Sun Feb 6 21:23:59 2011 by
88
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
89
+ 0.6.4 (ruby-1.9.2).
90
+ </div>
91
+
92
+ </body>
93
+ </html>
@@ -0,0 +1,93 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta name="Content-Type" content="text/html; charset=utf-8" />
6
+ <title>Module: Ramaze::Helper</title>
7
+ <link rel="stylesheet" href="../css/style.css" type="text/css" media="screen" charset="utf-8" />
8
+ <link rel="stylesheet" href="../css/common.css" type="text/css" media="screen" charset="utf-8" />
9
+
10
+ <script type="text/javascript" charset="utf-8">
11
+ relpath = '..';
12
+ if (relpath != '') relpath += '/';
13
+ </script>
14
+ <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
15
+ <script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
16
+
17
+ </head>
18
+ <body>
19
+ <script type="text/javascript" charset="utf-8">
20
+ if (window.top.frames.main) document.body.className = 'frames';
21
+ </script>
22
+
23
+ <div id="header">
24
+ <div id="menu">
25
+
26
+ <a href="../_index.html">Index (H)</a> &raquo;
27
+ <span class='title'><span class='object_link'><a href="../Ramaze.html" title="Ramaze (module)">Ramaze</a></span></span>
28
+ &raquo;
29
+ <span class="title">Helper</span>
30
+
31
+
32
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
33
+ </div>
34
+
35
+ <div id="search">
36
+ <a id="class_list_link" href="#">Class List</a>
37
+ <a id="method_list_link" href="#">Method List</a>
38
+ <a id ="file_list_link" href="#">File List</a>
39
+ </div>
40
+
41
+ <div class="clear"></div>
42
+ </div>
43
+
44
+ <iframe id="search_frame"></iframe>
45
+
46
+ <div id="content"><h1>Module: Ramaze::Helper
47
+
48
+
49
+
50
+ </h1>
51
+
52
+ <dl class="box">
53
+
54
+
55
+
56
+
57
+
58
+
59
+
60
+
61
+ <dt class="r1 last">Defined in:</dt>
62
+ <dd class="r1 last">/Applications/MAMP/htdocs/ruby/zen/zen/lib/zen/helper/acl.rb<span class="defines">,<br />
63
+ /Applications/MAMP/htdocs/ruby/zen/zen/lib/zen/helper/asset.rb,<br /> /Applications/MAMP/htdocs/ruby/zen/zen/lib/zen/helper/common.rb,<br /> /Applications/MAMP/htdocs/ruby/zen/zen/lib/zen/helper/breadcrumb.rb</span>
64
+ </dd>
65
+
66
+ </dl>
67
+ <div class="clear"></div>
68
+
69
+ <h2>Defined Under Namespace</h2>
70
+ <p class="children">
71
+
72
+
73
+ <strong class="modules">Modules:</strong> <span class='object_link'><a href="Helper/ACL.html" title="Ramaze::Helper::ACL (module)">ACL</a></span>, <span class='object_link'><a href="Helper/Asset.html" title="Ramaze::Helper::Asset (module)">Asset</a></span>, <span class='object_link'><a href="Helper/Breadcrumb.html" title="Ramaze::Helper::Breadcrumb (module)">Breadcrumb</a></span>, <span class='object_link'><a href="Helper/Common.html" title="Ramaze::Helper::Common (module)">Common</a></span>
74
+
75
+
76
+
77
+
78
+ </p>
79
+
80
+
81
+
82
+
83
+
84
+ </div>
85
+
86
+ <div id="footer">
87
+ Generated on Sun Feb 6 21:23:59 2011 by
88
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
89
+ 0.6.4 (ruby-1.9.2).
90
+ </div>
91
+
92
+ </body>
93
+ </html>
@@ -0,0 +1,531 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta name="Content-Type" content="text/html; charset=utf-8" />
6
+ <title>Module: Ramaze::Helper::ACL</title>
7
+ <link rel="stylesheet" href="../../css/style.css" type="text/css" media="screen" charset="utf-8" />
8
+ <link rel="stylesheet" href="../../css/common.css" type="text/css" media="screen" charset="utf-8" />
9
+
10
+ <script type="text/javascript" charset="utf-8">
11
+ relpath = '../..';
12
+ if (relpath != '') relpath += '/';
13
+ </script>
14
+ <script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
15
+ <script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
16
+
17
+ </head>
18
+ <body>
19
+ <script type="text/javascript" charset="utf-8">
20
+ if (window.top.frames.main) document.body.className = 'frames';
21
+ </script>
22
+
23
+ <div id="header">
24
+ <div id="menu">
25
+
26
+ <a href="../../_index.html">Index (A)</a> &raquo;
27
+ <span class='title'><span class='object_link'><a href="../../Ramaze.html" title="Ramaze (module)">Ramaze</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../Helper.html" title="Ramaze::Helper (module)">Helper</a></span></span>
28
+ &raquo;
29
+ <span class="title">ACL</span>
30
+
31
+
32
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
33
+ </div>
34
+
35
+ <div id="search">
36
+ <a id="class_list_link" href="#">Class List</a>
37
+ <a id="method_list_link" href="#">Method List</a>
38
+ <a id ="file_list_link" href="#">File List</a>
39
+ </div>
40
+
41
+ <div class="clear"></div>
42
+ </div>
43
+
44
+ <iframe id="search_frame"></iframe>
45
+
46
+ <div id="content"><h1>Module: Ramaze::Helper::ACL
47
+
48
+
49
+
50
+ </h1>
51
+
52
+ <dl class="box">
53
+
54
+
55
+
56
+
57
+
58
+
59
+
60
+
61
+ <dt class="r1 last">Defined in:</dt>
62
+ <dd class="r1 last">/Applications/MAMP/htdocs/ruby/zen/zen/lib/zen/helper/acl.rb</dd>
63
+
64
+ </dl>
65
+ <div class="clear"></div>
66
+
67
+ <h2>Overview</h2><div class="docstring">
68
+ <div class="discussion">
69
+ <p>This helper provides an easy way of working with the <span class="caps">ACL</span> system that
70
+ ships with Zen. Using this helper you can restrict access to methods,
71
+ view elements and pretty much everything else based on the user&#8217;s
72
+ permissions.</p>
73
+ <p>In order to use the <span class="caps">ACL</span> helper you&#8217;ll need to define a trait named
74
+ &#8220;extension_identifier&#8221; in your classes. Once this trait have been set you
75
+ can use the &#8220;user_authorized?&#8221; method to verify the permissions of the current user.
76
+ The first parameter is an array of required permissions,
77
+ the second a boolean that indicates if either all or just a single permission must be set.</p>
78
+ <p>For more information about the <span class="caps">ACL</span> system you should read the documentation
79
+ in the <span class="caps">ACL</span> controller, Users::Controllers::AccessRules().</p>
80
+
81
+ </div>
82
+ </div>
83
+ <div class="tags">
84
+
85
+ <h3>See Also:</h3>
86
+ <ul class="see">
87
+
88
+ <li>Users::Controllers::AccessRules()</li>
89
+
90
+ </ul>
91
+ <h3>Author:</h3>
92
+ <ul class="author">
93
+
94
+ <li>
95
+
96
+
97
+
98
+
99
+
100
+ <div class='inline'><p>Yorick Peterse</p></div>
101
+
102
+ </li>
103
+
104
+ </ul>
105
+ <h3>Since:</h3>
106
+ <ul class="since">
107
+
108
+ <li>
109
+
110
+
111
+
112
+
113
+
114
+ <div class='inline'><p>0.1</p></div>
115
+
116
+ </li>
117
+
118
+ </ul>
119
+
120
+ </div>
121
+
122
+
123
+
124
+ <h2>
125
+ Instance Method Summary
126
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
127
+ </h2>
128
+
129
+ <ul class="summary">
130
+
131
+ <li class="public ">
132
+ <span class="summary_signature">
133
+
134
+ <a href="#extension_permissions-instance_method" title="#extension_permissions (instance method)">- (Mixed) <strong>extension_permissions</strong> </a>
135
+
136
+
137
+
138
+ </span>
139
+
140
+
141
+
142
+
143
+
144
+
145
+
146
+
147
+ <span class="summary_desc"><div class='inline'><p>Retrieves all permissions for the current user
148
+ along with the permissions set for all groups the user
149
+ belongs to.</p></div></span>
150
+
151
+ </li>
152
+
153
+
154
+ <li class="public ">
155
+ <span class="summary_signature">
156
+
157
+ <a href="#user_authorized%3F-instance_method" title="#user_authorized? (instance method)">- (Boolean) <strong>user_authorized?</strong>(reqs, require_all = true) </a>
158
+
159
+
160
+
161
+ </span>
162
+
163
+
164
+
165
+
166
+
167
+
168
+
169
+
170
+ <span class="summary_desc"><div class='inline'><p>Checks if the user has the specified permissions for the current
171
+ extension that was called.</p></div></span>
172
+
173
+ </li>
174
+
175
+
176
+ </ul>
177
+
178
+
179
+
180
+
181
+ <div id="instance_method_details" class="method_details_list">
182
+ <h2>Instance Method Details</h2>
183
+
184
+
185
+ <div class="method_details first">
186
+ <p class="signature first" id="extension_permissions-instance_method">
187
+
188
+ - (<tt>Mixed</tt>) <strong>extension_permissions</strong>
189
+
190
+
191
+
192
+ </p><div class="docstring">
193
+ <div class="discussion">
194
+ <p>Retrieves all permissions for the current user
195
+ along with the permissions set for all groups the user
196
+ belongs to. Rather than loading a new instance of the User model
197
+ we&#8217;ll retrieve the model from the session variable set by the
198
+ User helper provided by Ramaze. Doing this saves us a few queries.</p>
199
+ <p>with a boolean that indicates if the user is in a super group.</p>
200
+
201
+ </div>
202
+ </div>
203
+ <div class="tags">
204
+ <h3>Returns:</h3>
205
+ <ul class="return">
206
+
207
+ <li>
208
+
209
+ <span class='type'>(<tt>Mixed</tt>)</span>
210
+
211
+
212
+
213
+
214
+ &mdash;
215
+ <div class='inline'><p>returns a hash containing all rules per identifier along</p></div>
216
+
217
+ </li>
218
+
219
+ </ul>
220
+ <h3>Author:</h3>
221
+ <ul class="author">
222
+
223
+ <li>
224
+
225
+
226
+
227
+
228
+
229
+ <div class='inline'><p>Yorick Peterse</p></div>
230
+
231
+ </li>
232
+
233
+ </ul>
234
+ <h3>Since:</h3>
235
+ <ul class="since">
236
+
237
+ <li>
238
+
239
+
240
+
241
+
242
+
243
+ <div class='inline'><p>0.1</p></div>
244
+
245
+ </li>
246
+
247
+ </ul>
248
+
249
+ </div><table class="source_code">
250
+ <tr>
251
+ <td>
252
+ <pre class="lines">
253
+
254
+
255
+ 35
256
+ 36
257
+ 37
258
+ 38
259
+ 39
260
+ 40
261
+ 41
262
+ 42
263
+ 43
264
+ 44
265
+ 45
266
+ 46
267
+ 47
268
+ 48
269
+ 49
270
+ 50
271
+ 51
272
+ 52
273
+ 53
274
+ 54
275
+ 55
276
+ 56
277
+ 57
278
+ 58
279
+ 59
280
+ 60
281
+ 61
282
+ 62
283
+ 63
284
+ 64
285
+ 65
286
+ 66
287
+ 67
288
+ 68
289
+ 69
290
+ 70
291
+ 71</pre>
292
+ </td>
293
+ <td>
294
+ <pre class="code"><span class="info file"># File '/Applications/MAMP/htdocs/ruby/zen/zen/lib/zen/helper/acl.rb', line 35</span>
295
+
296
+ <span class='kw'>def</span> <span class='id extension_permissions'>extension_permissions</span>
297
+ <span class='id m'>m</span> <span class='op'>=</span> <span class='id session'>session</span><span class='lbracket'>[</span><span class='symbol'>:user</span><span class='rbracket'>]</span>
298
+ <span class='id user_groups'>user_groups</span> <span class='op'>=</span> <span class='id m'>m</span><span class='period'>.</span><span class='id user_groups'>user_groups</span>
299
+ <span class='id super_group'>super_group</span> <span class='op'>=</span> <span class='kw'>false</span>
300
+ <span class='id rules'>rules</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
301
+ <span class='id ordered_rules'>ordered_rules</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
302
+
303
+ <span class='id user_groups'>user_groups</span><span class='period'>.</span><span class='id each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id group'>group</span><span class='op'>|</span>
304
+ <span class='id rules'>rules</span> <span class='op'>+=</span> <span class='id group'>group</span><span class='period'>.</span><span class='id access_rules'>access_rules</span>
305
+
306
+ <span class='kw'>if</span> <span class='id group'>group</span><span class='period'>.</span><span class='id super_group'>super_group</span> <span class='op'>==</span> <span class='kw'>true</span>
307
+ <span class='id super_group'>super_group</span> <span class='op'>=</span> <span class='kw'>true</span>
308
+ <span class='kw'>end</span>
309
+ <span class='kw'>end</span>
310
+
311
+ <span class='id m'>m</span><span class='period'>.</span><span class='id access_rules'>access_rules</span><span class='period'>.</span><span class='id each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id rule'>rule</span><span class='op'>|</span>
312
+ <span class='id rules'>rules</span><span class='period'>.</span><span class='id push'>push</span><span class='lparen'>(</span><span class='id rule'>rule</span><span class='rparen'>)</span>
313
+ <span class='kw'>end</span>
314
+
315
+ <span class='id rules'>rules</span><span class='period'>.</span><span class='id each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id rule'>rule</span><span class='op'>|</span>
316
+ <span class='kw'>if</span> <span class='op'>!</span><span class='id ordered_rules'>ordered_rules</span><span class='period'>.</span><span class='id key?'>key?</span><span class='lparen'>(</span><span class='id rule'>rule</span><span class='period'>.</span><span class='id extension'>extension</span><span class='rparen'>)</span>
317
+ <span class='id ordered_rules'>ordered_rules</span><span class='lbracket'>[</span><span class='id rule'>rule</span><span class='period'>.</span><span class='id extension'>extension</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
318
+ <span class='kw'>end</span>
319
+
320
+ <span class='lbracket'>[</span><span class='symbol'>:create_access</span><span class='comma'>,</span> <span class='symbol'>:read_access</span><span class='comma'>,</span> <span class='symbol'>:update_access</span><span class='comma'>,</span> <span class='symbol'>:delete_access</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id perm'>perm</span><span class='op'>|</span>
321
+ <span class='kw'>if</span> <span class='id rule'>rule</span><span class='period'>.</span><span class='id send'>send</span><span class='lparen'>(</span><span class='id perm'>perm</span><span class='rparen'>)</span> <span class='op'>===</span> <span class='kw'>true</span> <span class='kw'>or</span> <span class='id super_group'>super_group</span> <span class='op'>==</span> <span class='kw'>true</span>
322
+ <span class='id perm'>perm</span> <span class='op'>=</span> <span class='id perm'>perm</span><span class='period'>.</span><span class='id to_s'>to_s</span><span class='period'>.</span><span class='id gsub!'>gsub!</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>_access</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id to_sym'>to_sym</span>
323
+
324
+ <span class='kw'>if</span> <span class='op'>!</span><span class='id ordered_rules'>ordered_rules</span><span class='lbracket'>[</span><span class='id rule'>rule</span><span class='period'>.</span><span class='id extension'>extension</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id include?'>include?</span><span class='lparen'>(</span><span class='id perm'>perm</span><span class='rparen'>)</span>
325
+ <span class='id ordered_rules'>ordered_rules</span><span class='lbracket'>[</span><span class='id rule'>rule</span><span class='period'>.</span><span class='id extension'>extension</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id push'>push</span><span class='lparen'>(</span><span class='id perm'>perm</span><span class='rparen'>)</span>
326
+ <span class='kw'>end</span>
327
+ <span class='kw'>end</span>
328
+ <span class='kw'>end</span>
329
+ <span class='kw'>end</span>
330
+
331
+ <span class='kw'>return</span> <span class='id ordered_rules'>ordered_rules</span><span class='comma'>,</span> <span class='id super_group'>super_group</span>
332
+ <span class='kw'>end</span></pre>
333
+ </td>
334
+ </tr>
335
+ </table>
336
+ </div>
337
+
338
+ <div class="method_details ">
339
+ <p class="signature " id="user_authorized?-instance_method">
340
+
341
+ - (<tt>Boolean</tt>) <strong>user_authorized?</strong>(reqs, require_all = true)
342
+
343
+
344
+
345
+ </p><div class="docstring">
346
+ <div class="discussion">
347
+ <p>Checks if the user has the specified permissions for the current
348
+ extension that was called. Returns true if this is the case and false
349
+ otherwise.</p>
350
+ <p>should have <span class="caps">ALL</span> specified permissios. Setting this to false causes
351
+ this method to return true if any of the permissions are set for the
352
+ current user.</p>
353
+
354
+ </div>
355
+ </div>
356
+ <div class="tags">
357
+ <h3>Parameters:</h3>
358
+ <ul class="param">
359
+
360
+ <li>
361
+
362
+ <span class='type'>(<tt>Array</tt>)</span>
363
+
364
+
365
+ <span class='name'>reqs</span>
366
+
367
+
368
+
369
+ &mdash;
370
+ <div class='inline'><p>Array of permissions that are required.</p></div>
371
+
372
+ </li>
373
+
374
+ <li>
375
+
376
+ <span class='type'>(<tt>Boolean</tt>)</span>
377
+
378
+
379
+ <span class='name'>require_all</span>
380
+
381
+
382
+ <em class="default">(defaults to: <tt>true</tt>)</em>
383
+
384
+
385
+ &mdash;
386
+ <div class='inline'><p>Boolean that specifies that the user</p></div>
387
+
388
+ </li>
389
+
390
+ </ul>
391
+ <h3>Returns:</h3>
392
+ <ul class="return">
393
+
394
+ <li>
395
+
396
+ <span class='type'>(<tt>Boolean</tt>)</span>
397
+
398
+
399
+
400
+
401
+ </li>
402
+
403
+ </ul>
404
+ <h3>Author:</h3>
405
+ <ul class="author">
406
+
407
+ <li>
408
+
409
+
410
+
411
+
412
+
413
+ <div class='inline'><p>Yorick Peterse</p></div>
414
+
415
+ </li>
416
+
417
+ </ul>
418
+ <h3>Since:</h3>
419
+ <ul class="since">
420
+
421
+ <li>
422
+
423
+
424
+
425
+
426
+
427
+ <div class='inline'><p>0.1</p></div>
428
+
429
+ </li>
430
+
431
+ </ul>
432
+
433
+ </div><table class="source_code">
434
+ <tr>
435
+ <td>
436
+ <pre class="lines">
437
+
438
+
439
+ 86
440
+ 87
441
+ 88
442
+ 89
443
+ 90
444
+ 91
445
+ 92
446
+ 93
447
+ 94
448
+ 95
449
+ 96
450
+ 97
451
+ 98
452
+ 99
453
+ 100
454
+ 101
455
+ 102
456
+ 103
457
+ 104
458
+ 105
459
+ 106
460
+ 107
461
+ 108
462
+ 109
463
+ 110
464
+ 111
465
+ 112
466
+ 113
467
+ 114
468
+ 115
469
+ 116
470
+ 117
471
+ 118
472
+ 119
473
+ 120
474
+ 121</pre>
475
+ </td>
476
+ <td>
477
+ <pre class="code"><span class="info file"># File '/Applications/MAMP/htdocs/ruby/zen/zen/lib/zen/helper/acl.rb', line 86</span>
478
+
479
+ <span class='kw'>def</span> <span class='id user_authorized?'>user_authorized?</span><span class='lparen'>(</span><span class='id reqs'>reqs</span><span class='comma'>,</span> <span class='id require_all'>require_all</span> <span class='op'>=</span> <span class='kw'>true</span><span class='rparen'>)</span>
480
+ <span class='id identifier'>identifier</span> <span class='op'>=</span> <span class='id ancestral_trait'>ancestral_trait</span><span class='period'>.</span><span class='id values_at'>values_at</span><span class='lparen'>(</span><span class='symbol'>:extension_identifier</span><span class='rparen'>)</span>
481
+ <span class='id identifier'>identifier</span> <span class='op'>=</span> <span class='id identifier'>identifier</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span>
482
+
483
+ <span class='kw'>if</span> <span class='id identifier'>identifier</span><span class='period'>.</span><span class='id nil?'>nil?</span>
484
+ <span class='id raise'>raise</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>You need to specify an extension identifier</span><span class='tstring_end'>&quot;</span></span>
485
+ <span class='kw'>end</span>
486
+
487
+ <span class='comment'># Get the ACL list
488
+ </span> <span class='id rules'>rules</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id extension_permissions'>extension_permissions</span>
489
+ <span class='id super_group'>super_group</span> <span class='op'>=</span> <span class='id rules'>rules</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span>
490
+ <span class='id rules'>rules</span> <span class='op'>=</span> <span class='id rules'>rules</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span>
491
+
492
+ <span class='comment'># Super groups have full access
493
+ </span> <span class='kw'>if</span> <span class='id super_group'>super_group</span> <span class='op'>==</span> <span class='kw'>true</span>
494
+ <span class='kw'>return</span> <span class='kw'>true</span>
495
+ <span class='kw'>end</span>
496
+
497
+ <span class='comment'># Deny access if the identifier is not found
498
+ </span> <span class='kw'>if</span> <span class='op'>!</span><span class='id rules'>rules</span><span class='period'>.</span><span class='id key?'>key?</span><span class='lparen'>(</span><span class='id identifier'>identifier</span><span class='rparen'>)</span>
499
+ <span class='kw'>return</span> <span class='kw'>false</span>
500
+ <span class='kw'>end</span>
501
+
502
+ <span class='comment'># Verify the permissions
503
+ </span> <span class='id perms'>perms</span> <span class='op'>=</span> <span class='id rules'>rules</span><span class='lbracket'>[</span><span class='id identifier'>identifier</span><span class='rbracket'>]</span>
504
+
505
+ <span class='id reqs'>reqs</span><span class='period'>.</span><span class='id each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id req'>req</span><span class='op'>|</span>
506
+ <span class='kw'>if</span> <span class='id require_all'>require_all</span> <span class='op'>==</span> <span class='kw'>false</span> <span class='kw'>and</span> <span class='id perms'>perms</span><span class='period'>.</span><span class='id include?'>include?</span><span class='lparen'>(</span><span class='id req'>req</span><span class='rparen'>)</span>
507
+ <span class='kw'>return</span> <span class='kw'>true</span>
508
+ <span class='kw'>elsif</span> <span class='op'>!</span><span class='id perms'>perms</span><span class='period'>.</span><span class='id include?'>include?</span><span class='lparen'>(</span><span class='id req'>req</span><span class='rparen'>)</span>
509
+ <span class='kw'>return</span> <span class='kw'>false</span>
510
+ <span class='kw'>end</span>
511
+ <span class='kw'>end</span>
512
+
513
+ <span class='kw'>return</span> <span class='kw'>true</span>
514
+ <span class='kw'>end</span></pre>
515
+ </td>
516
+ </tr>
517
+ </table>
518
+ </div>
519
+
520
+ </div>
521
+
522
+ </div>
523
+
524
+ <div id="footer">
525
+ Generated on Sun Feb 6 21:23:59 2011 by
526
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
527
+ 0.6.4 (ruby-1.9.2).
528
+ </div>
529
+
530
+ </body>
531
+ </html>