zen 0.1a

Sign up to get free protection for your applications and to get access to all the features.
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>