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,411 @@
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::Breadcrumb</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 (B)</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">Breadcrumb</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::Breadcrumb
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/breadcrumb.rb</dd>
63
+
64
+ </dl>
65
+ <div class="clear"></div>
66
+
67
+ <h2>Overview</h2><div class="docstring">
68
+ <div class="discussion">
69
+ <p>Helper that can be used to quickly generate breadcrumbs without having
70
+ to manually write the <span class="caps">HTML</span> separators and formatting the output correctly.
71
+ In order to create a set of breadcrumbs we first need to call the set_breadcrumbs
72
+ method:</p>
73
+ <pre class="code"><span class='id set_breadcrumbs'>set_breadcrumbs</span> <span class='id segment1'>segment1</span><span class='comma'>,</span> <span class='id segment2'>segment2</span><span class='comma'>,</span> <span class='id segment3'>segment3</span><span class='comma'>,</span> <span class='id etc'>etc</span></pre>
74
+ <p>Each argument will be a segment of the breadcrumbs, separated by a custom character.
75
+ Retrieving the breadcrumbs is super easy:</p>
76
+ <pre class="code"><span class='id get_breadcrumbs'>get_breadcrumbs</span></pre>
77
+ <p>This will generate the correct <span class="caps">HTML</span> and return it, all you have to do is output it.</p>
78
+
79
+ </div>
80
+ </div>
81
+ <div class="tags">
82
+ <h3>Author:</h3>
83
+ <ul class="author">
84
+
85
+ <li>
86
+
87
+
88
+
89
+
90
+
91
+ <div class='inline'><p>Yorick Peterse</p></div>
92
+
93
+ </li>
94
+
95
+ </ul>
96
+ <h3>Since:</h3>
97
+ <ul class="since">
98
+
99
+ <li>
100
+
101
+
102
+
103
+
104
+
105
+ <div class='inline'><p>0.1</p></div>
106
+
107
+ </li>
108
+
109
+ </ul>
110
+
111
+ </div>
112
+
113
+
114
+
115
+ <h2>
116
+ Instance Method Summary
117
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
118
+ </h2>
119
+
120
+ <ul class="summary">
121
+
122
+ <li class="public ">
123
+ <span class="summary_signature">
124
+
125
+ <a href="#get_breadcrumbs-instance_method" title="#get_breadcrumbs (instance method)">- (String) <strong>get_breadcrumbs</strong>(separator = &quot;&amp;raquo;&quot;
126
+ ) </a>
127
+
128
+
129
+
130
+ </span>
131
+
132
+
133
+
134
+
135
+
136
+
137
+
138
+
139
+ <span class="summary_desc"><div class='inline'><p>Retrieves all breacrumbs and separates them either by &#8220;&raquo;&#8221; or a custom element
140
+ set as the first argument of this method.</p></div></span>
141
+
142
+ </li>
143
+
144
+
145
+ <li class="public ">
146
+ <span class="summary_signature">
147
+
148
+ <a href="#set_breadcrumbs-instance_method" title="#set_breadcrumbs (instance method)">- (Object) <strong>set_breadcrumbs</strong>(*args) </a>
149
+
150
+
151
+
152
+ </span>
153
+
154
+
155
+
156
+
157
+
158
+
159
+
160
+
161
+ <span class="summary_desc"><div class='inline'><p>Appends each element to the list of breadcrumb segments.</p></div></span>
162
+
163
+ </li>
164
+
165
+
166
+ </ul>
167
+
168
+
169
+
170
+
171
+ <div id="instance_method_details" class="method_details_list">
172
+ <h2>Instance Method Details</h2>
173
+
174
+
175
+ <div class="method_details first">
176
+ <p class="signature first" id="get_breadcrumbs-instance_method">
177
+
178
+ - (<tt>String</tt>) <strong>get_breadcrumbs</strong>(separator = &quot;&amp;raquo;&quot;
179
+ )
180
+
181
+
182
+
183
+ </p><div class="docstring">
184
+ <div class="discussion">
185
+ <p>Retrieves all breacrumbs and separates them either by &#8220;&raquo;&#8221; or a custom element
186
+ set as the first argument of this method.</p>
187
+
188
+ </div>
189
+ </div>
190
+ <div class="tags">
191
+
192
+ <div class="examples">
193
+ <h3>Examples:</h3>
194
+
195
+ <h4><div class='inline'></div></h4>
196
+ <pre class="example code"><span class='id get_breadcrumbs'>get_breadcrumbs</span> <span class='comment'># =&gt; &quot;Articles &amp;raquo; Edit&quot;</span></pre>
197
+
198
+ <h4><div class='inline'></div></h4>
199
+ <pre class="example code"><span class='id get_breadcrumbs'>get_breadcrumbs</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>&gt;</span><span class='tstring_end'>&quot;</span></span> <span class='comment'># =&gt; &quot;Articles &gt; Edit&quot;</span></pre>
200
+
201
+ </div>
202
+ <h3>Parameters:</h3>
203
+ <ul class="param">
204
+
205
+ <li>
206
+
207
+ <span class='type'>(<tt>String</tt>)</span>
208
+
209
+
210
+ <span class='name'>separator</span>
211
+
212
+
213
+ <em class="default">(defaults to: <tt>&quot;&amp;raquo;&quot;
214
+ </tt>)</em>
215
+
216
+
217
+ &mdash;
218
+ <div class='inline'><p>The <span class="caps">HTML</span> character to use for separating each segment.</p></div>
219
+
220
+ </li>
221
+
222
+ </ul>
223
+ <h3>Returns:</h3>
224
+ <ul class="return">
225
+
226
+ <li>
227
+
228
+ <span class='type'>(<tt>String</tt>)</span>
229
+
230
+
231
+
232
+
233
+ </li>
234
+
235
+ </ul>
236
+ <h3>Author:</h3>
237
+ <ul class="author">
238
+
239
+ <li>
240
+
241
+
242
+
243
+
244
+
245
+ <div class='inline'><p>Yorick Peterse</p></div>
246
+
247
+ </li>
248
+
249
+ </ul>
250
+ <h3>Since:</h3>
251
+ <ul class="since">
252
+
253
+ <li>
254
+
255
+
256
+
257
+
258
+
259
+ <div class='inline'><p>0.1</p></div>
260
+
261
+ </li>
262
+
263
+ </ul>
264
+
265
+ </div><table class="source_code">
266
+ <tr>
267
+ <td>
268
+ <pre class="lines">
269
+
270
+
271
+ 55
272
+ 56
273
+ 57
274
+ 58
275
+ 59
276
+ 60
277
+ 61
278
+ 62
279
+ 63
280
+ 64
281
+ 65
282
+ 66
283
+ 67
284
+ 68</pre>
285
+ </td>
286
+ <td>
287
+ <pre class="code"><span class="info file"># File '/Applications/MAMP/htdocs/ruby/zen/zen/lib/zen/helper/breadcrumb.rb', line 55</span>
288
+
289
+ <span class='kw'>def</span> <span class='id get_breadcrumbs'>get_breadcrumbs</span> <span class='id separator'>separator</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>&amp;raquo;</span><span class='tstring_end'>&quot;</span></span>
290
+ <span class='kw'>if</span> <span class='op'>!</span><span class='ivar'>@breadcrumbs</span> <span class='kw'>or</span> <span class='ivar'>@breadcrumbs</span><span class='period'>.</span><span class='id empty?'>empty?</span>
291
+ <span class='kw'>return</span>
292
+ <span class='kw'>end</span>
293
+
294
+ <span class='id html'>html</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span>
295
+ <span class='id separator'>separator</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id separator'>separator</span><span class='rbrace'>}</span><span class='tstring_content'> </span><span class='tstring_end'>&quot;</span></span>
296
+
297
+ <span class='ivar'>@breadcrumbs</span><span class='period'>.</span><span class='id each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id segment'>segment</span><span class='op'>|</span>
298
+ <span class='id html'>html</span> <span class='op'>+=</span> <span class='id segment'>segment</span> <span class='op'>+</span> <span class='id separator'>separator</span>
299
+ <span class='kw'>end</span>
300
+
301
+ <span class='kw'>return</span> <span class='id html'>html</span><span class='period'>.</span><span class='id chomp'>chomp</span><span class='lparen'>(</span><span class='id separator'>separator</span><span class='rparen'>)</span>
302
+ <span class='kw'>end</span></pre>
303
+ </td>
304
+ </tr>
305
+ </table>
306
+ </div>
307
+
308
+ <div class="method_details ">
309
+ <p class="signature " id="set_breadcrumbs-instance_method">
310
+
311
+ - (<tt>Object</tt>) <strong>set_breadcrumbs</strong>(*args)
312
+
313
+
314
+
315
+ </p><div class="docstring">
316
+ <div class="discussion">
317
+ <p>Appends each element to the list of breadcrumb segments.</p>
318
+ <p>Note that you&#8217;ll have to manually specify anchor tags, this method won&#8217;t automatically
319
+ generate URLs.</p>
320
+
321
+ </div>
322
+ </div>
323
+ <div class="tags">
324
+
325
+ <div class="examples">
326
+ <h3>Examples:</h3>
327
+
328
+ <h4><div class='inline'></div></h4>
329
+ <pre class="example code"><span class='id set_breadcrumbs'>set_breadcrumbs</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Articles</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Edit</span><span class='tstring_end'>&quot;</span></span></pre>
330
+
331
+ </div>
332
+ <h3>Parameters:</h3>
333
+ <ul class="param">
334
+
335
+ <li>
336
+
337
+ <span class='type'>(<tt>Array</tt>)</span>
338
+
339
+
340
+ <span class='name'>args</span>
341
+
342
+
343
+
344
+ &mdash;
345
+ <div class='inline'><p>Array of segments for the breadcrumbs.</p></div>
346
+
347
+ </li>
348
+
349
+ </ul>
350
+ <h3>Author:</h3>
351
+ <ul class="author">
352
+
353
+ <li>
354
+
355
+
356
+
357
+
358
+
359
+ <div class='inline'><p>Yorick Peterse</p></div>
360
+
361
+ </li>
362
+
363
+ </ul>
364
+ <h3>Since:</h3>
365
+ <ul class="since">
366
+
367
+ <li>
368
+
369
+
370
+
371
+
372
+
373
+ <div class='inline'><p>0.1</p></div>
374
+
375
+ </li>
376
+
377
+ </ul>
378
+
379
+ </div><table class="source_code">
380
+ <tr>
381
+ <td>
382
+ <pre class="lines">
383
+
384
+
385
+ 37
386
+ 38
387
+ 39</pre>
388
+ </td>
389
+ <td>
390
+ <pre class="code"><span class="info file"># File '/Applications/MAMP/htdocs/ruby/zen/zen/lib/zen/helper/breadcrumb.rb', line 37</span>
391
+
392
+ <span class='kw'>def</span> <span class='id set_breadcrumbs'>set_breadcrumbs</span> <span class='op'>*</span><span class='id args'>args</span>
393
+ <span class='ivar'>@breadcrumbs</span> <span class='op'>=</span> <span class='id args'>args</span>
394
+ <span class='kw'>end</span></pre>
395
+ </td>
396
+ </tr>
397
+ </table>
398
+ </div>
399
+
400
+ </div>
401
+
402
+ </div>
403
+
404
+ <div id="footer">
405
+ Generated on Sun Feb 6 21:24:01 2011 by
406
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
407
+ 0.6.4 (ruby-1.9.2).
408
+ </div>
409
+
410
+ </body>
411
+ </html>
@@ -0,0 +1,738 @@
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::Common</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="../../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">Common</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::Common
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/common.rb</dd>
63
+
64
+ </dl>
65
+ <div class="clear"></div>
66
+
67
+ <h2>Overview</h2><div class="docstring">
68
+ <div class="discussion">
69
+ <p>Helper that contains several common methods for which creating their
70
+ own helper would be a bit of an overkill.</p>
71
+
72
+ </div>
73
+ </div>
74
+ <div class="tags">
75
+ <h3>Author:</h3>
76
+ <ul class="author">
77
+
78
+ <li>
79
+
80
+
81
+
82
+
83
+
84
+ <div class='inline'><p>Yorick Peterse</p></div>
85
+
86
+ </li>
87
+
88
+ </ul>
89
+ <h3>Since:</h3>
90
+ <ul class="since">
91
+
92
+ <li>
93
+
94
+
95
+
96
+
97
+
98
+ <div class='inline'><p>0.1</p></div>
99
+
100
+ </li>
101
+
102
+ </ul>
103
+
104
+ </div>
105
+
106
+
107
+
108
+ <h2>
109
+ Instance Method Summary
110
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
111
+ </h2>
112
+
113
+ <ul class="summary">
114
+
115
+ <li class="public ">
116
+ <span class="summary_signature">
117
+
118
+ <a href="#anchor_to-instance_method" title="#anchor_to (instance method)">- (String) <strong>anchor_to</strong>(text, url, *attributes) </a>
119
+
120
+
121
+
122
+ </span>
123
+
124
+
125
+
126
+
127
+
128
+
129
+
130
+
131
+ <span class="summary_desc"><div class='inline'><p>Generate an anchor tag inspired by the way Rails does this.</p></div></span>
132
+
133
+ </li>
134
+
135
+
136
+ <li class="public ">
137
+ <span class="summary_signature">
138
+
139
+ <a href="#cycle-instance_method" title="#cycle (instance method)">- (String) <strong>cycle</strong>(*args) </a>
140
+
141
+
142
+
143
+ </span>
144
+
145
+
146
+
147
+
148
+
149
+
150
+
151
+
152
+ <span class="summary_desc"><div class='inline'><p>The cycle method cycles through a specified list of words.</p></div></span>
153
+
154
+ </li>
155
+
156
+
157
+ <li class="public ">
158
+ <span class="summary_signature">
159
+
160
+ <a href="#notification-instance_method" title="#notification (instance method)">- (Object) <strong>notification</strong>(type, title, message, image = nil, sticky = false) </a>
161
+
162
+
163
+
164
+ </span>
165
+
166
+
167
+
168
+
169
+
170
+
171
+
172
+
173
+ <span class="summary_desc"><div class='inline'><p>Generate the required data for showing a Javascript based notification.</p></div></span>
174
+
175
+ </li>
176
+
177
+
178
+ </ul>
179
+
180
+
181
+
182
+
183
+ <div id="instance_method_details" class="method_details_list">
184
+ <h2>Instance Method Details</h2>
185
+
186
+
187
+ <div class="method_details first">
188
+ <p class="signature first" id="anchor_to-instance_method">
189
+
190
+ - (<tt>String</tt>) <strong>anchor_to</strong>(text, url, *attributes)
191
+
192
+
193
+
194
+ </p><div class="docstring">
195
+ <div class="discussion">
196
+ <p>Generate an anchor tag inspired by the way Rails does this.
197
+ The first parameter is the text to display, the second parameter is the <span class="caps">URL</span>.</p>
198
+ <p>The anchor_to tag supports both query string parameters just like the link helper
199
+ that ships with Ramaze but it also supports the possibility of adding <span class="caps">HTML</span>
200
+ attributes such as an ID or class.</p>
201
+ <p>URLs can be formatted in two ways. The first one, which is the most common one,
202
+ is using a path to a controller/method. Simply specify a string such as
203
+ &#8220;controller/method&#8221;. If you want to create an anchor that points to an external
204
+ website, say Google, simply start the string with &#8220;http://&#8221; and you&#8217;re good to go.</p>
205
+ <p>When using a hash the :href key will be used for the link location.
206
+ Other keys will be used to create query string items. If the <span class="caps">URL</span> starts with
207
+ http:// it will be an external <span class="caps">URL</span>.</p>
208
+
209
+ </div>
210
+ </div>
211
+ <div class="tags">
212
+
213
+ <div class="examples">
214
+ <h3>Examples:</h3>
215
+
216
+ <h4><div class='inline'></div></h4>
217
+ <pre class="example code"><span class='comment'># Rather verbose isn't it?
218
+ </span><span class='id anchor_to'>anchor_to</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Google Search</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='lbrace'>{</span><span class='symbol'>:href</span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>http://google.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='symbol'>:q</span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Search term</span><span class='tstring_end'>'</span></span> <span class='rbrace'>}</span><span class='comma'>,</span> <span class='symbol'>:class</span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>anchor_class</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='symbol'>:title</span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Google Search Results :D</span><span class='tstring_end'>'</span></span>
219
+
220
+ <span class='comment'># This is also perfectly fine
221
+ </span><span class='id anchor_to'>anchor_to</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Dashboard</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>dashboard</span><span class='tstring_end'>'</span></span></pre>
222
+
223
+ </div>
224
+ <h3>Parameters:</h3>
225
+ <ul class="param">
226
+
227
+ <li>
228
+
229
+ <span class='type'>(<tt>String</tt>)</span>
230
+
231
+
232
+ <span class='name'>text</span>
233
+
234
+
235
+
236
+ &mdash;
237
+ <div class='inline'><p>The text to display in the anchor tag.</p></div>
238
+
239
+ </li>
240
+
241
+ <li>
242
+
243
+ <span class='type'>(<tt>Hash/String</tt>)</span>
244
+
245
+
246
+ <span class='name'>url</span>
247
+
248
+
249
+
250
+ &mdash;
251
+ <div class='inline'><p>Either a hash or a string that defines the <span class="caps">URL</span>.</p></div>
252
+
253
+ </li>
254
+
255
+ <li>
256
+
257
+ <span class='type'>(<tt>Array</tt>)</span>
258
+
259
+
260
+ <span class='name'>attributes</span>
261
+
262
+
263
+
264
+ &mdash;
265
+ <div class='inline'><p>Optional <span class="caps">HTML</span> attributes to add to the anchor tag.</p></div>
266
+
267
+ </li>
268
+
269
+ </ul>
270
+ <h3>Returns:</h3>
271
+ <ul class="return">
272
+
273
+ <li>
274
+
275
+ <span class='type'>(<tt>String</tt>)</span>
276
+
277
+
278
+
279
+
280
+ </li>
281
+
282
+ </ul>
283
+ <h3>Author:</h3>
284
+ <ul class="author">
285
+
286
+ <li>
287
+
288
+
289
+
290
+
291
+
292
+ <div class='inline'><p>Yorick Peterse</p></div>
293
+
294
+ </li>
295
+
296
+ </ul>
297
+ <h3>Since:</h3>
298
+ <ul class="since">
299
+
300
+ <li>
301
+
302
+
303
+
304
+
305
+
306
+ <div class='inline'><p>0.1</p></div>
307
+
308
+ </li>
309
+
310
+ </ul>
311
+
312
+ </div><table class="source_code">
313
+ <tr>
314
+ <td>
315
+ <pre class="lines">
316
+
317
+
318
+ 72
319
+ 73
320
+ 74
321
+ 75
322
+ 76
323
+ 77
324
+ 78
325
+ 79
326
+ 80
327
+ 81
328
+ 82
329
+ 83
330
+ 84
331
+ 85
332
+ 86
333
+ 87
334
+ 88
335
+ 89
336
+ 90
337
+ 91
338
+ 92
339
+ 93
340
+ 94
341
+ 95
342
+ 96
343
+ 97
344
+ 98
345
+ 99
346
+ 100
347
+ 101
348
+ 102
349
+ 103
350
+ 104
351
+ 105
352
+ 106
353
+ 107
354
+ 108
355
+ 109
356
+ 110
357
+ 111
358
+ 112
359
+ 113
360
+ 114
361
+ 115
362
+ 116
363
+ 117
364
+ 118
365
+ 119
366
+ 120</pre>
367
+ </td>
368
+ <td>
369
+ <pre class="code"><span class="info file"># File '/Applications/MAMP/htdocs/ruby/zen/zen/lib/zen/helper/common.rb', line 72</span>
370
+
371
+ <span class='kw'>def</span> <span class='id anchor_to'>anchor_to</span> <span class='id text'>text</span><span class='comma'>,</span> <span class='id url'>url</span><span class='comma'>,</span> <span class='op'>*</span><span class='id attributes'>attributes</span>
372
+
373
+ <span class='comment'># Sanitize the text and URL
374
+ </span> <span class='id text'>text</span> <span class='op'>=</span> <span class='const'>Rack</span><span class='op'>::</span><span class='const'>Utils</span><span class='period'>.</span><span class='id escape_html'>escape_html</span> <span class='id text'>text</span>
375
+
376
+ <span class='comment'># Get the URL from the second parameter (either a string or a hash).
377
+ </span> <span class='kw'>if</span> <span class='id url'>url</span><span class='period'>.</span><span class='id class'>class</span><span class='period'>.</span><span class='id to_s'>to_s</span> <span class='op'>===</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Hash</span><span class='tstring_end'>'</span></span>
378
+ <span class='comment'># Get the URL from the hash and delete it
379
+ </span> <span class='id anchor_url'>anchor_url</span> <span class='op'>=</span> <span class='id url'>url</span><span class='lbracket'>[</span><span class='symbol'>:href</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id strip'>strip</span>
380
+ <span class='id url'>url</span><span class='period'>.</span><span class='id delete'>delete</span><span class='lparen'>(</span><span class='id anchor_url'>anchor_url</span><span class='rparen'>)</span>
381
+
382
+ <span class='comment'># Generate the query string based on the left over values in the URL hash
383
+ </span> <span class='id query_string'>query_string</span> <span class='op'>=</span> <span class='const'>Rack</span><span class='op'>::</span><span class='const'>Utils</span><span class='period'>.</span><span class='id build_query'>build_query</span> <span class='id url'>url</span>
384
+
385
+ <span class='comment'># Create the full URL
386
+ </span> <span class='id anchor_url'>anchor_url</span> <span class='op'>=</span> <span class='id anchor_url'>anchor_url</span> <span class='op'>+</span> <span class='id query_string'>query_string</span>
387
+ <span class='kw'>else</span>
388
+ <span class='id anchor_url'>anchor_url</span> <span class='op'>=</span> <span class='id url'>url</span>
389
+ <span class='kw'>end</span>
390
+
391
+ <span class='comment'># Got attributes?
392
+ </span> <span class='kw'>if</span> <span class='op'>!</span><span class='id attributes'>attributes</span> <span class='kw'>or</span> <span class='id attributes'>attributes</span><span class='period'>.</span><span class='id empty?'>empty?</span>
393
+ <span class='id attributes'>attributes</span> <span class='op'>=</span> <span class='const'>Hash</span><span class='period'>.</span><span class='id new'>new</span>
394
+ <span class='kw'>else</span>
395
+ <span class='id attributes'>attributes</span> <span class='op'>=</span> <span class='id attributes'>attributes</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span>
396
+ <span class='kw'>end</span>
397
+
398
+ <span class='comment'># Check to see if we're dealing with an internal or external URL
399
+ </span> <span class='kw'>if</span> <span class='op'>!</span><span class='id anchor_url'>anchor_url</span><span class='period'>.</span><span class='id include?'>include?</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>://</span><span class='tstring_end'>'</span></span> <span class='kw'>or</span> <span class='op'>!</span><span class='id anchor_url'>anchor_url</span><span class='period'>.</span><span class='id include?'>include?</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>www.</span><span class='tstring_end'>'</span></span>
400
+ <span class='id anchor_url'>anchor_url</span> <span class='op'>=</span> <span class='id request'>request</span><span class='period'>.</span><span class='id domain'>domain</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>/</span><span class='embexpr_beg'>#{</span><span class='id anchor_url'>anchor_url</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
401
+ <span class='kw'>end</span>
402
+
403
+ <span class='comment'># Add the href attribute so it gets processed
404
+ </span> <span class='id attributes'>attributes</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>href</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id anchor_url'>anchor_url</span>
405
+
406
+ <span class='comment'># Add all the extra arguments
407
+ </span> <span class='id html_attributes'>html_attributes</span> <span class='op'>=</span> <span class='const'>String</span><span class='period'>.</span><span class='id new'>new</span>
408
+
409
+ <span class='id attributes'>attributes</span><span class='period'>.</span><span class='id each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id attribute'>attribute</span><span class='comma'>,</span> <span class='id value'>value</span><span class='op'>|</span>
410
+ <span class='id attribute'>attribute</span> <span class='op'>=</span> <span class='const'>Rack</span><span class='op'>::</span><span class='const'>Utils</span><span class='period'>.</span><span class='id escape_html'>escape_html</span> <span class='id attribute'>attribute</span>
411
+ <span class='id html_attributes'>html_attributes</span> <span class='op'>+=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id attribute'>attribute</span><span class='rbrace'>}</span><span class='tstring_content'>=\&quot;</span><span class='embexpr_beg'>#{</span><span class='id value'>value</span><span class='rbrace'>}</span><span class='tstring_content'>\&quot; </span><span class='tstring_end'>&quot;</span></span>
412
+ <span class='kw'>end</span>
413
+
414
+ <span class='comment'># Remove the trailing space
415
+ </span> <span class='id html_attributes'>html_attributes</span> <span class='op'>=</span> <span class='id html_attributes'>html_attributes</span><span class='period'>.</span><span class='id strip'>strip</span>
416
+
417
+ <span class='comment'># Return the tag
418
+ </span> <span class='kw'>return</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>&lt;a </span><span class='embexpr_beg'>#{</span><span class='id html_attributes'>html_attributes</span><span class='rbrace'>}</span><span class='tstring_content'>&gt;</span><span class='embexpr_beg'>#{</span><span class='id text'>text</span><span class='rbrace'>}</span><span class='tstring_content'>&lt;/a&gt;</span><span class='tstring_end'>&quot;</span></span>
419
+ <span class='kw'>end</span></pre>
420
+ </td>
421
+ </tr>
422
+ </table>
423
+ </div>
424
+
425
+ <div class="method_details ">
426
+ <p class="signature " id="cycle-instance_method">
427
+
428
+ - (<tt>String</tt>) <strong>cycle</strong>(*args)
429
+
430
+
431
+
432
+ </p><div class="docstring">
433
+ <div class="discussion">
434
+ <p>The cycle method cycles through a specified list of words. This helper can be
435
+ used to generate &#8220;zebra&#8221; tables, meaning that every odd row has a different color.</p>
436
+ <p>The amount of words you want to cycle through is completely customizable,
437
+ however you should atleast have two words otherwise this method will be
438
+ completely useless.</p>
439
+
440
+ </div>
441
+ </div>
442
+ <div class="tags">
443
+ <h3>Parameters:</h3>
444
+ <ul class="param">
445
+
446
+ <li>
447
+
448
+ <span class='type'>(<tt>Array</tt>)</span>
449
+
450
+
451
+ <span class='name'>args</span>
452
+
453
+
454
+
455
+ &mdash;
456
+ <div class='inline'><p>All words to cycle through.</p></div>
457
+
458
+ </li>
459
+
460
+ </ul>
461
+ <h3>Returns:</h3>
462
+ <ul class="return">
463
+
464
+ <li>
465
+
466
+ <span class='type'>(<tt>String</tt>)</span>
467
+
468
+
469
+
470
+
471
+ </li>
472
+
473
+ </ul>
474
+ <h3>Author:</h3>
475
+ <ul class="author">
476
+
477
+ <li>
478
+
479
+
480
+
481
+
482
+
483
+ <div class='inline'><p>Yorick Peterse</p></div>
484
+
485
+ </li>
486
+
487
+ </ul>
488
+ <h3>Since:</h3>
489
+ <ul class="since">
490
+
491
+ <li>
492
+
493
+
494
+
495
+
496
+
497
+ <div class='inline'><p>0.1</p></div>
498
+
499
+ </li>
500
+
501
+ </ul>
502
+
503
+ </div><table class="source_code">
504
+ <tr>
505
+ <td>
506
+ <pre class="lines">
507
+
508
+
509
+ 135
510
+ 136
511
+ 137
512
+ 138
513
+ 139
514
+ 140
515
+ 141
516
+ 142
517
+ 143
518
+ 144
519
+ 145
520
+ 146
521
+ 147
522
+ 148
523
+ 149
524
+ 150
525
+ 151
526
+ 152
527
+ 153
528
+ 154</pre>
529
+ </td>
530
+ <td>
531
+ <pre class="code"><span class="info file"># File '/Applications/MAMP/htdocs/ruby/zen/zen/lib/zen/helper/common.rb', line 135</span>
532
+
533
+ <span class='kw'>def</span> <span class='id cycle'>cycle</span> <span class='op'>*</span><span class='id args'>args</span>
534
+ <span class='kw'>if</span> <span class='cvar'>@@cycle_counter</span><span class='period'>.</span><span class='id nil?'>nil?</span>
535
+ <span class='cvar'>@@cycle_counter</span> <span class='op'>=</span> <span class='int'>0</span>
536
+ <span class='kw'>end</span>
537
+
538
+ <span class='comment'># Check the current counter and reset it if it matches the total amount of arguments
539
+ </span> <span class='kw'>if</span> <span class='cvar'>@@cycle_counter</span> <span class='op'>&gt;=</span> <span class='id args'>args</span><span class='period'>.</span><span class='id count'>count</span>
540
+ <span class='comment'># Reset the counter
541
+ </span> <span class='cvar'>@@cycle_counter</span> <span class='op'>=</span> <span class='int'>0</span>
542
+ <span class='kw'>end</span>
543
+
544
+ <span class='comment'># Get the element based on the current index
545
+ </span> <span class='id cycle_element'>cycle_element</span> <span class='op'>=</span> <span class='id args'>args</span><span class='lbracket'>[</span><span class='cvar'>@@cycle_counter</span><span class='rbracket'>]</span>
546
+
547
+ <span class='comment'># Increment the counter
548
+ </span> <span class='cvar'>@@cycle_counter</span> <span class='op'>+=</span> <span class='int'>1</span>
549
+
550
+ <span class='comment'># Return the cycle element
551
+ </span> <span class='kw'>return</span> <span class='id cycle_element'>cycle_element</span>
552
+ <span class='kw'>end</span></pre>
553
+ </td>
554
+ </tr>
555
+ </table>
556
+ </div>
557
+
558
+ <div class="method_details ">
559
+ <p class="signature " id="notification-instance_method">
560
+
561
+ - (<tt>Object</tt>) <strong>notification</strong>(type, title, message, image = nil, sticky = false)
562
+
563
+
564
+
565
+ </p><div class="docstring">
566
+ <div class="discussion">
567
+ <p>Generate the required data for showing a Javascript based notification.
568
+ Basically all this method does is storing a hash in the flash data and
569
+ making the required code to do so slightly shorter.</p>
570
+ <p>the type of notification will be used for the image. For example, an error message would
571
+ result in an image named &#8220;error.png&#8221; (.png is used for all default icons).
572
+ be automatically removed after a certain period of time.</p>
573
+
574
+ </div>
575
+ </div>
576
+ <div class="tags">
577
+ <h3>Parameters:</h3>
578
+ <ul class="param">
579
+
580
+ <li>
581
+
582
+ <span class='type'>(<tt>Symbol</tt>)</span>
583
+
584
+
585
+ <span class='name'>type</span>
586
+
587
+
588
+
589
+ &mdash;
590
+ <div class='inline'><p>The type of notification to generate (error, notice, etc).</p></div>
591
+
592
+ </li>
593
+
594
+ <li>
595
+
596
+ <span class='type'>(<tt>String</tt>)</span>
597
+
598
+
599
+ <span class='name'>title</span>
600
+
601
+
602
+
603
+ &mdash;
604
+ <div class='inline'><p>The title of the notification.</p></div>
605
+
606
+ </li>
607
+
608
+ <li>
609
+
610
+ <span class='type'>(<tt>String</tt>)</span>
611
+
612
+
613
+ <span class='name'>message</span>
614
+
615
+
616
+
617
+ &mdash;
618
+ <div class='inline'><p>The message to display in the notification.</p></div>
619
+
620
+ </li>
621
+
622
+ <li>
623
+
624
+ <span class='type'>(<tt>String</tt>)</span>
625
+
626
+
627
+ <span class='name'>image</span>
628
+
629
+
630
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
631
+
632
+
633
+ &mdash;
634
+ <div class='inline'><p>An optional path to a custom image to use. If no image is specified</p></div>
635
+
636
+ </li>
637
+
638
+ <li>
639
+
640
+ <span class='type'>(<tt>Boolean</tt>)</span>
641
+
642
+
643
+ <span class='name'>sticky</span>
644
+
645
+
646
+ <em class="default">(defaults to: <tt>false</tt>)</em>
647
+
648
+
649
+ &mdash;
650
+ <div class='inline'><p>Boolean that indicates that the notification shouldn&#8217;t</p></div>
651
+
652
+ </li>
653
+
654
+ </ul>
655
+ <h3>Author:</h3>
656
+ <ul class="author">
657
+
658
+ <li>
659
+
660
+
661
+
662
+
663
+
664
+ <div class='inline'><p>Yorick Peterse</p></div>
665
+
666
+ </li>
667
+
668
+ </ul>
669
+ <h3>Since:</h3>
670
+ <ul class="since">
671
+
672
+ <li>
673
+
674
+
675
+
676
+
677
+
678
+ <div class='inline'><p>0.1</p></div>
679
+
680
+ </li>
681
+
682
+ </ul>
683
+
684
+ </div><table class="source_code">
685
+ <tr>
686
+ <td>
687
+ <pre class="lines">
688
+
689
+
690
+ 27
691
+ 28
692
+ 29
693
+ 30
694
+ 31
695
+ 32
696
+ 33
697
+ 34
698
+ 35
699
+ 36
700
+ 37
701
+ 38
702
+ 39
703
+ 40</pre>
704
+ </td>
705
+ <td>
706
+ <pre class="code"><span class="info file"># File '/Applications/MAMP/htdocs/ruby/zen/zen/lib/zen/helper/common.rb', line 27</span>
707
+
708
+ <span class='kw'>def</span> <span class='id notification'>notification</span> <span class='id type'>type</span><span class='comma'>,</span> <span class='id title'>title</span><span class='comma'>,</span> <span class='id message'>message</span><span class='comma'>,</span> <span class='id image'>image</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id sticky'>sticky</span> <span class='op'>=</span> <span class='kw'>false</span>
709
+ <span class='kw'>if</span> <span class='id image'>image</span><span class='period'>.</span><span class='id nil?'>nil?</span>
710
+ <span class='id image'>image</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>/admin/images/icons/large/</span><span class='embexpr_beg'>#{</span><span class='id type'>type</span><span class='period'>.</span><span class='id to_s'>to_s</span><span class='rbrace'>}</span><span class='tstring_content'>.png</span><span class='tstring_end'>&quot;</span></span>
711
+ <span class='kw'>end</span>
712
+
713
+ <span class='id sticky'>sticky</span> <span class='op'>=</span> <span class='kw'>true</span> <span class='kw'>if</span> <span class='id type'>type</span> <span class='op'>===</span> <span class='symbol'>:error</span>
714
+
715
+ <span class='id flash'>flash</span><span class='lbracket'>[</span><span class='symbol'>:notification</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='lbrace'>{</span>
716
+ <span class='symbol'>:title</span> <span class='op'>=&gt;</span> <span class='id title'>title</span><span class='comma'>,</span>
717
+ <span class='symbol'>:content</span> <span class='op'>=&gt;</span> <span class='id message'>message</span><span class='comma'>,</span>
718
+ <span class='symbol'>:image</span> <span class='op'>=&gt;</span> <span class='id image'>image</span><span class='comma'>,</span>
719
+ <span class='symbol'>:sticky</span> <span class='op'>=&gt;</span> <span class='id sticky'>sticky</span>
720
+ <span class='rbrace'>}</span>
721
+ <span class='kw'>end</span></pre>
722
+ </td>
723
+ </tr>
724
+ </table>
725
+ </div>
726
+
727
+ </div>
728
+
729
+ </div>
730
+
731
+ <div id="footer">
732
+ Generated on Sun Feb 6 21:24:00 2011 by
733
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
734
+ 0.6.4 (ruby-1.9.2).
735
+ </div>
736
+
737
+ </body>
738
+ </html>