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.
- data/LICENSE +19 -0
- data/MANIFEST +337 -0
- data/README.textile +42 -0
- data/Rakefile +6 -0
- data/bin/zen +9 -0
- data/doc/Categories.html +93 -0
- data/doc/Categories/Controllers.html +93 -0
- data/doc/Categories/Controllers/Categories.html +995 -0
- data/doc/Categories/Controllers/CategoryGroups.html +878 -0
- data/doc/Categories/Models.html +97 -0
- data/doc/Categories/Models/Category.html +269 -0
- data/doc/Categories/Models/CategoryGroup.html +231 -0
- data/doc/Comments.html +93 -0
- data/doc/Comments/Controllers.html +93 -0
- data/doc/Comments/Controllers/Comments.html +797 -0
- data/doc/Comments/Controllers/CommentsForm.html +487 -0
- data/doc/Comments/Liquid.html +93 -0
- data/doc/Comments/Liquid/CommentForm.html +522 -0
- data/doc/Comments/Liquid/Comments.html +543 -0
- data/doc/Comments/Models.html +95 -0
- data/doc/Comments/Models/Comment.html +260 -0
- data/doc/CustomFields.html +93 -0
- data/doc/CustomFields/Controllers.html +93 -0
- data/doc/CustomFields/Controllers/CustomFieldGroups.html +902 -0
- data/doc/CustomFields/Controllers/CustomFields.html +974 -0
- data/doc/CustomFields/Models.html +97 -0
- data/doc/CustomFields/Models/CustomField.html +272 -0
- data/doc/CustomFields/Models/CustomFieldGroup.html +259 -0
- data/doc/CustomFields/Models/CustomFieldValue.html +154 -0
- data/doc/Ramaze.html +93 -0
- data/doc/Ramaze/Helper.html +93 -0
- data/doc/Ramaze/Helper/ACL.html +531 -0
- data/doc/Ramaze/Helper/Asset.html +617 -0
- data/doc/Ramaze/Helper/Breadcrumb.html +411 -0
- data/doc/Ramaze/Helper/Common.html +738 -0
- data/doc/Sections.html +93 -0
- data/doc/Sections/Controllers.html +93 -0
- data/doc/Sections/Controllers/SectionEntries.html +1100 -0
- data/doc/Sections/Controllers/Sections.html +953 -0
- data/doc/Sections/Liquid.html +93 -0
- data/doc/Sections/Liquid/SectionEntries.html +674 -0
- data/doc/Sections/Liquid/Sections.html +494 -0
- data/doc/Sections/Models.html +97 -0
- data/doc/Sections/Models/Section.html +272 -0
- data/doc/Sections/Models/SectionEntry.html +264 -0
- data/doc/Sequel.html +91 -0
- data/doc/Sequel/Model.html +243 -0
- data/doc/Settings.html +93 -0
- data/doc/Settings/Controllers.html +91 -0
- data/doc/Settings/Controllers/Settings.html +565 -0
- data/doc/Settings/Liquid.html +91 -0
- data/doc/Settings/Liquid/Setting.html +426 -0
- data/doc/Settings/Models.html +95 -0
- data/doc/Settings/Models/Setting.html +293 -0
- data/doc/Users.html +93 -0
- data/doc/Users/Controllers.html +93 -0
- data/doc/Users/Controllers/AccessRules.html +904 -0
- data/doc/Users/Controllers/UserGroups.html +879 -0
- data/doc/Users/Controllers/Users.html +1124 -0
- data/doc/Users/Liquid.html +93 -0
- data/doc/Users/Liquid/User.html +480 -0
- data/doc/Users/Liquid/Users.html +495 -0
- data/doc/Users/Models.html +97 -0
- data/doc/Users/Models/AccessRule.html +257 -0
- data/doc/Users/Models/User.html +649 -0
- data/doc/Users/Models/UserGroup.html +267 -0
- data/doc/Zen.html +391 -0
- data/doc/Zen/Bin.html +113 -0
- data/doc/Zen/Bin/Base.html +727 -0
- data/doc/Zen/Controllers.html +115 -0
- data/doc/Zen/Controllers/AdminController.html +298 -0
- data/doc/Zen/Controllers/BaseController.html +272 -0
- data/doc/Zen/Controllers/FrontendController.html +164 -0
- data/doc/Zen/Controllers/MainController.html +421 -0
- data/doc/Zen/Database.html +498 -0
- data/doc/Zen/Language.html +660 -0
- data/doc/Zen/Liquid.html +117 -0
- data/doc/Zen/Liquid/ControllerBehavior.html +448 -0
- data/doc/Zen/Liquid/General.html +444 -0
- data/doc/Zen/Liquid/Redirect.html +435 -0
- data/doc/Zen/Liquid/Strip.html +447 -0
- data/doc/Zen/Logger.html +393 -0
- data/doc/Zen/Package.html +909 -0
- data/doc/_index.html +724 -0
- data/doc/class_list.html +36 -0
- data/doc/css/common.css +1 -0
- data/doc/css/full_list.css +53 -0
- data/doc/css/style.css +310 -0
- data/doc/file.README.html +86 -0
- data/doc/file_list.html +38 -0
- data/doc/frames.html +13 -0
- data/doc/index.html +86 -0
- data/doc/js/app.js +203 -0
- data/doc/js/full_list.js +149 -0
- data/doc/js/jquery.js +154 -0
- data/doc/method_list.html +1139 -0
- data/doc/top-level-namespace.html +88 -0
- data/lib/zen.rb +77 -0
- data/lib/zen/base/database.rb +105 -0
- data/lib/zen/base/language.rb +132 -0
- data/lib/zen/base/logger.rb +54 -0
- data/lib/zen/base/package.rb +233 -0
- data/lib/zen/base/version.rb +11 -0
- data/lib/zen/bin/zen_binary.rb +173 -0
- data/lib/zen/controller/admin_controller.rb +60 -0
- data/lib/zen/controller/base_controller.rb +39 -0
- data/lib/zen/controller/frontend_controller.rb +16 -0
- data/lib/zen/controller/main_controller.rb +93 -0
- data/lib/zen/helper/acl.rb +124 -0
- data/lib/zen/helper/asset.rb +104 -0
- data/lib/zen/helper/breadcrumb.rb +71 -0
- data/lib/zen/helper/common.rb +157 -0
- data/lib/zen/language/en/zen_general.rb +21 -0
- data/lib/zen/language/en/zen_models.rb +39 -0
- data/lib/zen/layout/admin.xhtml +72 -0
- data/lib/zen/layout/login.xhtml +44 -0
- data/lib/zen/liquid/controller_behavior.rb +55 -0
- data/lib/zen/liquid/general.rb +69 -0
- data/lib/zen/liquid/redirect.rb +47 -0
- data/lib/zen/liquid/strip.rb +58 -0
- data/lib/zen/model/methods.rb +26 -0
- data/lib/zen/model/settings.rb +27 -0
- data/lib/zen/packages/categories/LICENSE +19 -0
- data/lib/zen/packages/categories/README.textile +0 -0
- data/lib/zen/packages/categories/lib/categories.rb +24 -0
- data/lib/zen/packages/categories/lib/categories/controller/categories.rb +202 -0
- data/lib/zen/packages/categories/lib/categories/controller/category_groups.rb +173 -0
- data/lib/zen/packages/categories/lib/categories/language/en/categories.rb +38 -0
- data/lib/zen/packages/categories/lib/categories/language/en/category_groups.rb +37 -0
- data/lib/zen/packages/categories/lib/categories/model/category.rb +42 -0
- data/lib/zen/packages/categories/lib/categories/model/category_group.rb +29 -0
- data/lib/zen/packages/categories/lib/categories/view/admin/categories/edit.xhtml +7 -0
- data/lib/zen/packages/categories/lib/categories/view/admin/categories/form.xhtml +36 -0
- data/lib/zen/packages/categories/lib/categories/view/admin/categories/index.xhtml +70 -0
- data/lib/zen/packages/categories/lib/categories/view/admin/categories/new.xhtml +7 -0
- data/lib/zen/packages/categories/lib/categories/view/admin/category_groups/edit.xhtml +7 -0
- data/lib/zen/packages/categories/lib/categories/view/admin/category_groups/form.xhtml +18 -0
- data/lib/zen/packages/categories/lib/categories/view/admin/category_groups/index.xhtml +72 -0
- data/lib/zen/packages/categories/lib/categories/view/admin/category_groups/new.xhtml +7 -0
- data/lib/zen/packages/categories/migrations/.gitkeep +0 -0
- data/lib/zen/packages/categories/migrations/1295282303_create_schema.rb +40 -0
- data/lib/zen/packages/comments/LICENSE +19 -0
- data/lib/zen/packages/comments/README.textile +0 -0
- data/lib/zen/packages/comments/lib/comments.rb +26 -0
- data/lib/zen/packages/comments/lib/comments/controller/comments.rb +157 -0
- data/lib/zen/packages/comments/lib/comments/controller/comments_form.rb +135 -0
- data/lib/zen/packages/comments/lib/comments/language/en/comments.rb +52 -0
- data/lib/zen/packages/comments/lib/comments/liquid/comment_form.rb +97 -0
- data/lib/zen/packages/comments/lib/comments/liquid/comments.rb +115 -0
- data/lib/zen/packages/comments/lib/comments/model/comment.rb +34 -0
- data/lib/zen/packages/comments/lib/comments/view/admin/comments/edit.xhtml +7 -0
- data/lib/zen/packages/comments/lib/comments/view/admin/comments/form.xhtml +31 -0
- data/lib/zen/packages/comments/lib/comments/view/admin/comments/index.xhtml +74 -0
- data/lib/zen/packages/comments/migrations/.gitkeep +0 -0
- data/lib/zen/packages/comments/migrations/1295282202_create_schema.rb +24 -0
- data/lib/zen/packages/comments/migrations/1296949631_add_defensio_signature.rb +11 -0
- data/lib/zen/packages/custom_fields/LICENSE +19 -0
- data/lib/zen/packages/custom_fields/README.textile +0 -0
- data/lib/zen/packages/custom_fields/lib/custom_fields.rb +24 -0
- data/lib/zen/packages/custom_fields/lib/custom_fields/controller/custom_field_groups.rb +179 -0
- data/lib/zen/packages/custom_fields/lib/custom_fields/controller/custom_fields.rb +194 -0
- data/lib/zen/packages/custom_fields/lib/custom_fields/language/en/custom_field_groups.rb +45 -0
- data/lib/zen/packages/custom_fields/lib/custom_fields/language/en/custom_fields.rb +64 -0
- data/lib/zen/packages/custom_fields/lib/custom_fields/model/custom_field.rb +41 -0
- data/lib/zen/packages/custom_fields/lib/custom_fields/model/custom_field_group.rb +32 -0
- data/lib/zen/packages/custom_fields/lib/custom_fields/model/custom_field_value.rb +20 -0
- data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_field_groups/edit.xhtml +7 -0
- data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_field_groups/form.xhtml +18 -0
- data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_field_groups/index.xhtml +88 -0
- data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_field_groups/new.xhtml +7 -0
- data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_fields/edit.xhtml +7 -0
- data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_fields/form.xhtml +50 -0
- data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_fields/index.xhtml +75 -0
- data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_fields/new.xhtml +7 -0
- data/lib/zen/packages/custom_fields/migrations/.gitkeep +0 -0
- data/lib/zen/packages/custom_fields/migrations/1295255665_create_schema.rb +53 -0
- data/lib/zen/packages/sections/LICENSE +19 -0
- data/lib/zen/packages/sections/README.textile +43 -0
- data/lib/zen/packages/sections/lib/sections.rb +33 -0
- data/lib/zen/packages/sections/lib/sections/controller/section_entries.rb +251 -0
- data/lib/zen/packages/sections/lib/sections/controller/sections.rb +205 -0
- data/lib/zen/packages/sections/lib/sections/language/en/section_entries.rb +58 -0
- data/lib/zen/packages/sections/lib/sections/language/en/sections.rb +63 -0
- data/lib/zen/packages/sections/lib/sections/liquid/section_entries.rb +209 -0
- data/lib/zen/packages/sections/lib/sections/liquid/sections.rb +76 -0
- data/lib/zen/packages/sections/lib/sections/model/section.rb +43 -0
- data/lib/zen/packages/sections/lib/sections/model/section_entry.rb +43 -0
- data/lib/zen/packages/sections/lib/sections/view/admin/edit.xhtml +7 -0
- data/lib/zen/packages/sections/lib/sections/view/admin/form.xhtml +54 -0
- data/lib/zen/packages/sections/lib/sections/view/admin/index.xhtml +77 -0
- data/lib/zen/packages/sections/lib/sections/view/admin/new.xhtml +7 -0
- data/lib/zen/packages/sections/lib/sections/view/admin/section_entries/edit.xhtml +7 -0
- data/lib/zen/packages/sections/lib/sections/view/admin/section_entries/form.xhtml +147 -0
- data/lib/zen/packages/sections/lib/sections/view/admin/section_entries/index.xhtml +74 -0
- data/lib/zen/packages/sections/lib/sections/view/admin/section_entries/new.xhtml +7 -0
- data/lib/zen/packages/sections/migrations/.gitkeep +0 -0
- data/lib/zen/packages/sections/migrations/1295251836_create_schema.rb +35 -0
- data/lib/zen/packages/sections/migrations/1296335671_userdata_section_entries.rb +18 -0
- data/lib/zen/packages/sections/migrations/1296936110_drop_comment_antispam.rb +11 -0
- data/lib/zen/packages/settings/LICENSE +0 -0
- data/lib/zen/packages/settings/README.textile +0 -0
- data/lib/zen/packages/settings/lib/settings.rb +22 -0
- data/lib/zen/packages/settings/lib/settings/controller/settings.rb +113 -0
- data/lib/zen/packages/settings/lib/settings/language/en/settings.rb +56 -0
- data/lib/zen/packages/settings/lib/settings/liquid/setting.rb +56 -0
- data/lib/zen/packages/settings/lib/settings/model/setting.rb +38 -0
- data/lib/zen/packages/settings/lib/settings/view/admin/settings/index.xhtml +79 -0
- data/lib/zen/packages/settings/migrations/.gitkeep +0 -0
- data/lib/zen/packages/settings/migrations/1295597111_create_schema.rb +31 -0
- data/lib/zen/packages/users/LICENSE +19 -0
- data/lib/zen/packages/users/README.textile +0 -0
- data/lib/zen/packages/users/lib/users.rb +35 -0
- data/lib/zen/packages/users/lib/users/controller/access_rules.rb +186 -0
- data/lib/zen/packages/users/lib/users/controller/user_groups.rb +171 -0
- data/lib/zen/packages/users/lib/users/controller/users.rb +240 -0
- data/lib/zen/packages/users/lib/users/language/en/access_rules.rb +49 -0
- data/lib/zen/packages/users/lib/users/language/en/user_groups.rb +42 -0
- data/lib/zen/packages/users/lib/users/language/en/users.rb +63 -0
- data/lib/zen/packages/users/lib/users/liquid/user.rb +75 -0
- data/lib/zen/packages/users/lib/users/liquid/users.rb +80 -0
- data/lib/zen/packages/users/lib/users/model/access_rule.rb +29 -0
- data/lib/zen/packages/users/lib/users/model/user.rb +96 -0
- data/lib/zen/packages/users/lib/users/model/user_group.rb +38 -0
- data/lib/zen/packages/users/lib/users/public/admin/js/users/access_rules.js +43 -0
- data/lib/zen/packages/users/lib/users/view/admin/access_rules/edit.xhtml +7 -0
- data/lib/zen/packages/users/lib/users/view/admin/access_rules/form.xhtml +68 -0
- data/lib/zen/packages/users/lib/users/view/admin/access_rules/index.xhtml +85 -0
- data/lib/zen/packages/users/lib/users/view/admin/access_rules/new.xhtml +7 -0
- data/lib/zen/packages/users/lib/users/view/admin/user_groups/edit.xhtml +7 -0
- data/lib/zen/packages/users/lib/users/view/admin/user_groups/form.xhtml +19 -0
- data/lib/zen/packages/users/lib/users/view/admin/user_groups/index.xhtml +69 -0
- data/lib/zen/packages/users/lib/users/view/admin/user_groups/new.xhtml +7 -0
- data/lib/zen/packages/users/lib/users/view/admin/users/edit.xhtml +7 -0
- data/lib/zen/packages/users/lib/users/view/admin/users/form.xhtml +25 -0
- data/lib/zen/packages/users/lib/users/view/admin/users/index.xhtml +73 -0
- data/lib/zen/packages/users/lib/users/view/admin/users/login.xhtml +22 -0
- data/lib/zen/packages/users/lib/users/view/admin/users/new.xhtml +7 -0
- data/lib/zen/packages/users/migrations/.gitkeep +0 -0
- data/lib/zen/packages/users/migrations/1295281013_create_schema.rb +54 -0
- data/lib/zen/public/admin/css/boilerplate.css +174 -0
- data/lib/zen/public/admin/css/general.css +485 -0
- data/lib/zen/public/admin/css/grid.css +119 -0
- data/lib/zen/public/admin/css/layout.css +111 -0
- data/lib/zen/public/admin/images/general/noise.jpg +0 -0
- data/lib/zen/public/admin/images/icons/accept.png +0 -0
- data/lib/zen/public/admin/images/icons/add.png +0 -0
- data/lib/zen/public/admin/images/icons/back.png +0 -0
- data/lib/zen/public/admin/images/icons/bold.png +0 -0
- data/lib/zen/public/admin/images/icons/close.png +0 -0
- data/lib/zen/public/admin/images/icons/delete.png +0 -0
- data/lib/zen/public/admin/images/icons/edit.png +0 -0
- data/lib/zen/public/admin/images/icons/error.png +0 -0
- data/lib/zen/public/admin/images/icons/help.png +0 -0
- data/lib/zen/public/admin/images/icons/info.png +0 -0
- data/lib/zen/public/admin/images/icons/italic.png +0 -0
- data/lib/zen/public/admin/images/icons/large/error.png +0 -0
- data/lib/zen/public/admin/images/icons/large/notice.png +0 -0
- data/lib/zen/public/admin/images/icons/large/success.png +0 -0
- data/lib/zen/public/admin/images/icons/link.png +0 -0
- data/lib/zen/public/admin/images/icons/logout.png +0 -0
- data/lib/zen/public/admin/images/icons/ol.png +0 -0
- data/lib/zen/public/admin/images/icons/pdf.png +0 -0
- data/lib/zen/public/admin/images/icons/ul.png +0 -0
- data/lib/zen/public/admin/images/icons/user.png +0 -0
- data/lib/zen/public/admin/images/icons/view.png +0 -0
- data/lib/zen/public/admin/js/mootools/core.js +436 -0
- data/lib/zen/public/admin/js/mootools/more.js +288 -0
- data/lib/zen/public/admin/js/zen/editor/base.js +265 -0
- data/lib/zen/public/admin/js/zen/editor/drivers/html.js +104 -0
- data/lib/zen/public/admin/js/zen/editor/drivers/markdown.js +102 -0
- data/lib/zen/public/admin/js/zen/editor/drivers/textile.js +102 -0
- data/lib/zen/public/admin/js/zen/init.js +57 -0
- data/lib/zen/public/admin/js/zen/modal.js +159 -0
- data/lib/zen/public/admin/js/zen/notification.js +213 -0
- data/lib/zen/public/admin/js/zen/tabs.js +263 -0
- data/lib/zen/tasks.rb +6 -0
- data/pkg/.gitkeep +0 -0
- data/proto/app/Rakefile +2 -0
- data/proto/app/app.rb +20 -0
- data/proto/app/config.ru +18 -0
- data/proto/app/config/config.rb +17 -0
- data/proto/app/config/database.rb +18 -0
- data/proto/app/config/middlewares.rb +23 -0
- data/proto/app/config/requires.rb +8 -0
- data/proto/app/logs/.gitkeep +0 -0
- data/proto/app/public/.gitkeep +0 -0
- data/proto/app/start.rb +22 -0
- data/proto/app/vendor/.gitkeep +0 -0
- data/proto/app/vendor/themes/.gitkeep +0 -0
- data/proto/migration.rb +11 -0
- data/proto/module/LICENSE +0 -0
- data/proto/module/README.textile +0 -0
- data/proto/module/lib/module.rb +15 -0
- data/proto/module/lib/module/controller/controllers.rb +86 -0
- data/proto/module/lib/module/language/en/languages.rb +3 -0
- data/proto/module/lib/module/model/model.rb +12 -0
- data/proto/module/lib/module/view/admin/edit.xhtml +0 -0
- data/proto/module/lib/module/view/admin/form.xhtml +0 -0
- data/proto/module/lib/module/view/admin/index.xhtml +0 -0
- data/proto/module/lib/module/view/admin/new.xhtml +0 -0
- data/proto/module/migrations/.gitkeep +0 -0
- data/spec/javascript/css/base.css +177 -0
- data/spec/javascript/css/style.css +204 -0
- data/spec/javascript/css/typography.css +70 -0
- data/spec/javascript/editor/index.html +65 -0
- data/spec/javascript/images/close.png +0 -0
- data/spec/javascript/images/info.png +0 -0
- data/spec/javascript/js/editor.js +16 -0
- data/spec/javascript/js/modal.js +12 -0
- data/spec/javascript/js/namespace.js +2 -0
- data/spec/javascript/js/notification.js +43 -0
- data/spec/javascript/js/tabs.js +8 -0
- data/spec/javascript/modal/index.html +45 -0
- data/spec/javascript/notification/index.html +48 -0
- data/spec/javascript/tabs/index.html +73 -0
- data/spec/javascript/tabs/tab_1.html +1 -0
- data/spec/javascript/tabs/tab_2.html +1 -0
- data/spec/zen/base/language.rb +31 -0
- data/spec/zen/base/logger.rb +34 -0
- data/spec/zen/base/package.rb +47 -0
- data/spec/zen/config/database.rb +8 -0
- data/spec/zen/helper/asset.rb +26 -0
- data/spec/zen/helper/breadcrumb.rb +24 -0
- data/spec/zen/language/en/general.rb +4 -0
- data/spec/zen/language/nl/general.rb +4 -0
- data/spec/zen/liquid/general.rb +42 -0
- data/spec/zen/logs/.gitkeep +0 -0
- data/spec/zen/spec.rb +9 -0
- data/spec/zen/spec_database.db +0 -0
- data/tasks/bacon.rake +99 -0
- data/tasks/build.rake +72 -0
- data/tasks/clean.rake +18 -0
- data/tasks/db.rake +81 -0
- data/tasks/doc.rake +5 -0
- data/tasks/extension.rake +65 -0
- data/tasks/proto.rake +37 -0
- data/tasks/theme.rake +63 -0
- metadata +512 -0
|
@@ -0,0 +1,909 @@
|
|
|
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: Zen::Package</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 (P)</a> »
|
|
27
|
+
<span class='title'><span class='object_link'><a href="../Zen.html" title="Zen (module)">Zen</a></span></span>
|
|
28
|
+
»
|
|
29
|
+
<span class="title">Package</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: Zen::Package
|
|
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/base/package.rb</dd>
|
|
63
|
+
|
|
64
|
+
</dl>
|
|
65
|
+
<div class="clear"></div>
|
|
66
|
+
|
|
67
|
+
<h2>Overview</h2><div class="docstring">
|
|
68
|
+
<div class="discussion">
|
|
69
|
+
<p>Module used for registering extensions and themes, setting their details and the whole shebang.
|
|
70
|
+
Packages follow the same directory structure as Rubygems and can actually be installed
|
|
71
|
+
using either Rubygems or by storing them in a custom directory. As long as you require
|
|
72
|
+
the correct file you’re good to go.</p>
|
|
73
|
+
<p>Packages are added or “described” using a simple block and the add() method as following:</p>
|
|
74
|
+
<pre class="code"><span class='const'>Zen</span><span class='op'>::</span><span class='const'>Package</span><span class='period'>.</span><span class='id add'>add</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id ext'>ext</span><span class='op'>|</span>
|
|
75
|
+
<span class='comment'># ....
|
|
76
|
+
</span><span class='kw'>end</span></pre>
|
|
77
|
+
<p>When using this block you’re required to set the following attributes:</p>
|
|
78
|
+
<ul>
|
|
79
|
+
<li>type: the type of package, can either be “theme” or “extension”</li>
|
|
80
|
+
<li>name: the name of the package</li>
|
|
81
|
+
<li>author: the name of the person who made the package</li>
|
|
82
|
+
<li>version: the current version, either a string or a numeric value</li>
|
|
83
|
+
<li>about: a small description of the package</li>
|
|
84
|
+
<li>url: the <span class="caps">URL</span> to the package’s website</li>
|
|
85
|
+
<li>identifier: unique identifier for the package. The format is com.<span class="caps">AUTHOR</span>.<span class="caps">NAME</span> for
|
|
86
|
+
extensions and com.<span class="caps">AUTHOR</span>.themes.<span class="caps">NAME</span> for themes.</li>
|
|
87
|
+
<li>directory: the root directory of the package, set this using <i><span class="caps">DIR</span></i>(‘path’)</li>
|
|
88
|
+
</ul>
|
|
89
|
+
<p>Optionally you can also specify the attribute “menu” (more on that later).</p>
|
|
90
|
+
<h2>Menu Items</h2>
|
|
91
|
+
<p>The package system easily allows modules to add navigation/sub-navigation elements
|
|
92
|
+
to the backend menu. Each extension can have an attribute named “menu”, this attribute
|
|
93
|
+
is an array of hashes. Each hash must have the following 2 keys (they’re symbols):</p>
|
|
94
|
+
<ul>
|
|
95
|
+
<li>title: the value used for both the title tag and the text of the anchor element</li>
|
|
96
|
+
<li>url: the <span class="caps">URI</span> the navigation item will point to. Leading slash isn’t required</li>
|
|
97
|
+
</ul>
|
|
98
|
+
<p>Optionally you can specify child elements using the “children” key. This key
|
|
99
|
+
will again contain an array of hashes just like regular navigation elements.
|
|
100
|
+
For example, one could do the following:</p>
|
|
101
|
+
<p><code>ext.menu = [{:title => "Dashboard", :url => "admin/dashboard"}]</code></p>
|
|
102
|
+
<p>Adding a number of child elements isn’t very difficult either:</p>
|
|
103
|
+
<pre class="code"><span class='id ext'>ext</span><span class='period'>.</span><span class='id menu'>menu</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='lbrace'>{</span>
|
|
104
|
+
<span class='symbol'>:title</span> <span class='op'>=></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='symbol'>:url</span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>admin/dashboard</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
|
105
|
+
<span class='symbol'>:children</span> <span class='op'>=></span> <span class='lbracket'>[</span><span class='lbrace'>{</span><span class='symbol'>:title</span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Child</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='symbol'>:url</span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>admin/dashboard/child</span><span class='tstring_end'>"</span></span><span class='rbrace'>}</span><span class='rbracket'>]</span>
|
|
106
|
+
<span class='rbrace'>}</span><span class='rbracket'>]</span></pre>
|
|
107
|
+
<p>Once a certain number of navigation elements have been added you can generate the
|
|
108
|
+
<span class="caps">HTML</span> for a fully fledged navigation menu using the build_menu() method. This method
|
|
109
|
+
uses Gestalt to build the <span class="caps">HTML</span> and also takes care of permissions for each user/module.</p>
|
|
110
|
+
<h2>Migrations</h2>
|
|
111
|
+
<p>If your package uses it’s own database tables it’s best to use migrations as these make
|
|
112
|
+
it very easy to install/uninstall the extension. Migrations should be put in the root
|
|
113
|
+
directory of your extension. For example, if your extension is in “foobar” the migrations
|
|
114
|
+
should be located in “foobar/migrations”, the lib directory in “foobar/lib”, etc.</p>
|
|
115
|
+
<p>Migrations can be executed using the Rake task “extension:migrate” or “db:migrate”,
|
|
116
|
+
the latter will install all extensions while the first one will only install the specified
|
|
117
|
+
extension. Migration prototypes can be generated by the Rake task
|
|
118
|
+
“proto:migration[<span class="caps">DIRECTORY</span>]” where <span class="caps">DIRECTORY</span> is the path to your migrations directory.</p>
|
|
119
|
+
<h2>Themes</h2>
|
|
120
|
+
<p>Themes are essentially packages like the sections or comments module except that they
|
|
121
|
+
have a few limitations and work a bit different. First of all themes can’t add navigation
|
|
122
|
+
items to the backend and second they should <em>always</em> have the following directories:</p>
|
|
123
|
+
<ul>
|
|
124
|
+
<li>theme/lib/theme/templates</li>
|
|
125
|
+
<li>theme/lib/theme/public</li>
|
|
126
|
+
</ul>
|
|
127
|
+
<p>The templates directory is used to store all Liquid templates and template groups, the public
|
|
128
|
+
directory is used for <span class="caps">CSS</span> files, images and so on. Themes can have migrations just
|
|
129
|
+
like extensions which makes it relatively easy to share a theme with somebody else.</p>
|
|
130
|
+
|
|
131
|
+
</div>
|
|
132
|
+
</div>
|
|
133
|
+
<div class="tags">
|
|
134
|
+
<h3>Author:</h3>
|
|
135
|
+
<ul class="author">
|
|
136
|
+
|
|
137
|
+
<li>
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
<div class='inline'><p>Yorick Peterse</p></div>
|
|
144
|
+
|
|
145
|
+
</li>
|
|
146
|
+
|
|
147
|
+
</ul>
|
|
148
|
+
<h3>Since:</h3>
|
|
149
|
+
<ul class="since">
|
|
150
|
+
|
|
151
|
+
<li>
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
<div class='inline'><p>0.1</p></div>
|
|
158
|
+
|
|
159
|
+
</li>
|
|
160
|
+
|
|
161
|
+
</ul>
|
|
162
|
+
|
|
163
|
+
</div>
|
|
164
|
+
|
|
165
|
+
<h2>Class Attribute Summary <small>(<a href="#" class="summary_toggle">collapse</a>)</small></h2>
|
|
166
|
+
<ul class="summary">
|
|
167
|
+
|
|
168
|
+
<li class="public ">
|
|
169
|
+
<span class="summary_signature">
|
|
170
|
+
|
|
171
|
+
<a href="#classes-class_method" title="classes (class method)">+ (Object) <strong>classes</strong> </a>
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
</span>
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
<span class="summary_desc"><div class='inline'><p>Returns the value of attribute classes.</p></div></span>
|
|
188
|
+
|
|
189
|
+
</li>
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
<li class="public ">
|
|
193
|
+
<span class="summary_signature">
|
|
194
|
+
|
|
195
|
+
<a href="#extensions-class_method" title="extensions (class method)">+ (Object) <strong>extensions</strong> </a>
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
|
|
199
|
+
</span>
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
<span class="note title readonly">readonly</span>
|
|
203
|
+
|
|
204
|
+
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
<span class="summary_desc"><div class='inline'><p>Returns the value of attribute extensions.</p></div></span>
|
|
212
|
+
|
|
213
|
+
</li>
|
|
214
|
+
|
|
215
|
+
|
|
216
|
+
<li class="public ">
|
|
217
|
+
<span class="summary_signature">
|
|
218
|
+
|
|
219
|
+
<a href="#themes-class_method" title="themes (class method)">+ (Object) <strong>themes</strong> </a>
|
|
220
|
+
|
|
221
|
+
|
|
222
|
+
|
|
223
|
+
</span>
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
<span class="note title readonly">readonly</span>
|
|
227
|
+
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
|
|
234
|
+
|
|
235
|
+
<span class="summary_desc"><div class='inline'><p>Returns the value of attribute themes.</p></div></span>
|
|
236
|
+
|
|
237
|
+
</li>
|
|
238
|
+
|
|
239
|
+
|
|
240
|
+
</ul>
|
|
241
|
+
|
|
242
|
+
|
|
243
|
+
|
|
244
|
+
<h2>
|
|
245
|
+
Class Method Summary
|
|
246
|
+
<small>(<a href="#" class="summary_toggle">collapse</a>)</small>
|
|
247
|
+
</h2>
|
|
248
|
+
|
|
249
|
+
<ul class="summary">
|
|
250
|
+
|
|
251
|
+
<li class="public ">
|
|
252
|
+
<span class="summary_signature">
|
|
253
|
+
|
|
254
|
+
<a href="#%5B%5D-class_method" title="[] (class method)">+ (Object) <strong>[]</strong>(ident) </a>
|
|
255
|
+
|
|
256
|
+
|
|
257
|
+
|
|
258
|
+
</span>
|
|
259
|
+
|
|
260
|
+
|
|
261
|
+
|
|
262
|
+
|
|
263
|
+
|
|
264
|
+
|
|
265
|
+
|
|
266
|
+
|
|
267
|
+
<span class="summary_desc"><div class='inline'><p>Shortcut method that can be used to retrieve an extension or theme based on the
|
|
268
|
+
given extension identifier.</p></div></span>
|
|
269
|
+
|
|
270
|
+
</li>
|
|
271
|
+
|
|
272
|
+
|
|
273
|
+
<li class="public ">
|
|
274
|
+
<span class="summary_signature">
|
|
275
|
+
|
|
276
|
+
<a href="#add-class_method" title="add (class method)">+ (Object) <strong>add</strong>(&block) {|package| ... }</a>
|
|
277
|
+
|
|
278
|
+
|
|
279
|
+
|
|
280
|
+
</span>
|
|
281
|
+
|
|
282
|
+
|
|
283
|
+
|
|
284
|
+
|
|
285
|
+
|
|
286
|
+
|
|
287
|
+
|
|
288
|
+
|
|
289
|
+
<span class="summary_desc"><div class='inline'><p>Adds a new package along with all it’s details such as the name,
|
|
290
|
+
author, version and so on.</p></div></span>
|
|
291
|
+
|
|
292
|
+
</li>
|
|
293
|
+
|
|
294
|
+
|
|
295
|
+
<li class="public ">
|
|
296
|
+
<span class="summary_signature">
|
|
297
|
+
|
|
298
|
+
<a href="#build_menu-class_method" title="build_menu (class method)">+ (Object) <strong>build_menu</strong>(css_class = ''
|
|
299
|
+
) </a>
|
|
300
|
+
|
|
301
|
+
|
|
302
|
+
|
|
303
|
+
</span>
|
|
304
|
+
|
|
305
|
+
|
|
306
|
+
|
|
307
|
+
|
|
308
|
+
|
|
309
|
+
|
|
310
|
+
|
|
311
|
+
|
|
312
|
+
<span class="summary_desc"><div class='inline'><p>Builds a navigation menu for all installed extensions.</p></div></span>
|
|
313
|
+
|
|
314
|
+
</li>
|
|
315
|
+
|
|
316
|
+
|
|
317
|
+
</ul>
|
|
318
|
+
|
|
319
|
+
|
|
320
|
+
|
|
321
|
+
<div id="class_attr_details" class="attr_details">
|
|
322
|
+
<h2>Class Attribute Details</h2>
|
|
323
|
+
|
|
324
|
+
|
|
325
|
+
<span id="classes=-class_method"></span>
|
|
326
|
+
<span id="classes-class_method"></span>
|
|
327
|
+
<div class="method_details first">
|
|
328
|
+
<p class="signature first" id="classes-class_method">
|
|
329
|
+
|
|
330
|
+
+ (<tt>Object</tt>) <strong>classes</strong>
|
|
331
|
+
|
|
332
|
+
|
|
333
|
+
|
|
334
|
+
</p><div class="docstring">
|
|
335
|
+
<div class="discussion">
|
|
336
|
+
<p>Returns the value of attribute classes</p>
|
|
337
|
+
|
|
338
|
+
</div>
|
|
339
|
+
</div>
|
|
340
|
+
<div class="tags">
|
|
341
|
+
<h3>Since:</h3>
|
|
342
|
+
<ul class="since">
|
|
343
|
+
|
|
344
|
+
<li>
|
|
345
|
+
|
|
346
|
+
|
|
347
|
+
|
|
348
|
+
|
|
349
|
+
|
|
350
|
+
<div class='inline'><p>0.1</p></div>
|
|
351
|
+
|
|
352
|
+
</li>
|
|
353
|
+
|
|
354
|
+
</ul>
|
|
355
|
+
|
|
356
|
+
</div><table class="source_code">
|
|
357
|
+
<tr>
|
|
358
|
+
<td>
|
|
359
|
+
<pre class="lines">
|
|
360
|
+
|
|
361
|
+
|
|
362
|
+
88
|
|
363
|
+
89
|
|
364
|
+
90</pre>
|
|
365
|
+
</td>
|
|
366
|
+
<td>
|
|
367
|
+
<pre class="code"><span class="info file"># File '/Applications/MAMP/htdocs/ruby/zen/zen/lib/zen/base/package.rb', line 88</span>
|
|
368
|
+
|
|
369
|
+
<span class='kw'>def</span> <span class='id classes'>classes</span>
|
|
370
|
+
<span class='ivar'>@classes</span>
|
|
371
|
+
<span class='kw'>end</span></pre>
|
|
372
|
+
</td>
|
|
373
|
+
</tr>
|
|
374
|
+
</table>
|
|
375
|
+
</div>
|
|
376
|
+
|
|
377
|
+
|
|
378
|
+
<span id=""></span>
|
|
379
|
+
<span id="extensions-class_method"></span>
|
|
380
|
+
<div class="method_details ">
|
|
381
|
+
<p class="signature " id="extensions-class_method">
|
|
382
|
+
|
|
383
|
+
+ (<tt>Object</tt>) <strong>extensions</strong> <span class="extras">(readonly)</span>
|
|
384
|
+
|
|
385
|
+
|
|
386
|
+
|
|
387
|
+
</p><div class="docstring">
|
|
388
|
+
<div class="discussion">
|
|
389
|
+
<p>Returns the value of attribute extensions</p>
|
|
390
|
+
|
|
391
|
+
</div>
|
|
392
|
+
</div>
|
|
393
|
+
<div class="tags">
|
|
394
|
+
<h3>Since:</h3>
|
|
395
|
+
<ul class="since">
|
|
396
|
+
|
|
397
|
+
<li>
|
|
398
|
+
|
|
399
|
+
|
|
400
|
+
|
|
401
|
+
|
|
402
|
+
|
|
403
|
+
<div class='inline'><p>0.1</p></div>
|
|
404
|
+
|
|
405
|
+
</li>
|
|
406
|
+
|
|
407
|
+
</ul>
|
|
408
|
+
|
|
409
|
+
</div><table class="source_code">
|
|
410
|
+
<tr>
|
|
411
|
+
<td>
|
|
412
|
+
<pre class="lines">
|
|
413
|
+
|
|
414
|
+
|
|
415
|
+
86
|
|
416
|
+
87
|
|
417
|
+
88</pre>
|
|
418
|
+
</td>
|
|
419
|
+
<td>
|
|
420
|
+
<pre class="code"><span class="info file"># File '/Applications/MAMP/htdocs/ruby/zen/zen/lib/zen/base/package.rb', line 86</span>
|
|
421
|
+
|
|
422
|
+
<span class='kw'>def</span> <span class='id extensions'>extensions</span>
|
|
423
|
+
<span class='ivar'>@extensions</span>
|
|
424
|
+
<span class='kw'>end</span></pre>
|
|
425
|
+
</td>
|
|
426
|
+
</tr>
|
|
427
|
+
</table>
|
|
428
|
+
</div>
|
|
429
|
+
|
|
430
|
+
|
|
431
|
+
<span id=""></span>
|
|
432
|
+
<span id="themes-class_method"></span>
|
|
433
|
+
<div class="method_details ">
|
|
434
|
+
<p class="signature " id="themes-class_method">
|
|
435
|
+
|
|
436
|
+
+ (<tt>Object</tt>) <strong>themes</strong> <span class="extras">(readonly)</span>
|
|
437
|
+
|
|
438
|
+
|
|
439
|
+
|
|
440
|
+
</p><div class="docstring">
|
|
441
|
+
<div class="discussion">
|
|
442
|
+
<p>Returns the value of attribute themes</p>
|
|
443
|
+
|
|
444
|
+
</div>
|
|
445
|
+
</div>
|
|
446
|
+
<div class="tags">
|
|
447
|
+
<h3>Since:</h3>
|
|
448
|
+
<ul class="since">
|
|
449
|
+
|
|
450
|
+
<li>
|
|
451
|
+
|
|
452
|
+
|
|
453
|
+
|
|
454
|
+
|
|
455
|
+
|
|
456
|
+
<div class='inline'><p>0.1</p></div>
|
|
457
|
+
|
|
458
|
+
</li>
|
|
459
|
+
|
|
460
|
+
</ul>
|
|
461
|
+
|
|
462
|
+
</div><table class="source_code">
|
|
463
|
+
<tr>
|
|
464
|
+
<td>
|
|
465
|
+
<pre class="lines">
|
|
466
|
+
|
|
467
|
+
|
|
468
|
+
87
|
|
469
|
+
88
|
|
470
|
+
89</pre>
|
|
471
|
+
</td>
|
|
472
|
+
<td>
|
|
473
|
+
<pre class="code"><span class="info file"># File '/Applications/MAMP/htdocs/ruby/zen/zen/lib/zen/base/package.rb', line 87</span>
|
|
474
|
+
|
|
475
|
+
<span class='kw'>def</span> <span class='id themes'>themes</span>
|
|
476
|
+
<span class='ivar'>@themes</span>
|
|
477
|
+
<span class='kw'>end</span></pre>
|
|
478
|
+
</td>
|
|
479
|
+
</tr>
|
|
480
|
+
</table>
|
|
481
|
+
</div>
|
|
482
|
+
|
|
483
|
+
</div>
|
|
484
|
+
|
|
485
|
+
|
|
486
|
+
<div id="class_method_details" class="method_details_list">
|
|
487
|
+
<h2>Class Method Details</h2>
|
|
488
|
+
|
|
489
|
+
|
|
490
|
+
<div class="method_details first">
|
|
491
|
+
<p class="signature first" id="[]-class_method">
|
|
492
|
+
|
|
493
|
+
+ (<tt>Object</tt>) <strong>[]</strong>(ident)
|
|
494
|
+
|
|
495
|
+
|
|
496
|
+
|
|
497
|
+
</p><div class="docstring">
|
|
498
|
+
<div class="discussion">
|
|
499
|
+
<p>Shortcut method that can be used to retrieve an extension or theme based on the
|
|
500
|
+
given extension identifier.</p>
|
|
501
|
+
|
|
502
|
+
</div>
|
|
503
|
+
</div>
|
|
504
|
+
<div class="tags">
|
|
505
|
+
<h3>Parameters:</h3>
|
|
506
|
+
<ul class="param">
|
|
507
|
+
|
|
508
|
+
<li>
|
|
509
|
+
|
|
510
|
+
<span class='type'>(<tt>String</tt>)</span>
|
|
511
|
+
|
|
512
|
+
|
|
513
|
+
<span class='name'>ident</span>
|
|
514
|
+
|
|
515
|
+
|
|
516
|
+
|
|
517
|
+
—
|
|
518
|
+
<div class='inline'><p>The package’s identifier</p></div>
|
|
519
|
+
|
|
520
|
+
</li>
|
|
521
|
+
|
|
522
|
+
</ul>
|
|
523
|
+
<h3>Returns:</h3>
|
|
524
|
+
<ul class="return">
|
|
525
|
+
|
|
526
|
+
<li>
|
|
527
|
+
|
|
528
|
+
<span class='type'>(<tt>Object</tt>)</span>
|
|
529
|
+
|
|
530
|
+
|
|
531
|
+
|
|
532
|
+
|
|
533
|
+
</li>
|
|
534
|
+
|
|
535
|
+
</ul>
|
|
536
|
+
<h3>Author:</h3>
|
|
537
|
+
<ul class="author">
|
|
538
|
+
|
|
539
|
+
<li>
|
|
540
|
+
|
|
541
|
+
|
|
542
|
+
|
|
543
|
+
|
|
544
|
+
|
|
545
|
+
<div class='inline'><p>Yorick Peterse</p></div>
|
|
546
|
+
|
|
547
|
+
</li>
|
|
548
|
+
|
|
549
|
+
</ul>
|
|
550
|
+
<h3>Since:</h3>
|
|
551
|
+
<ul class="since">
|
|
552
|
+
|
|
553
|
+
<li>
|
|
554
|
+
|
|
555
|
+
|
|
556
|
+
|
|
557
|
+
|
|
558
|
+
|
|
559
|
+
<div class='inline'><p>0.1</p></div>
|
|
560
|
+
|
|
561
|
+
</li>
|
|
562
|
+
|
|
563
|
+
</ul>
|
|
564
|
+
|
|
565
|
+
</div><table class="source_code">
|
|
566
|
+
<tr>
|
|
567
|
+
<td>
|
|
568
|
+
<pre class="lines">
|
|
569
|
+
|
|
570
|
+
|
|
571
|
+
155
|
|
572
|
+
156
|
|
573
|
+
157
|
|
574
|
+
158
|
|
575
|
+
159
|
|
576
|
+
160
|
|
577
|
+
161</pre>
|
|
578
|
+
</td>
|
|
579
|
+
<td>
|
|
580
|
+
<pre class="code"><span class="info file"># File '/Applications/MAMP/htdocs/ruby/zen/zen/lib/zen/base/package.rb', line 155</span>
|
|
581
|
+
|
|
582
|
+
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='op'>[]</span><span class='lparen'>(</span><span class='id ident'>ident</span><span class='rparen'>)</span>
|
|
583
|
+
<span class='kw'>if</span> <span class='id ident'>ident</span><span class='period'>.</span><span class='id include?'>include?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>.themes.</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
|
584
|
+
<span class='ivar'>@themes</span><span class='lbracket'>[</span><span class='id ident'>ident</span><span class='rbracket'>]</span>
|
|
585
|
+
<span class='kw'>else</span>
|
|
586
|
+
<span class='ivar'>@extensions</span><span class='lbracket'>[</span><span class='id ident'>ident</span><span class='rbracket'>]</span>
|
|
587
|
+
<span class='kw'>end</span>
|
|
588
|
+
<span class='kw'>end</span></pre>
|
|
589
|
+
</td>
|
|
590
|
+
</tr>
|
|
591
|
+
</table>
|
|
592
|
+
</div>
|
|
593
|
+
|
|
594
|
+
<div class="method_details ">
|
|
595
|
+
<p class="signature " id="add-class_method">
|
|
596
|
+
|
|
597
|
+
+ (<tt>Object</tt>) <strong>add</strong>(&block) {|package| ... }
|
|
598
|
+
|
|
599
|
+
|
|
600
|
+
|
|
601
|
+
</p><div class="docstring">
|
|
602
|
+
<div class="discussion">
|
|
603
|
+
<p>Adds a new package along with all it’s details such as the name,
|
|
604
|
+
author, version and so on. Extensions can be added using a simple
|
|
605
|
+
block as following:</p>
|
|
606
|
+
Zen::Package.add do |ext|
|
|
607
|
+
ext.name = “Name”
|
|
608
|
+
ext.author = “Author”
|
|
609
|
+
end
|
|
610
|
+
<p>When adding a new extension the following setters are required:</p>
|
|
611
|
+
<ul>
|
|
612
|
+
<li>type</li>
|
|
613
|
+
<li>name</li>
|
|
614
|
+
<li>author</li>
|
|
615
|
+
<li>version</li>
|
|
616
|
+
<li>about</li>
|
|
617
|
+
<li>url</li>
|
|
618
|
+
<li>identifier</li>
|
|
619
|
+
<li>directory</li>
|
|
620
|
+
</ul>
|
|
621
|
+
|
|
622
|
+
</div>
|
|
623
|
+
</div>
|
|
624
|
+
<div class="tags">
|
|
625
|
+
<h3>Parameters:</h3>
|
|
626
|
+
<ul class="param">
|
|
627
|
+
|
|
628
|
+
<li>
|
|
629
|
+
|
|
630
|
+
<span class='type'>(<tt>Block</tt>)</span>
|
|
631
|
+
|
|
632
|
+
|
|
633
|
+
<span class='name'>block</span>
|
|
634
|
+
|
|
635
|
+
|
|
636
|
+
|
|
637
|
+
—
|
|
638
|
+
<div class='inline'><p>Block containing information about the extension.</p></div>
|
|
639
|
+
|
|
640
|
+
</li>
|
|
641
|
+
|
|
642
|
+
</ul>
|
|
643
|
+
<h3>Yields:</h3>
|
|
644
|
+
<ul class="yield">
|
|
645
|
+
|
|
646
|
+
<li>
|
|
647
|
+
|
|
648
|
+
<span class='type'>(<tt>package</tt>)</span>
|
|
649
|
+
|
|
650
|
+
|
|
651
|
+
|
|
652
|
+
|
|
653
|
+
</li>
|
|
654
|
+
|
|
655
|
+
</ul>
|
|
656
|
+
<h3>Author:</h3>
|
|
657
|
+
<ul class="author">
|
|
658
|
+
|
|
659
|
+
<li>
|
|
660
|
+
|
|
661
|
+
|
|
662
|
+
|
|
663
|
+
|
|
664
|
+
|
|
665
|
+
<div class='inline'><p>Yorick Peterse</p></div>
|
|
666
|
+
|
|
667
|
+
</li>
|
|
668
|
+
|
|
669
|
+
</ul>
|
|
670
|
+
<h3>Since:</h3>
|
|
671
|
+
<ul class="since">
|
|
672
|
+
|
|
673
|
+
<li>
|
|
674
|
+
|
|
675
|
+
|
|
676
|
+
|
|
677
|
+
|
|
678
|
+
|
|
679
|
+
<div class='inline'><p>0.1</p></div>
|
|
680
|
+
|
|
681
|
+
</li>
|
|
682
|
+
|
|
683
|
+
</ul>
|
|
684
|
+
|
|
685
|
+
</div><table class="source_code">
|
|
686
|
+
<tr>
|
|
687
|
+
<td>
|
|
688
|
+
<pre class="lines">
|
|
689
|
+
|
|
690
|
+
|
|
691
|
+
116
|
|
692
|
+
117
|
|
693
|
+
118
|
|
694
|
+
119
|
|
695
|
+
120
|
|
696
|
+
121
|
|
697
|
+
122
|
|
698
|
+
123
|
|
699
|
+
124
|
|
700
|
+
125
|
|
701
|
+
126
|
|
702
|
+
127
|
|
703
|
+
128
|
|
704
|
+
129
|
|
705
|
+
130
|
|
706
|
+
131
|
|
707
|
+
132
|
|
708
|
+
133
|
|
709
|
+
134
|
|
710
|
+
135
|
|
711
|
+
136
|
|
712
|
+
137
|
|
713
|
+
138
|
|
714
|
+
139
|
|
715
|
+
140
|
|
716
|
+
141
|
|
717
|
+
142
|
|
718
|
+
143
|
|
719
|
+
144
|
|
720
|
+
145</pre>
|
|
721
|
+
</td>
|
|
722
|
+
<td>
|
|
723
|
+
<pre class="code"><span class="info file"># File '/Applications/MAMP/htdocs/ruby/zen/zen/lib/zen/base/package.rb', line 116</span>
|
|
724
|
+
|
|
725
|
+
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id add'>add</span><span class='lparen'>(</span><span class='op'>&</span><span class='id block'>block</span><span class='rparen'>)</span>
|
|
726
|
+
<span class='id package'>package</span> <span class='op'>=</span> <span class='const'>Struct</span><span class='period'>.</span><span class='id new'>new</span><span class='lparen'>(</span><span class='symbol'>:type</span><span class='comma'>,</span> <span class='symbol'>:name</span><span class='comma'>,</span> <span class='symbol'>:author</span><span class='comma'>,</span> <span class='symbol'>:version</span><span class='comma'>,</span> <span class='symbol'>:about</span><span class='comma'>,</span> <span class='symbol'>:url</span><span class='comma'>,</span>
|
|
727
|
+
<span class='symbol'>:identifier</span><span class='comma'>,</span> <span class='symbol'>:directory</span><span class='comma'>,</span> <span class='symbol'>:menu</span><span class='rparen'>)</span><span class='period'>.</span><span class='id new'>new</span>
|
|
728
|
+
<span class='id required'>required</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='symbol'>:type</span><span class='comma'>,</span> <span class='symbol'>:name</span><span class='comma'>,</span> <span class='symbol'>:author</span><span class='comma'>,</span> <span class='symbol'>:version</span><span class='comma'>,</span> <span class='symbol'>:about</span><span class='comma'>,</span> <span class='symbol'>:url</span><span class='comma'>,</span> <span class='symbol'>:identifier</span><span class='comma'>,</span> <span class='symbol'>:directory</span><span class='rbracket'>]</span>
|
|
729
|
+
|
|
730
|
+
<span class='kw'>yield</span> <span class='id package'>package</span>
|
|
731
|
+
|
|
732
|
+
<span class='id required'>required</span><span class='period'>.</span><span class='id each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id m'>m</span><span class='op'>|</span>
|
|
733
|
+
<span class='kw'>if</span> <span class='op'>!</span><span class='id package'>package</span><span class='period'>.</span><span class='id respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='id m'>m</span><span class='rparen'>)</span> <span class='kw'>or</span> <span class='id package'>package</span><span class='period'>.</span><span class='id send'>send</span><span class='lparen'>(</span><span class='id m'>m</span><span class='rparen'>)</span><span class='period'>.</span><span class='id nil?'>nil?</span>
|
|
734
|
+
<span class='id raise'>raise</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>A loaded package has no value set for the setter \"</span><span class='embexpr_beg'>#{</span><span class='id m'>m</span><span class='rbrace'>}</span><span class='tstring_content'>\"</span><span class='tstring_end'>"</span></span>
|
|
735
|
+
<span class='kw'>end</span>
|
|
736
|
+
<span class='kw'>end</span>
|
|
737
|
+
|
|
738
|
+
<span class='comment'># Update the root but prevent duplicates
|
|
739
|
+
</span> <span class='kw'>if</span> <span class='op'>!</span><span class='const'>Ramaze</span><span class='period'>.</span><span class='id options'>options</span><span class='period'>.</span><span class='id roots'>roots</span><span class='period'>.</span><span class='id include?'>include?</span><span class='lparen'>(</span><span class='id package'>package</span><span class='period'>.</span><span class='id directory'>directory</span><span class='rparen'>)</span>
|
|
740
|
+
<span class='const'>Ramaze</span><span class='period'>.</span><span class='id options'>options</span><span class='period'>.</span><span class='id roots'>roots</span><span class='period'>.</span><span class='id push'>push</span><span class='lparen'>(</span><span class='id package'>package</span><span class='period'>.</span><span class='id directory'>directory</span><span class='rparen'>)</span>
|
|
741
|
+
<span class='kw'>end</span>
|
|
742
|
+
|
|
743
|
+
<span class='comment'># Themes and extensions each have a different accessor
|
|
744
|
+
</span> <span class='kw'>if</span> <span class='id package'>package</span><span class='period'>.</span><span class='id type'>type</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'>theme</span><span class='tstring_end'>'</span></span>
|
|
745
|
+
<span class='comment'># Remove the navigation menu
|
|
746
|
+
</span> <span class='id package'>package</span><span class='period'>.</span><span class='id menu'>menu</span> <span class='op'>=</span> <span class='kw'>nil</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id package'>package</span><span class='period'>.</span><span class='id menu'>menu</span><span class='period'>.</span><span class='id nil?'>nil?</span>
|
|
747
|
+
|
|
748
|
+
<span class='ivar'>@themes</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span> <span class='kw'>if</span> <span class='ivar'>@themes</span><span class='period'>.</span><span class='id nil?'>nil?</span>
|
|
749
|
+
<span class='ivar'>@themes</span><span class='lbracket'>[</span><span class='id package'>package</span><span class='period'>.</span><span class='id identifier'>identifier</span><span class='period'>.</span><span class='id to_s'>to_s</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id package'>package</span>
|
|
750
|
+
<span class='kw'>else</span>
|
|
751
|
+
<span class='ivar'>@extensions</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span> <span class='kw'>if</span> <span class='ivar'>@extensions</span><span class='period'>.</span><span class='id nil?'>nil?</span>
|
|
752
|
+
<span class='ivar'>@extensions</span><span class='lbracket'>[</span><span class='id package'>package</span><span class='period'>.</span><span class='id identifier'>identifier</span><span class='period'>.</span><span class='id to_s'>to_s</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id package'>package</span>
|
|
753
|
+
<span class='kw'>end</span>
|
|
754
|
+
<span class='kw'>end</span></pre>
|
|
755
|
+
</td>
|
|
756
|
+
</tr>
|
|
757
|
+
</table>
|
|
758
|
+
</div>
|
|
759
|
+
|
|
760
|
+
<div class="method_details ">
|
|
761
|
+
<p class="signature " id="build_menu-class_method">
|
|
762
|
+
|
|
763
|
+
+ (<tt>Object</tt>) <strong>build_menu</strong>(css_class = ''
|
|
764
|
+
)
|
|
765
|
+
|
|
766
|
+
|
|
767
|
+
|
|
768
|
+
</p><div class="docstring">
|
|
769
|
+
<div class="discussion">
|
|
770
|
+
<p>Builds a navigation menu for all installed extensions.
|
|
771
|
+
Extensions can have an infinite amount of sub-navigation
|
|
772
|
+
items. This method will generate an unordered list of items
|
|
773
|
+
of which each list item can contain N sub items.</p>
|
|
774
|
+
<p>main UL element.</p>
|
|
775
|
+
|
|
776
|
+
</div>
|
|
777
|
+
</div>
|
|
778
|
+
<div class="tags">
|
|
779
|
+
<h3>Parameters:</h3>
|
|
780
|
+
<ul class="param">
|
|
781
|
+
|
|
782
|
+
<li>
|
|
783
|
+
|
|
784
|
+
<span class='type'>(<tt>String</tt>)</span>
|
|
785
|
+
|
|
786
|
+
|
|
787
|
+
<span class='name'>css_class</span>
|
|
788
|
+
|
|
789
|
+
|
|
790
|
+
<em class="default">(defaults to: <tt>''
|
|
791
|
+
</tt>)</em>
|
|
792
|
+
|
|
793
|
+
|
|
794
|
+
—
|
|
795
|
+
<div class='inline'><p>A string of <span class="caps">CSS</span> classes to apply to the</p></div>
|
|
796
|
+
|
|
797
|
+
</li>
|
|
798
|
+
|
|
799
|
+
</ul>
|
|
800
|
+
<h3>Author:</h3>
|
|
801
|
+
<ul class="author">
|
|
802
|
+
|
|
803
|
+
<li>
|
|
804
|
+
|
|
805
|
+
|
|
806
|
+
|
|
807
|
+
|
|
808
|
+
|
|
809
|
+
<div class='inline'><p>Yorick Peterse</p></div>
|
|
810
|
+
|
|
811
|
+
</li>
|
|
812
|
+
|
|
813
|
+
</ul>
|
|
814
|
+
<h3>Since:</h3>
|
|
815
|
+
<ul class="since">
|
|
816
|
+
|
|
817
|
+
<li>
|
|
818
|
+
|
|
819
|
+
|
|
820
|
+
|
|
821
|
+
|
|
822
|
+
|
|
823
|
+
<div class='inline'><p>0.1</p></div>
|
|
824
|
+
|
|
825
|
+
</li>
|
|
826
|
+
|
|
827
|
+
</ul>
|
|
828
|
+
|
|
829
|
+
</div><table class="source_code">
|
|
830
|
+
<tr>
|
|
831
|
+
<td>
|
|
832
|
+
<pre class="lines">
|
|
833
|
+
|
|
834
|
+
|
|
835
|
+
174
|
|
836
|
+
175
|
|
837
|
+
176
|
|
838
|
+
177
|
|
839
|
+
178
|
|
840
|
+
179
|
|
841
|
+
180
|
|
842
|
+
181
|
|
843
|
+
182
|
|
844
|
+
183
|
|
845
|
+
184
|
|
846
|
+
185
|
|
847
|
+
186
|
|
848
|
+
187
|
|
849
|
+
188
|
|
850
|
+
189
|
|
851
|
+
190
|
|
852
|
+
191
|
|
853
|
+
192
|
|
854
|
+
193
|
|
855
|
+
194
|
|
856
|
+
195
|
|
857
|
+
196
|
|
858
|
+
197
|
|
859
|
+
198
|
|
860
|
+
199
|
|
861
|
+
200</pre>
|
|
862
|
+
</td>
|
|
863
|
+
<td>
|
|
864
|
+
<pre class="code"><span class="info file"># File '/Applications/MAMP/htdocs/ruby/zen/zen/lib/zen/base/package.rb', line 174</span>
|
|
865
|
+
|
|
866
|
+
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id build_menu'>build_menu</span> <span class='id css_class'>css_class</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span>
|
|
867
|
+
<span class='ivar'>@g</span> <span class='op'>=</span> <span class='const'>Ramaze</span><span class='op'>::</span><span class='const'>Gestalt</span><span class='period'>.</span><span class='id new'>new</span>
|
|
868
|
+
<span class='id menu_items'>menu_items</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
|
|
869
|
+
|
|
870
|
+
<span class='ivar'>@extensions</span><span class='period'>.</span><span class='id each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id ident'>ident</span><span class='comma'>,</span> <span class='id ext'>ext</span><span class='op'>|</span>
|
|
871
|
+
<span class='kw'>if</span> <span class='op'>!</span><span class='id ext'>ext</span><span class='period'>.</span><span class='id menu'>menu</span><span class='period'>.</span><span class='id nil?'>nil?</span>
|
|
872
|
+
<span class='id ext'>ext</span><span class='period'>.</span><span class='id menu'>menu</span><span class='period'>.</span><span class='id each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id m'>m</span><span class='op'>|</span>
|
|
873
|
+
<span class='id menu_items'>menu_items</span><span class='period'>.</span><span class='id push'>push</span><span class='lparen'>(</span><span class='id m'>m</span><span class='rparen'>)</span>
|
|
874
|
+
<span class='kw'>end</span>
|
|
875
|
+
<span class='kw'>end</span>
|
|
876
|
+
<span class='kw'>end</span>
|
|
877
|
+
|
|
878
|
+
<span class='comment'># Sort the menu alphabetical
|
|
879
|
+
</span> <span class='id menu_items'>menu_items</span> <span class='op'>=</span> <span class='id menu_items'>menu_items</span><span class='period'>.</span><span class='id sort_by'>sort_by</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id item'>item</span><span class='op'>|</span>
|
|
880
|
+
<span class='id item'>item</span><span class='lbracket'>[</span><span class='symbol'>:title</span><span class='rbracket'>]</span>
|
|
881
|
+
<span class='kw'>end</span>
|
|
882
|
+
|
|
883
|
+
<span class='ivar'>@g</span><span class='period'>.</span><span class='id ul'>ul</span> <span class='symbol'>:class</span> <span class='op'>=></span> <span class='id css_class'>css_class</span> <span class='kw'>do</span>
|
|
884
|
+
<span class='kw'>if</span> <span class='op'>!</span><span class='id menu_items'>menu_items</span><span class='period'>.</span><span class='id empty?'>empty?</span>
|
|
885
|
+
<span class='id menu_items'>menu_items</span><span class='period'>.</span><span class='id each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id m'>m</span><span class='op'>|</span>
|
|
886
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id nav_list'>nav_list</span><span class='lparen'>(</span><span class='id m'>m</span><span class='rparen'>)</span>
|
|
887
|
+
<span class='kw'>end</span>
|
|
888
|
+
<span class='kw'>end</span>
|
|
889
|
+
<span class='kw'>end</span>
|
|
890
|
+
|
|
891
|
+
<span class='kw'>return</span> <span class='ivar'>@g</span><span class='period'>.</span><span class='id to_s'>to_s</span>
|
|
892
|
+
<span class='kw'>end</span></pre>
|
|
893
|
+
</td>
|
|
894
|
+
</tr>
|
|
895
|
+
</table>
|
|
896
|
+
</div>
|
|
897
|
+
|
|
898
|
+
</div>
|
|
899
|
+
|
|
900
|
+
</div>
|
|
901
|
+
|
|
902
|
+
<div id="footer">
|
|
903
|
+
Generated on Sun Feb 6 21:24:00 2011 by
|
|
904
|
+
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
905
|
+
0.6.4 (ruby-1.9.2).
|
|
906
|
+
</div>
|
|
907
|
+
|
|
908
|
+
</body>
|
|
909
|
+
</html>
|