zen 0.2.8 → 0.3b
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/.gems +20 -0
- data/.mailmap +3 -2
- data/.rvmrc +1 -1
- data/.travis.yml +13 -2
- data/.yardopts +13 -0
- data/AUTHORS +1 -1
- data/README.md +115 -77
- data/Rakefile +6 -7
- data/bin/zen +12 -5
- data/guide/_static/categories/categories.png +0 -0
- data/guide/_static/categories/category_groups.png +0 -0
- data/guide/_static/categories/new_category.png +0 -0
- data/guide/_static/categories/new_category_group.png +0 -0
- data/guide/_static/comments/comments.png +0 -0
- data/guide/_static/comments/edit_comment.png +0 -0
- data/guide/_static/custom_fields/custom_field_groups.png +0 -0
- data/guide/_static/custom_fields/custom_field_types.png +0 -0
- data/guide/_static/custom_fields/custom_fields.png +0 -0
- data/guide/_static/custom_fields/edit_custom_field_general.png +0 -0
- data/guide/_static/custom_fields/edit_custom_field_group.png +0 -0
- data/guide/_static/custom_fields/edit_custom_field_settings.png +0 -0
- data/guide/_static/custom_fields/edit_custom_field_type.png +0 -0
- data/guide/_static/menus/edit_menu.png +0 -0
- data/guide/_static/menus/edit_menu_item.png +0 -0
- data/guide/_static/menus/menu_items.png +0 -0
- data/guide/_static/menus/menus.png +0 -0
- data/guide/_static/sections/edit_entry.png +0 -0
- data/guide/_static/sections/edit_entry_categories.png +0 -0
- data/guide/_static/sections/edit_entry_general.png +0 -0
- data/guide/_static/sections/edit_entry_meta.png +0 -0
- data/guide/_static/sections/edit_section_comments.png +0 -0
- data/guide/_static/sections/edit_section_general.png +0 -0
- data/guide/_static/sections/edit_section_groups.png +0 -0
- data/guide/_static/sections/entries.png +0 -0
- data/guide/_static/sections/sections.png +0 -0
- data/guide/_static/settings/overview_general.png +0 -0
- data/guide/_static/settings/overview_security.png +0 -0
- data/guide/_static/settings/overview_user.png +0 -0
- data/guide/_static/users/edit_user.png +0 -0
- data/guide/_static/users/edit_user_group.png +0 -0
- data/guide/_static/users/edit_user_group_permissions.png +0 -0
- data/guide/_static/users/edit_user_permissions.png +0 -0
- data/guide/_static/users/overview.png +0 -0
- data/guide/_static/users/user_groups_overview.png +0 -0
- data/guide/asset_management.md +117 -0
- data/{CHANGELOG.md → guide/changelog.md} +42 -0
- data/guide/css/common.css +20 -0
- data/guide/getting_started.md +61 -0
- data/guide/hacking.md +52 -0
- data/guide/installation.md +44 -0
- data/guide/javascript.md +352 -0
- data/lib/vendor/sequel_sluggable.rb +137 -0
- data/lib/yard/tags.rb +13 -0
- data/lib/zen.rb +148 -78
- data/lib/zen/asset_groups.rb +85 -0
- data/lib/zen/bin/create.rb +267 -56
- data/lib/zen/bin/default.rb +84 -0
- data/lib/zen/controller/admin_controller.rb +1 -82
- data/lib/zen/controller/base_controller.rb +9 -5
- data/lib/zen/controller/frontend_controller.rb +0 -1
- data/lib/zen/controller/main_controller.rb +30 -42
- data/lib/zen/controller/preview.rb +9 -8
- data/lib/zen/controller/translations.rb +49 -0
- data/lib/zen/error.rb +17 -0
- data/lib/zen/event.rb +118 -0
- data/lib/zen/helper/asset.rb +63 -0
- data/lib/zen/helper/breadcrumb.rb +1 -4
- data/lib/zen/helper/controller.rb +73 -0
- data/lib/zen/helper/locale.rb +42 -0
- data/lib/zen/helper/message.rb +0 -3
- data/lib/zen/helper/search.rb +54 -0
- data/lib/zen/helper/stacked_aspect.rb +249 -0
- data/lib/zen/helper/theme.rb +3 -10
- data/lib/zen/language.rb +356 -181
- data/lib/zen/language/en/zen_general.rb +52 -0
- data/lib/zen/language/en/zen_models.rb +19 -0
- data/lib/zen/language/nl/zen_general.rb +57 -0
- data/lib/zen/language/nl/zen_models.rb +22 -0
- data/lib/zen/language/translation.rb +132 -0
- data/lib/zen/languages.rb +9 -0
- data/lib/zen/layout/admin.xhtml +3 -3
- data/lib/zen/layout/login.xhtml +1 -1
- data/lib/zen/markup.rb +189 -0
- data/lib/zen/model/helper.rb +65 -0
- data/lib/zen/model/init.rb +62 -0
- data/lib/zen/model/methods.rb +6 -7
- data/lib/zen/package.rb +312 -201
- data/lib/zen/package/all.rb +4 -3
- data/lib/zen/package/categories/lib/categories.rb +29 -41
- data/lib/zen/package/categories/lib/categories/controller/categories.rb +185 -130
- data/lib/zen/package/categories/lib/categories/controller/category_groups.rb +172 -102
- data/lib/zen/package/categories/lib/categories/helper/category.rb +4 -9
- data/lib/zen/package/categories/lib/categories/helper/category_frontend.rb +86 -0
- data/lib/zen/package/categories/lib/categories/language/en/categories.rb +40 -0
- data/lib/zen/package/categories/lib/categories/language/en/category_groups.rb +39 -0
- data/lib/zen/package/categories/lib/categories/language/nl/categories.rb +42 -0
- data/lib/zen/package/categories/lib/categories/language/nl/category_groups.rb +42 -0
- data/lib/zen/package/categories/lib/categories/model/category.rb +21 -25
- data/lib/zen/package/categories/lib/categories/model/category_group.rb +21 -15
- data/lib/zen/package/categories/lib/categories/view/admin/categories/form.xhtml +25 -26
- data/lib/zen/package/categories/lib/categories/view/admin/categories/index.xhtml +24 -24
- data/lib/zen/package/categories/lib/categories/view/admin/category-groups/form.xhtml +18 -20
- data/lib/zen/package/categories/lib/categories/view/admin/category-groups/index.xhtml +21 -18
- data/lib/zen/package/comments/lib/comments.rb +30 -50
- data/lib/zen/package/comments/lib/comments/anti_spam.rb +138 -0
- data/lib/zen/package/comments/lib/comments/controller/comments.rb +159 -92
- data/lib/zen/package/comments/lib/comments/controller/comments_form.rb +122 -34
- data/lib/zen/package/comments/lib/comments/helper/comment.rb +0 -3
- data/lib/zen/package/comments/lib/comments/helper/comment_frontend.rb +90 -0
- data/lib/zen/package/comments/lib/comments/language/en/comments.rb +57 -0
- data/lib/zen/package/comments/lib/comments/language/nl/comments.rb +61 -0
- data/lib/zen/package/comments/lib/comments/model/comment.rb +147 -49
- data/lib/zen/package/comments/lib/comments/model/comment_status.rb +0 -2
- data/lib/zen/package/comments/lib/comments/view/admin/comments/form.xhtml +37 -40
- data/lib/zen/package/comments/lib/comments/view/admin/comments/index.xhtml +23 -42
- data/lib/zen/package/comments/migrations/1308774099_comment_status.rb +12 -4
- data/lib/zen/package/comments/migrations/1313851786_remove_defensio_signature.rb +11 -0
- data/lib/zen/package/custom_fields/lib/custom_fields.rb +40 -43
- data/lib/zen/package/custom_fields/lib/custom_fields/blue_form_parameters.rb +72 -17
- data/lib/zen/package/custom_fields/lib/custom_fields/controller/custom_field_groups.rb +154 -118
- data/lib/zen/package/custom_fields/lib/custom_fields/controller/custom_field_types.rb +147 -90
- data/lib/zen/package/custom_fields/lib/custom_fields/controller/custom_fields.rb +161 -131
- data/lib/zen/package/custom_fields/lib/custom_fields/helper/custom_field.rb +4 -9
- data/lib/zen/package/custom_fields/lib/custom_fields/language/en/custom_field_groups.rb +42 -0
- data/lib/zen/package/custom_fields/lib/custom_fields/language/en/custom_field_types.rb +51 -0
- data/lib/zen/package/custom_fields/lib/custom_fields/language/en/custom_fields.rb +60 -0
- data/lib/zen/package/custom_fields/lib/custom_fields/language/nl/custom_field_groups.rb +41 -0
- data/lib/zen/package/custom_fields/lib/custom_fields/language/nl/custom_field_types.rb +49 -0
- data/lib/zen/package/custom_fields/lib/custom_fields/language/nl/custom_fields.rb +61 -0
- data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field.rb +18 -23
- data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field_group.rb +20 -19
- data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field_method.rb +1 -3
- data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field_type.rb +19 -9
- data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field_value.rb +18 -15
- data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-groups/form.xhtml +18 -18
- data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-groups/index.xhtml +30 -24
- data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-types/form.xhtml +15 -10
- data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-types/index.xhtml +24 -19
- data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-fields/form.xhtml +18 -13
- data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-fields/index.xhtml +30 -20
- data/lib/zen/package/extensions/lib/extensions.rb +20 -0
- data/lib/zen/package/extensions/lib/extensions/controller/extensions.rb +41 -0
- data/lib/zen/package/extensions/lib/extensions/language/en/extensions.rb +23 -0
- data/lib/zen/package/extensions/lib/extensions/language/nl/extensions.rb +25 -0
- data/lib/zen/package/extensions/lib/extensions/view/admin/extensions/index.xhtml +86 -0
- data/lib/zen/package/menu.rb +109 -0
- data/lib/zen/package/menus/lib/menus.rb +25 -34
- data/lib/zen/package/menus/lib/menus/controller/menu_items.rb +143 -107
- data/lib/zen/package/menus/lib/menus/controller/menus.rb +166 -115
- data/lib/zen/package/menus/lib/menus/helper/menu.rb +2 -8
- data/lib/zen/package/menus/lib/menus/helper/menu_frontend.rb +114 -0
- data/lib/zen/package/menus/lib/menus/language/en/menu_items.rb +48 -0
- data/lib/zen/package/menus/lib/menus/language/en/menus.rb +48 -0
- data/lib/zen/package/menus/lib/menus/language/nl/menu_items.rb +48 -0
- data/lib/zen/package/menus/lib/menus/language/nl/menus.rb +50 -0
- data/lib/zen/package/menus/lib/menus/model/menu.rb +24 -17
- data/lib/zen/package/menus/lib/menus/model/menu_item.rb +37 -13
- data/lib/zen/package/menus/lib/menus/view/admin/menu-items/form.xhtml +32 -25
- data/lib/zen/package/menus/lib/menus/view/admin/menu-items/index.xhtml +23 -17
- data/lib/zen/package/menus/lib/menus/view/admin/menus/form.xhtml +31 -26
- data/lib/zen/package/menus/lib/menus/view/admin/menus/index.xhtml +20 -22
- data/lib/zen/package/sections/lib/sections.rb +25 -68
- data/lib/zen/package/sections/lib/sections/controller/section_entries.rb +178 -138
- data/lib/zen/package/sections/lib/sections/controller/sections.rb +173 -140
- data/lib/zen/package/sections/lib/sections/helper/section.rb +3 -6
- data/lib/zen/package/sections/lib/sections/helper/section_frontend.rb +146 -0
- data/lib/zen/package/sections/lib/sections/language/en/section_entries.rb +50 -0
- data/lib/zen/package/sections/lib/sections/language/en/sections.rb +55 -0
- data/lib/zen/package/sections/lib/sections/language/nl/section_entries.rb +50 -0
- data/lib/zen/package/sections/lib/sections/language/nl/sections.rb +55 -0
- data/lib/zen/package/sections/lib/sections/model/section.rb +36 -36
- data/lib/zen/package/sections/lib/sections/model/section_entry.rb +52 -59
- data/lib/zen/package/sections/lib/sections/model/section_entry_status.rb +2 -2
- data/lib/zen/package/sections/lib/sections/view/admin/form.xhtml +24 -21
- data/lib/zen/package/sections/lib/sections/view/admin/index.xhtml +24 -26
- data/lib/zen/package/sections/lib/sections/view/admin/section-entries/form.xhtml +33 -31
- data/lib/zen/package/sections/lib/sections/view/admin/section-entries/index.xhtml +24 -25
- data/lib/zen/package/sections/migrations/1308672298_use_id_for_default_section.rb +14 -10
- data/lib/zen/package/sections/migrations/1308813320_section_entry_statuses.rb +12 -6
- data/lib/zen/package/settings/lib/settings.rb +25 -120
- data/lib/zen/package/settings/lib/settings/blue_form_parameters.rb +157 -0
- data/lib/zen/package/settings/lib/settings/controller/settings.rb +94 -69
- data/lib/zen/package/settings/lib/settings/language/en/settings.rb +41 -0
- data/lib/zen/package/settings/lib/settings/language/nl/settings.rb +41 -0
- data/lib/zen/package/settings/lib/settings/model/setting.rb +0 -2
- data/lib/zen/package/settings/lib/settings/setting.rb +379 -0
- data/lib/zen/package/settings/lib/settings/setting_groups.rb +11 -0
- data/lib/zen/package/settings/lib/settings/settings.rb +83 -0
- data/lib/zen/package/settings/lib/settings/settings_group.rb +84 -0
- data/lib/zen/package/settings/lib/settings/singleton_methods.rb +35 -0
- data/lib/zen/package/settings/lib/settings/view/admin/settings/index.xhtml +15 -57
- data/lib/zen/package/settings/migrations/1321197919_remove_unused_columns.rb +17 -0
- data/lib/zen/package/users/lib/users.rb +51 -36
- data/lib/zen/package/users/lib/users/controller/user_groups.rb +133 -98
- data/lib/zen/package/users/lib/users/controller/users.rb +253 -136
- data/lib/zen/package/users/lib/users/helper/access.rb +102 -0
- data/lib/zen/package/users/lib/users/helper/acl.rb +113 -0
- data/lib/zen/package/users/lib/users/helper/users.rb +41 -24
- data/lib/zen/package/users/lib/users/language/en/permissions.rb +16 -0
- data/lib/zen/package/users/lib/users/language/en/user_groups.rb +39 -0
- data/lib/zen/package/users/lib/users/language/en/users.rb +73 -0
- data/lib/zen/package/users/lib/users/language/nl/permissions.rb +16 -0
- data/lib/zen/package/users/lib/users/language/nl/user_groups.rb +41 -0
- data/lib/zen/package/users/lib/users/language/nl/users.rb +74 -0
- data/lib/zen/package/users/lib/users/model/permission.rb +28 -0
- data/lib/zen/package/users/lib/users/model/user.rb +104 -65
- data/lib/zen/package/users/lib/users/model/user_group.rb +28 -24
- data/lib/zen/package/users/lib/users/model/user_status.rb +27 -0
- data/lib/zen/package/users/lib/users/public/admin/css/users/permissions.css +22 -0
- data/lib/zen/package/users/lib/users/public/admin/js/users/permissions.js +33 -0
- data/lib/zen/package/users/lib/users/settings.rb +19 -0
- data/lib/zen/package/users/lib/users/view/admin/user-groups/form.xhtml +58 -28
- data/lib/zen/package/users/lib/users/view/admin/user-groups/index.xhtml +19 -15
- data/lib/zen/package/users/lib/users/view/admin/users/form.xhtml +93 -62
- data/lib/zen/package/users/lib/users/view/admin/users/index.xhtml +23 -36
- data/lib/zen/package/users/lib/users/view/admin/users/login.xhtml +13 -6
- data/lib/zen/package/users/lib/users/view/admin/users/permissions.xhtml +33 -0
- data/lib/zen/package/users/lib/users/view/admin/users/register.xhtml +52 -0
- data/lib/zen/package/users/migrations/1313786058_update_default_date.rb +41 -0
- data/lib/zen/package/users/migrations/1316432327_permissions.rb +36 -0
- data/lib/zen/package/users/migrations/1320272365_status_ids.rb +67 -0
- data/lib/zen/public/admin/css/zen/buttons.css +3 -11
- data/lib/zen/public/admin/css/zen/datepicker.css +23 -13
- data/lib/zen/public/admin/css/zen/editor.css +6 -14
- data/lib/zen/public/admin/css/zen/forms.css +19 -12
- data/lib/zen/public/admin/css/zen/general.css +22 -18
- data/lib/zen/public/admin/css/zen/grid.css +1 -20
- data/lib/zen/public/admin/css/zen/layout.css +26 -11
- data/lib/zen/public/admin/css/zen/messages.css +3 -10
- data/lib/zen/public/admin/css/zen/reset.css +13 -15
- data/lib/zen/public/admin/css/zen/tables.css +8 -10
- data/lib/zen/public/admin/css/zen/tabs.css +2 -10
- data/lib/zen/public/admin/css/zen/window.css +2 -8
- data/lib/zen/public/admin/js/vendor/datepicker.js +540 -240
- data/lib/zen/public/admin/js/vendor/mootools/core.js +273 -283
- data/lib/zen/public/admin/js/vendor/mootools/more.js +131 -136
- data/lib/zen/public/admin/js/zen/index.js +8 -14
- data/lib/zen/public/admin/js/zen/lib/editor.js +36 -33
- data/lib/zen/public/admin/js/zen/lib/editor/markdown.js +0 -6
- data/lib/zen/public/admin/js/zen/lib/editor/textile.js +0 -6
- data/lib/zen/public/admin/js/zen/lib/html_table.js +0 -5
- data/lib/zen/public/admin/js/zen/lib/tabs.js +22 -79
- data/lib/zen/public/admin/js/zen/lib/window.js +12 -22
- data/lib/zen/spec/bacon/color_output.rb +1 -1
- data/lib/zen/spec/helper.rb +6 -11
- data/lib/zen/spec/simplecov.rb +3 -3
- data/lib/zen/task.rb +0 -1
- data/lib/zen/task/build.rake +46 -26
- data/lib/zen/task/clean.rake +14 -7
- data/lib/zen/task/db.rake +31 -29
- data/lib/zen/task/package.rake +19 -23
- data/lib/zen/task/proto.rake +3 -5
- data/lib/zen/task/setup.rake +4 -0
- data/lib/zen/task/test.rake +31 -6
- data/lib/zen/task/theme.rake +13 -19
- data/lib/zen/theme.rb +377 -52
- data/lib/zen/validation.rb +22 -30
- data/lib/zen/version.rb +1 -2
- data/lib/zen/view/bottom.xhtml +9 -1
- data/lib/zen/view/head.xhtml +1 -1
- data/lib/zen/view/main.xhtml +1 -1
- data/lib/zen/view/search.xhtml +9 -0
- data/proto/app/Rakefile +0 -1
- data/proto/app/app.rb +21 -16
- data/proto/app/config/config.rb.erb +41 -0
- data/proto/app/config/{database.rb → database.rb.erb} +17 -14
- data/proto/app/config/middlewares.rb +1 -1
- data/proto/app/theme/default/index.xhtml +25 -0
- data/proto/app/theme/theme.rb +19 -0
- data/proto/app/{log/database/dev → tmp}/.gitkeep +0 -0
- data/proto/migration.rb +3 -5
- data/proto/rack/thin.yml +41 -0
- data/proto/rack/unicorn.rb +38 -0
- data/spec/Rakefile +15 -11
- data/spec/fixtures/zen/helper/controller.rb +13 -0
- data/spec/fixtures/zen/helper/locale.rb +7 -0
- data/spec/fixtures/zen/helper/message.rb +0 -4
- data/spec/fixtures/zen/language.rb +31 -0
- data/spec/fixtures/zen/language/en/spec.rb +11 -0
- data/spec/fixtures/zen/language/nl/spec.rb +11 -0
- data/spec/fixtures/zen/package.rb +0 -10
- data/spec/fixtures/zen/package/categories/helper/category_frontend.rb +16 -0
- data/spec/fixtures/zen/package/comments/helper/comment_frontend.rb +16 -0
- data/spec/fixtures/zen/package/sections/helper/section_frontend.rb +16 -0
- data/spec/fixtures/zen/package/settings/controller/settings.rb +17 -0
- data/spec/fixtures/zen/package/users/helper/access.rb +18 -0
- data/spec/fixtures/zen/package/users/helper/acl.rb +23 -0
- data/spec/fixtures/zen/theme/{default-section → default}/index.xhtml +0 -0
- data/spec/helper.rb +12 -27
- data/{proto/app/log/database/live → spec/public}/.gitkeep +0 -0
- data/spec/zen/controller/admin_controller.rb +5 -6
- data/spec/zen/controller/main_controller.rb +29 -35
- data/spec/zen/controller/preview.rb +9 -10
- data/spec/zen/event.rb +44 -0
- data/spec/zen/helper/breadcrumb.rb +4 -5
- data/spec/zen/helper/controller.rb +21 -0
- data/spec/zen/helper/locale.rb +25 -0
- data/spec/zen/helper/message.rb +4 -11
- data/spec/zen/helper/theme.rb +11 -14
- data/spec/zen/language.rb +48 -22
- data/spec/zen/markup.rb +39 -0
- data/spec/zen/package.rb +48 -11
- data/spec/zen/package/categories/controller/categories.rb +99 -45
- data/spec/zen/package/categories/controller/category_groups.rb +109 -33
- data/spec/zen/package/categories/helper/category.rb +19 -32
- data/spec/zen/package/categories/helper/category_frontend.rb +61 -0
- data/spec/zen/package/comments/anti_spam.rb +50 -0
- data/spec/zen/package/comments/controller/comments.rb +121 -61
- data/spec/zen/package/comments/controller/comments_form.rb +120 -94
- data/spec/zen/package/comments/helper/comment.rb +13 -13
- data/spec/zen/package/comments/helper/comment_frontend.rb +92 -0
- data/spec/zen/package/custom_fields/blue_form_parameters.rb +50 -50
- data/spec/zen/package/custom_fields/controller/custom_field_groups.rb +135 -43
- data/spec/zen/package/custom_fields/controller/custom_field_types.rb +153 -48
- data/spec/zen/package/custom_fields/controller/custom_fields.rb +130 -51
- data/spec/zen/package/custom_fields/helper/custom_field.rb +8 -8
- data/spec/zen/package/extensions/controller/extensions.rb +38 -0
- data/spec/zen/package/menus/controller/menu_items.rb +121 -42
- data/spec/zen/package/menus/controller/menus.rb +125 -38
- data/spec/zen/package/menus/helper/menu.rb +26 -26
- data/spec/zen/package/menus/helper/menu_frontend.rb +104 -0
- data/spec/zen/package/sections/controller/section_entries.rb +145 -89
- data/spec/zen/package/sections/controller/sections.rb +130 -35
- data/spec/zen/package/sections/helper/section.rb +27 -38
- data/spec/zen/package/sections/helper/section_frontend.rb +160 -0
- data/spec/zen/package/settings/controller/settings.rb +73 -8
- data/spec/zen/package/settings/settings.rb +119 -0
- data/spec/zen/package/users/controller/user_groups.rb +134 -34
- data/spec/zen/package/users/controller/users.rb +189 -44
- data/spec/zen/package/users/helper/access.rb +29 -0
- data/spec/zen/package/users/helper/acl.rb +46 -0
- data/spec/zen/package/users/helper/users.rb +20 -64
- data/spec/zen/theme.rb +7 -9
- data/spec/zen/validation.rb +1 -2
- data/zen.gemspec +25 -22
- metadata +303 -222
- data/lib/zen/asset.rb +0 -292
- data/lib/zen/bin/runner.rb +0 -118
- data/lib/zen/error/language_error.rb +0 -10
- data/lib/zen/error/package_error.rb +0 -10
- data/lib/zen/error/plugin_error.rb +0 -10
- data/lib/zen/error/theme_error.rb +0 -10
- data/lib/zen/error/validation_error.rb +0 -10
- data/lib/zen/helper/acl.rb +0 -182
- data/lib/zen/helper/blue_form_vendor.rb +0 -689
- data/lib/zen/language/en/zen_general.yml +0 -25
- data/lib/zen/language/en/zen_models.yml +0 -13
- data/lib/zen/language/nl/zen_general.yml +0 -25
- data/lib/zen/language/nl/zen_models.yml +0 -13
- data/lib/zen/model/settings.rb +0 -78
- data/lib/zen/package/base.rb +0 -62
- data/lib/zen/package/categories/lib/categories/language/en/categories.yml +0 -36
- data/lib/zen/package/categories/lib/categories/language/en/category_groups.yml +0 -34
- data/lib/zen/package/categories/lib/categories/language/nl/categories.yml +0 -40
- data/lib/zen/package/categories/lib/categories/language/nl/category_groups.yml +0 -34
- data/lib/zen/package/categories/lib/categories/plugin/categories.rb +0 -141
- data/lib/zen/package/comments/lib/comments/language/en/comments.yml +0 -48
- data/lib/zen/package/comments/lib/comments/language/nl/comments.yml +0 -50
- data/lib/zen/package/comments/lib/comments/plugin/anti_spam.rb +0 -156
- data/lib/zen/package/comments/lib/comments/plugin/comments.rb +0 -115
- data/lib/zen/package/custom_fields/lib/custom_fields/language/en/custom_field_groups.yml +0 -33
- data/lib/zen/package/custom_fields/lib/custom_fields/language/en/custom_field_types.yml +0 -40
- data/lib/zen/package/custom_fields/lib/custom_fields/language/en/custom_fields.yml +0 -54
- data/lib/zen/package/custom_fields/lib/custom_fields/language/nl/custom_field_groups.yml +0 -33
- data/lib/zen/package/custom_fields/lib/custom_fields/language/nl/custom_field_types.yml +0 -40
- data/lib/zen/package/custom_fields/lib/custom_fields/language/nl/custom_fields.yml +0 -54
- data/lib/zen/package/menus/lib/menus/language/en/menu_items.yml +0 -41
- data/lib/zen/package/menus/lib/menus/language/en/menus.yml +0 -40
- data/lib/zen/package/menus/lib/menus/language/nl/menu_items.yml +0 -41
- data/lib/zen/package/menus/lib/menus/language/nl/menus.yml +0 -40
- data/lib/zen/package/menus/lib/menus/plugin/menus.rb +0 -152
- data/lib/zen/package/sections/lib/sections/language/en/section_entries.yml +0 -44
- data/lib/zen/package/sections/lib/sections/language/en/sections.yml +0 -48
- data/lib/zen/package/sections/lib/sections/language/nl/section_entries.yml +0 -44
- data/lib/zen/package/sections/lib/sections/language/nl/sections.yml +0 -48
- data/lib/zen/package/sections/lib/sections/plugin/section_entries.rb +0 -244
- data/lib/zen/package/sections/lib/sections/plugin/sections.rb +0 -87
- data/lib/zen/package/settings/lib/settings/language/en/settings.yml +0 -36
- data/lib/zen/package/settings/lib/settings/language/nl/settings.yml +0 -37
- data/lib/zen/package/settings/lib/settings/plugin/group_base.rb +0 -39
- data/lib/zen/package/settings/lib/settings/plugin/setting_base.rb +0 -133
- data/lib/zen/package/settings/lib/settings/plugin/settings.rb +0 -251
- data/lib/zen/package/users/lib/users/controller/access_rules.rb +0 -284
- data/lib/zen/package/users/lib/users/language/en/access_rules.yml +0 -38
- data/lib/zen/package/users/lib/users/language/en/user_groups.yml +0 -32
- data/lib/zen/package/users/lib/users/language/en/users.yml +0 -57
- data/lib/zen/package/users/lib/users/language/nl/access_rules.yml +0 -38
- data/lib/zen/package/users/lib/users/language/nl/user_groups.yml +0 -32
- data/lib/zen/package/users/lib/users/language/nl/users.yml +0 -57
- data/lib/zen/package/users/lib/users/model/access_rule.rb +0 -42
- data/lib/zen/package/users/lib/users/public/admin/js/users/access_rules.js +0 -65
- data/lib/zen/package/users/lib/users/public/admin/js/users/lib/access_rules.js +0 -49
- data/lib/zen/package/users/lib/users/view/admin/access-rules/form.xhtml +0 -120
- data/lib/zen/package/users/lib/users/view/admin/access-rules/index.xhtml +0 -102
- data/lib/zen/plugin.rb +0 -182
- data/lib/zen/plugin/base.rb +0 -46
- data/lib/zen/plugin/helper.rb +0 -47
- data/lib/zen/plugin/markup/lib/markup.rb +0 -14
- data/lib/zen/plugin/markup/lib/markup/language/en/markup.yml +0 -6
- data/lib/zen/plugin/markup/lib/markup/markup.rb +0 -165
- data/lib/zen/public/admin/js/zen/lib/asset.js +0 -111
- data/lib/zen/task/plugin.rake +0 -18
- data/lib/zen/theme/base.rb +0 -65
- data/proto/app/config/config.rb +0 -18
- data/spec/fixtures/zen/language/en/spec.yml +0 -10
- data/spec/fixtures/zen/language/nl/spec.yml +0 -7
- data/spec/fixtures/zen/package/settings/plugin/settings.rb +0 -20
- data/spec/zen/asset.rb +0 -97
- data/spec/zen/bin/create.rb +0 -89
- data/spec/zen/bin/runner.rb +0 -47
- data/spec/zen/helper/acl.rb +0 -149
- data/spec/zen/package/categories/plugin/categories.rb +0 -92
- data/spec/zen/package/comments/plugin/anti_spam.rb +0 -59
- data/spec/zen/package/comments/plugin/comments.rb +0 -107
- data/spec/zen/package/menus/plugin/menus.rb +0 -120
- data/spec/zen/package/sections/plugin/section_entries.rb +0 -161
- data/spec/zen/package/sections/plugin/sections.rb +0 -75
- data/spec/zen/package/settings/plugin/settings.rb +0 -33
- data/spec/zen/package/users/controller/access_rules.rb +0 -90
- data/spec/zen/plugin.rb +0 -64
- data/spec/zen/plugin/helper.rb +0 -11
- data/spec/zen/plugin/markup.rb +0 -44
data/lib/zen/asset.rb
DELETED
|
@@ -1,292 +0,0 @@
|
|
|
1
|
-
require 'ramaze/gestalt'
|
|
2
|
-
|
|
3
|
-
#:nodoc:
|
|
4
|
-
module Zen
|
|
5
|
-
##
|
|
6
|
-
# The Asset module is a module used to register what Javascript files and
|
|
7
|
-
# stylesheets should be loaded for the current request. This can be very
|
|
8
|
-
# useful if you want to add a widget to all pages or override a certain
|
|
9
|
-
# stylesheet.
|
|
10
|
-
#
|
|
11
|
-
# ## Adding Assets
|
|
12
|
-
#
|
|
13
|
-
# Assets can be added by calling either Zen::Asset.stylesheet or
|
|
14
|
-
# Zen::Asset.javascript. Both take an array of files and a hash with some
|
|
15
|
-
# configuration options, for more info on the exact usage and all the
|
|
16
|
-
# available parameters see the individual methods. Here are a few quick
|
|
17
|
-
# examples of loading files:
|
|
18
|
-
#
|
|
19
|
-
# # Load 3 Javascript files of which 2 will be loaded globally
|
|
20
|
-
# Zen::Asset.javascript(
|
|
21
|
-
# ['mootools/core', 'mootools/more'], :global => true,
|
|
22
|
-
# )
|
|
23
|
-
#
|
|
24
|
-
# Zen::Asset.javascript(['application'], :controller => self)
|
|
25
|
-
#
|
|
26
|
-
# # Do the same with a few stylesheets
|
|
27
|
-
# Zen::Asset.stylesheet(['admin/css/forms'], :global => true)
|
|
28
|
-
# Zen::Asset.stylesheet(['style'], :controller => self)
|
|
29
|
-
#
|
|
30
|
-
# ## Customizing Options
|
|
31
|
-
#
|
|
32
|
-
# This module uses Innate::Optioned to provide a few options that can be
|
|
33
|
-
# changed. The following options are available:
|
|
34
|
-
#
|
|
35
|
-
# * prefix: The global prefix to use for all assets, set to "admin" by default.
|
|
36
|
-
# * javascript_prefix: The prefix to use for all Javascript files on top of
|
|
37
|
-
# the globalprefix.
|
|
38
|
-
# * stylesheet_prefix: Similar to the javascript_prefix option but for
|
|
39
|
-
# stylesheets.
|
|
40
|
-
#
|
|
41
|
-
# ## Building Assets
|
|
42
|
-
#
|
|
43
|
-
# Building assets shouldn't be required as Zen already does this but if you
|
|
44
|
-
# happen to need it you can build the files as following:
|
|
45
|
-
#
|
|
46
|
-
# Zen::Asset.build(:stylesheet)
|
|
47
|
-
# Zen::Asset.build(:javascript)
|
|
48
|
-
#
|
|
49
|
-
# ## Controller Usage
|
|
50
|
-
#
|
|
51
|
-
# While this module can be called by any other piece of code the class
|
|
52
|
-
# Zen::Controller::AdminController provides shortcuts to Zen::Asset.javascript
|
|
53
|
-
# and Zen::Asset.stylesheet. These shortcuts work identical but are defined
|
|
54
|
-
# as class methods and thus can be used inside your class declaration:
|
|
55
|
-
#
|
|
56
|
-
# class Something < Zen::Controller::AdminController
|
|
57
|
-
# stylesheet ['reset'], :global => true
|
|
58
|
-
# end
|
|
59
|
-
#
|
|
60
|
-
# @author Yorick Peterse
|
|
61
|
-
# @since 0.2.5
|
|
62
|
-
#
|
|
63
|
-
module Asset
|
|
64
|
-
include ::Innate::Optioned
|
|
65
|
-
|
|
66
|
-
options.dsl do
|
|
67
|
-
o 'Prefix for JS and CSS files' , :prefix , 'admin'
|
|
68
|
-
o 'Prefix for JS files on top of :prefix', :javascript_prefix, 'js'
|
|
69
|
-
o 'Prefix for CSS on top of :prefix' , :stylesheet_prefix, 'css'
|
|
70
|
-
end
|
|
71
|
-
|
|
72
|
-
##
|
|
73
|
-
# Hash containing all the global and controller specific stylesheets that
|
|
74
|
-
# have to be loaded when calling build_stylesheets.
|
|
75
|
-
#
|
|
76
|
-
# @author Yorick Peterse
|
|
77
|
-
# @since 0.2.5
|
|
78
|
-
#
|
|
79
|
-
Stylesheets = {
|
|
80
|
-
:global => []
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
##
|
|
84
|
-
# Hash containing all the global and controller specific stylesheets to
|
|
85
|
-
# load when calling build_javascripts.
|
|
86
|
-
#
|
|
87
|
-
# @author Yorick Peterse
|
|
88
|
-
# @since 0.2.5
|
|
89
|
-
#
|
|
90
|
-
Javascripts = {
|
|
91
|
-
:global => []
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
##
|
|
95
|
-
# Registers the given Javascripts files so that they're either loaded for
|
|
96
|
-
# the current action or for all actions. Note that the first argument of
|
|
97
|
-
# this method should always be an array.
|
|
98
|
-
#
|
|
99
|
-
# @example
|
|
100
|
-
# # Loads /admin/js/users/access_rules.js for the current action only
|
|
101
|
-
# Zen::Asset.javascript ['users/access_rules']
|
|
102
|
-
#
|
|
103
|
-
# # This would load the file globally
|
|
104
|
-
# Zen::Asset.javascript ['users/access_rules'], :global => true
|
|
105
|
-
#
|
|
106
|
-
# @author Yorick Peterse
|
|
107
|
-
# @since 0.2.5
|
|
108
|
-
# @see Zen::Asset.process
|
|
109
|
-
#
|
|
110
|
-
def self.javascript(files, options = {})
|
|
111
|
-
options = {
|
|
112
|
-
:prefix => File.join(
|
|
113
|
-
'/', self.options.prefix, self.options.javascript_prefix
|
|
114
|
-
),
|
|
115
|
-
:type => :javascript
|
|
116
|
-
}.merge(options)
|
|
117
|
-
|
|
118
|
-
process(files, options)
|
|
119
|
-
end
|
|
120
|
-
|
|
121
|
-
##
|
|
122
|
-
# Registers a number of stylesheets that can either be loaded globally or
|
|
123
|
-
# for the current action.
|
|
124
|
-
#
|
|
125
|
-
# @example
|
|
126
|
-
# Zen::Asset.stylesheet ['foobar/admin_template'], :global => true
|
|
127
|
-
#
|
|
128
|
-
# @author Yorick Peterse
|
|
129
|
-
# @since 0.2.5
|
|
130
|
-
# @see Zen::Asset.process
|
|
131
|
-
#
|
|
132
|
-
def self.stylesheet(files, options = {})
|
|
133
|
-
options = {
|
|
134
|
-
:prefix => File.join(
|
|
135
|
-
'/', self.options.prefix, self.options.stylesheet_prefix
|
|
136
|
-
),
|
|
137
|
-
:type => :stylesheet
|
|
138
|
-
}.merge(options)
|
|
139
|
-
|
|
140
|
-
process(files, options)
|
|
141
|
-
end
|
|
142
|
-
|
|
143
|
-
##
|
|
144
|
-
# Builds either all Javascript files or stylesheets. This method will load
|
|
145
|
-
# both the global and action specific files.
|
|
146
|
-
#
|
|
147
|
-
# @example
|
|
148
|
-
# # Build the HTML tags for all stylesheets
|
|
149
|
-
# Zen::Asset.build(:stylesheet)
|
|
150
|
-
#
|
|
151
|
-
# # Build the HTML tags for all Javascript files
|
|
152
|
-
# Zen::Asset.build(:javascript)
|
|
153
|
-
#
|
|
154
|
-
# @author Yorick Peterse
|
|
155
|
-
# @since 0.2.5
|
|
156
|
-
# @param [Symbol] type The type of assets to build.
|
|
157
|
-
# @return [String] The HTML tags for all the assets.
|
|
158
|
-
#
|
|
159
|
-
def self.build(type)
|
|
160
|
-
type = type.to_sym
|
|
161
|
-
attrs = {}
|
|
162
|
-
controller = Ramaze::Current.action.node.to_s.to_sym
|
|
163
|
-
method = Ramaze::Current.action.method.to_s.to_sym
|
|
164
|
-
gestalt = Ramaze::Gestalt.new
|
|
165
|
-
|
|
166
|
-
# The method in Ramaze::Current.action.method does not always contain the
|
|
167
|
-
# method since the assets are built in a layout.
|
|
168
|
-
if method.empty? and Ramaze::Current.actions[-2]
|
|
169
|
-
method = Ramaze::Current.actions[-2].method.to_s.to_sym
|
|
170
|
-
end
|
|
171
|
-
|
|
172
|
-
# Set the basic elements of the tag
|
|
173
|
-
if type === :stylesheet
|
|
174
|
-
tag = :link
|
|
175
|
-
value = :href
|
|
176
|
-
attrs[:rel] = 'stylesheet'
|
|
177
|
-
files = Stylesheets
|
|
178
|
-
else
|
|
179
|
-
tag = :script
|
|
180
|
-
value = :src
|
|
181
|
-
files = Javascripts
|
|
182
|
-
end
|
|
183
|
-
|
|
184
|
-
# Get all the files to build
|
|
185
|
-
if !files[controller].nil?
|
|
186
|
-
if files[controller].key?(method)
|
|
187
|
-
files = files[:global] + files[controller][method]
|
|
188
|
-
elsif !files[controller][:__all].nil?
|
|
189
|
-
files = files[:global] + files[controller][:__all]
|
|
190
|
-
else
|
|
191
|
-
files = files[:global]
|
|
192
|
-
end
|
|
193
|
-
else
|
|
194
|
-
files = files[:global]
|
|
195
|
-
end
|
|
196
|
-
|
|
197
|
-
# Build the tags
|
|
198
|
-
files.each do |f|
|
|
199
|
-
tag_attrs = {
|
|
200
|
-
value => f
|
|
201
|
-
}.merge(attrs)
|
|
202
|
-
|
|
203
|
-
if type === :javascript
|
|
204
|
-
gestalt.send(tag, '', tag_attrs)
|
|
205
|
-
else
|
|
206
|
-
gestalt.send(tag, tag_attrs)
|
|
207
|
-
end
|
|
208
|
-
end
|
|
209
|
-
|
|
210
|
-
return gestalt.to_s
|
|
211
|
-
end
|
|
212
|
-
|
|
213
|
-
private
|
|
214
|
-
|
|
215
|
-
##
|
|
216
|
-
# Stores the given files in the correct hash based on the specified options.
|
|
217
|
-
#
|
|
218
|
-
# @example
|
|
219
|
-
# process(
|
|
220
|
-
# ['foobar', 'baz'],
|
|
221
|
-
# :global => false,
|
|
222
|
-
# :type => :javascript,
|
|
223
|
-
# :prefix => 'js'
|
|
224
|
-
# )
|
|
225
|
-
#
|
|
226
|
-
# @author Yorick Peterse
|
|
227
|
-
# @since 0.2.5
|
|
228
|
-
# @param [Array] files An array of files to load.
|
|
229
|
-
# @param [Hash] options A hash containing all the required options.
|
|
230
|
-
# @option options [TrueClass] :global Specifies that all the files should be
|
|
231
|
-
# loaded globally.
|
|
232
|
-
# @option options [Symbol] :type The type of asset that's loaded, can either
|
|
233
|
-
# be :javascript or :stylesheet.
|
|
234
|
-
# @option options [String] :prefix The prefix to use for all the assets.
|
|
235
|
-
# @option options [TrueClass] :global When set to true the specified files
|
|
236
|
-
# will be loaded globally.
|
|
237
|
-
# @option options [Symbol/String] :controller The class of the controller
|
|
238
|
-
# for which the assets should be loaded.
|
|
239
|
-
# @option options [Symbol/String/Array] :method A string or symbol that
|
|
240
|
-
# represents a single method for which to load the assets OR an array of
|
|
241
|
-
# methods.
|
|
242
|
-
#
|
|
243
|
-
def self.process(files, options)
|
|
244
|
-
# Determine whether the files should be loaded globally
|
|
245
|
-
if options.key?(:global) and options[:global] === true
|
|
246
|
-
key = :global
|
|
247
|
-
else
|
|
248
|
-
key = options[:controller].to_s.to_sym
|
|
249
|
-
end
|
|
250
|
-
|
|
251
|
-
# Determine where to save the data
|
|
252
|
-
if options[:type] === :javascript
|
|
253
|
-
save = Javascripts
|
|
254
|
-
ext = '.js'
|
|
255
|
-
else
|
|
256
|
-
save = Stylesheets
|
|
257
|
-
ext = '.css'
|
|
258
|
-
end
|
|
259
|
-
|
|
260
|
-
# Get the method to load the assets for
|
|
261
|
-
if options.key?(:method) and options[:method].class != Array
|
|
262
|
-
options[:method] = [options[:method]]
|
|
263
|
-
end
|
|
264
|
-
|
|
265
|
-
# Add all the files
|
|
266
|
-
files.each do |f|
|
|
267
|
-
f = f.to_s + ext
|
|
268
|
-
f = File.join(options[:prefix], f)
|
|
269
|
-
|
|
270
|
-
# Load the assets for all the given methods
|
|
271
|
-
if options.key?(:method)
|
|
272
|
-
options[:method].each do |method|
|
|
273
|
-
method = method.to_sym
|
|
274
|
-
save[key] ||= {}
|
|
275
|
-
save[key][method] ||= []
|
|
276
|
-
|
|
277
|
-
save[key][method].push(f) unless save[key][method].include?(f)
|
|
278
|
-
end
|
|
279
|
-
# Load the assets for all methods in the controller
|
|
280
|
-
else
|
|
281
|
-
if key === :global
|
|
282
|
-
save[key].push(f) unless save[key].include?(f)
|
|
283
|
-
else
|
|
284
|
-
save[key] ||= {}
|
|
285
|
-
save[key][:__all] ||= []
|
|
286
|
-
save[key][:__all].push(f) unless save[key][:__all].include?(f)
|
|
287
|
-
end
|
|
288
|
-
end
|
|
289
|
-
end
|
|
290
|
-
end
|
|
291
|
-
end # Asset
|
|
292
|
-
end # Zen
|
data/lib/zen/bin/runner.rb
DELETED
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
# Load all commands
|
|
2
|
-
require __DIR__('create')
|
|
3
|
-
|
|
4
|
-
#:nodoc:
|
|
5
|
-
module Zen
|
|
6
|
-
#:nodoc:
|
|
7
|
-
module Bin
|
|
8
|
-
##
|
|
9
|
-
# Module used to set various global options for the command line utility and
|
|
10
|
-
# run a command based on the specified parameters.
|
|
11
|
-
#
|
|
12
|
-
# @author Yorick Peterse
|
|
13
|
-
# @since 0.2.8
|
|
14
|
-
#
|
|
15
|
-
module Runner
|
|
16
|
-
# Hash containing all the available commands and their class names.
|
|
17
|
-
Commands = {
|
|
18
|
-
:create => Zen::Bin::Create
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
# The banner of this command.
|
|
22
|
-
Banner = <<-TXT.strip
|
|
23
|
-
Zen is a modular CMS written on top of the awesome Ramaze framework.
|
|
24
|
-
|
|
25
|
-
Usage:
|
|
26
|
-
zen [COMMAND] [OPTIONS]
|
|
27
|
-
|
|
28
|
-
Example:
|
|
29
|
-
zen create blog
|
|
30
|
-
TXT
|
|
31
|
-
|
|
32
|
-
##
|
|
33
|
-
# Runs a command based on the command line arguments or a specified array
|
|
34
|
-
# to use instead of ARGV.
|
|
35
|
-
#
|
|
36
|
-
# @author Yorick Peterse
|
|
37
|
-
# @since 0.2.8
|
|
38
|
-
# @param [Array] argv An array containing command line arguments.
|
|
39
|
-
#
|
|
40
|
-
def self.run(argv=ARGV)
|
|
41
|
-
stop = false
|
|
42
|
-
op = OptionParser.new do |opt|
|
|
43
|
-
opt.banner = Banner
|
|
44
|
-
opt.summary_indent = ' '
|
|
45
|
-
|
|
46
|
-
opt.separator "\nCommands:\n #{commands_info.join("\n ")}"
|
|
47
|
-
opt.separator "\nOptions:\n"
|
|
48
|
-
|
|
49
|
-
# Define the available options
|
|
50
|
-
opt.on('-v', '--version', 'Shows the version of Zen') do
|
|
51
|
-
puts Zen::Version
|
|
52
|
-
|
|
53
|
-
stop = true
|
|
54
|
-
end
|
|
55
|
-
|
|
56
|
-
opt.on('-h', '--help', 'Shows this help message') do
|
|
57
|
-
puts op
|
|
58
|
-
|
|
59
|
-
stop = true
|
|
60
|
-
end
|
|
61
|
-
end
|
|
62
|
-
|
|
63
|
-
# Parse it
|
|
64
|
-
op.order!(argv)
|
|
65
|
-
|
|
66
|
-
# exit() doesn't work for specs.
|
|
67
|
-
return if stop === true
|
|
68
|
-
return puts op if !argv[0]
|
|
69
|
-
|
|
70
|
-
# Run the command if it exists
|
|
71
|
-
cmd = argv.delete_at(0).to_sym
|
|
72
|
-
|
|
73
|
-
if Commands.key?(cmd)
|
|
74
|
-
cmd = Commands[cmd].new
|
|
75
|
-
cmd.run(argv)
|
|
76
|
-
else
|
|
77
|
-
return $stderr.puts "The specified command is invalid"
|
|
78
|
-
end
|
|
79
|
-
end
|
|
80
|
-
|
|
81
|
-
##
|
|
82
|
-
# Generates an array of "rows" where each row contains the name and
|
|
83
|
-
# description of a command. The descriptions of all commands are aligned
|
|
84
|
-
# based on the length of the longest command name.
|
|
85
|
-
#
|
|
86
|
-
# This method has been ported from Ramaze.
|
|
87
|
-
#
|
|
88
|
-
# @author Yorick Peterse
|
|
89
|
-
# @since 23-07-2011
|
|
90
|
-
# @return [Array]
|
|
91
|
-
#
|
|
92
|
-
def self.commands_info
|
|
93
|
-
cmds = []
|
|
94
|
-
longest = Commands.map { |name, klass| name.to_s }.sort[0].size
|
|
95
|
-
|
|
96
|
-
Commands.each do |name, klass|
|
|
97
|
-
name = name.to_s
|
|
98
|
-
desc = ''
|
|
99
|
-
|
|
100
|
-
# Try to extract the command description
|
|
101
|
-
if klass.respond_to?(:const_defined?) \
|
|
102
|
-
and klass.const_defined?(:Description)
|
|
103
|
-
desc = klass.const_get(:Description)
|
|
104
|
-
end
|
|
105
|
-
|
|
106
|
-
# Align the description based on the length of the name
|
|
107
|
-
while name.size <= longest do
|
|
108
|
-
name += ' '
|
|
109
|
-
end
|
|
110
|
-
|
|
111
|
-
cmds.push(["#{name} #{desc}"])
|
|
112
|
-
end
|
|
113
|
-
|
|
114
|
-
return cmds
|
|
115
|
-
end
|
|
116
|
-
end # Runner
|
|
117
|
-
end # Bin
|
|
118
|
-
end # Zen
|