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
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
module Ramaze
|
|
2
|
+
module Helper
|
|
3
|
+
##
|
|
4
|
+
# Helper that provides a few methods for commonly used code inside a
|
|
5
|
+
# controller.
|
|
6
|
+
#
|
|
7
|
+
# @since 0.3
|
|
8
|
+
#
|
|
9
|
+
module Controller
|
|
10
|
+
##
|
|
11
|
+
# Extends the class that included this module with the ClassMethods
|
|
12
|
+
# module.
|
|
13
|
+
#
|
|
14
|
+
# @since 0.3
|
|
15
|
+
# @param [Class] into The class that included this module.
|
|
16
|
+
#
|
|
17
|
+
def self.included(into)
|
|
18
|
+
into.extend(Ramaze::Helper::Controller::ClassMethods)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
##
|
|
22
|
+
# Methods that become available as class methods.
|
|
23
|
+
#
|
|
24
|
+
# @since 0.3
|
|
25
|
+
#
|
|
26
|
+
module ClassMethods
|
|
27
|
+
##
|
|
28
|
+
# Sets the title for all the methods based on a language string. If
|
|
29
|
+
# there's no corresponding language key the title will not be set.
|
|
30
|
+
#
|
|
31
|
+
# @example
|
|
32
|
+
# class Foo < Zen::Controller::AdminController
|
|
33
|
+
# title 'foo.titles.%s'
|
|
34
|
+
# end
|
|
35
|
+
#
|
|
36
|
+
# @since 0.3
|
|
37
|
+
# @param [String] title The language key to use, a %s will be replaced
|
|
38
|
+
# with the name of the current action.
|
|
39
|
+
#
|
|
40
|
+
def title(title)
|
|
41
|
+
stacked_before_all(:set_page_title) do
|
|
42
|
+
@page_title = lang(title % action.method) rescue nil
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
##
|
|
47
|
+
# Protects the specified methods against CSRF attacks. If a CSRF token
|
|
48
|
+
# is missing the user will see the message defined in the language key
|
|
49
|
+
# "zen_general.errors.csrf" and the HTTP status code will be set to 403.
|
|
50
|
+
#
|
|
51
|
+
# @example
|
|
52
|
+
# class Foo < Zen::Controller::AdminController
|
|
53
|
+
# csrf_protection :save, :delete
|
|
54
|
+
# end
|
|
55
|
+
#
|
|
56
|
+
# @since 0.3
|
|
57
|
+
# @param [Array] *actions An array of action names to protect against
|
|
58
|
+
# CSRF attacks.
|
|
59
|
+
#
|
|
60
|
+
def csrf_protection(*actions)
|
|
61
|
+
# before_all() calls don't stack. Because CSRF protected methods are
|
|
62
|
+
# usually used for POST calls (and are separate methods) this works
|
|
63
|
+
# around it.
|
|
64
|
+
stacked_before_all(:validate_csrf_token) do
|
|
65
|
+
csrf_protection(*actions) do
|
|
66
|
+
respond(lang('zen_general.errors.csrf'), 403)
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
end # ClassMethods
|
|
71
|
+
end # Controller
|
|
72
|
+
end # Helper
|
|
73
|
+
end # Ramaze
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
module Ramaze
|
|
2
|
+
module Helper
|
|
3
|
+
##
|
|
4
|
+
# Helper that can be used to display various variables based on the user's
|
|
5
|
+
# locale and settings.
|
|
6
|
+
#
|
|
7
|
+
# @since 0.3
|
|
8
|
+
#
|
|
9
|
+
module Locale
|
|
10
|
+
##
|
|
11
|
+
# Returns the date format for the currently logged in user. If the user
|
|
12
|
+
# has no date format set (or isn't logged in) the system format is used.
|
|
13
|
+
#
|
|
14
|
+
# @since 0.3
|
|
15
|
+
#
|
|
16
|
+
def date_format
|
|
17
|
+
begin
|
|
18
|
+
format = user.date_format
|
|
19
|
+
rescue
|
|
20
|
+
format = get_setting(:date_format).value
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
return format
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
##
|
|
27
|
+
# Formats a date according to Ramaze::Helper::Locale#date_format.
|
|
28
|
+
#
|
|
29
|
+
# @since 0.3
|
|
30
|
+
# @param [#strftime] object An object that responds to #strftime().
|
|
31
|
+
# @return [String]
|
|
32
|
+
#
|
|
33
|
+
def format_date(object)
|
|
34
|
+
if object.respond_to?(:strftime)
|
|
35
|
+
return object.strftime(date_format)
|
|
36
|
+
else
|
|
37
|
+
return nil
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end # Locale
|
|
41
|
+
end # Helper
|
|
42
|
+
end # Ramaze
|
data/lib/zen/helper/message.rb
CHANGED
|
@@ -22,14 +22,12 @@ module Ramaze
|
|
|
22
22
|
#
|
|
23
23
|
# This will create and return the HTML for all the messages.
|
|
24
24
|
#
|
|
25
|
-
# @author Yorick Peterse
|
|
26
25
|
# @since 26-05-2011
|
|
27
26
|
#
|
|
28
27
|
module Message
|
|
29
28
|
##
|
|
30
29
|
# Adds a new message to the list for the given type.
|
|
31
30
|
#
|
|
32
|
-
# @author Yorick Peterse
|
|
33
31
|
# @since 26-05-2011
|
|
34
32
|
# @param [Symbol/String] type The type of message to store (e.g. "error").
|
|
35
33
|
# @param [String] message The message to display.
|
|
@@ -47,7 +45,6 @@ module Ramaze
|
|
|
47
45
|
##
|
|
48
46
|
# Renders all the messages for the specified types.
|
|
49
47
|
#
|
|
50
|
-
# @author Yorick Peterse
|
|
51
48
|
# @since 26-05-2011
|
|
52
49
|
# @param [Array] types Array containing all the messages to render.
|
|
53
50
|
#
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
module Ramaze
|
|
2
|
+
module Helper
|
|
3
|
+
##
|
|
4
|
+
# The Search helper is a helper that can be used in controllers allowing the
|
|
5
|
+
# user to search the content of those controllers and models.
|
|
6
|
+
#
|
|
7
|
+
# @since 16-10-2011
|
|
8
|
+
#
|
|
9
|
+
module Search
|
|
10
|
+
##
|
|
11
|
+
# Renders a search form that points to the given URL.
|
|
12
|
+
#
|
|
13
|
+
# @since 16-10-2011
|
|
14
|
+
# @param [#to_s] url The URL to point the search form to.
|
|
15
|
+
# @return [String]
|
|
16
|
+
#
|
|
17
|
+
def render_search_form(url)
|
|
18
|
+
render_file(
|
|
19
|
+
__DIR__('../view/search.xhtml'),
|
|
20
|
+
:url => url.to_s
|
|
21
|
+
)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
##
|
|
25
|
+
# Calls the given block used to search a number of records. If the search
|
|
26
|
+
# action raises an error a message is displayed and the user will be
|
|
27
|
+
# redirected back to the previous page.
|
|
28
|
+
#
|
|
29
|
+
# If no search query is specified nil will be returned.
|
|
30
|
+
#
|
|
31
|
+
# @example
|
|
32
|
+
# results = search do |query|
|
|
33
|
+
# Sections::Model::Section.search(query)
|
|
34
|
+
# end
|
|
35
|
+
#
|
|
36
|
+
# @since 16-10-2011
|
|
37
|
+
# @return [NilClass|Mixed]
|
|
38
|
+
#
|
|
39
|
+
def search
|
|
40
|
+
if request.params['query'].nil? or request.params['query'].empty?
|
|
41
|
+
return nil
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
begin
|
|
45
|
+
return yield(request.params['query'])
|
|
46
|
+
rescue => e
|
|
47
|
+
Ramaze::Log.error(e.inspect)
|
|
48
|
+
message(:error, lang('zen_general.errors.invalid_search'))
|
|
49
|
+
redirect_referrer(::Sections::Controller::Sections.r(:index))
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end # Search
|
|
53
|
+
end # Helper
|
|
54
|
+
end # Ramaze
|
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
module Ramaze
|
|
2
|
+
module Helper
|
|
3
|
+
##
|
|
4
|
+
# StackedAspect is a helper similar to {Innate::Helper::Aspect} but allows
|
|
5
|
+
# calls to methods such as ``before_all`` to stack on top of each other
|
|
6
|
+
# instead of overwriting previously defined ones.
|
|
7
|
+
#
|
|
8
|
+
# Although this helper works very similar to the Aspect helper there are two
|
|
9
|
+
# main differences besides the calls being stackable:
|
|
10
|
+
#
|
|
11
|
+
# 1. All methods are prefixed with ``stacked_``
|
|
12
|
+
# 2. All methods require you to specify a name for the block.
|
|
13
|
+
#
|
|
14
|
+
# Both these items exist to achieve compatibility with the Aspect helper as
|
|
15
|
+
# well as being able to reload code using the reloader without adding all
|
|
16
|
+
# the blocks each time the code is reloaded.
|
|
17
|
+
#
|
|
18
|
+
# Basic usage of this helper is as following:
|
|
19
|
+
#
|
|
20
|
+
# class Posts < Ramaze::Controller
|
|
21
|
+
# map '/posts'
|
|
22
|
+
# helper :stacked_aspect
|
|
23
|
+
#
|
|
24
|
+
# stacked_before_all(:validate_ip) do
|
|
25
|
+
# validate_ip
|
|
26
|
+
# end
|
|
27
|
+
#
|
|
28
|
+
# stacked_before_all(:validate_user) do
|
|
29
|
+
# validate_user
|
|
30
|
+
# end
|
|
31
|
+
#
|
|
32
|
+
# def index
|
|
33
|
+
#
|
|
34
|
+
# end
|
|
35
|
+
# end
|
|
36
|
+
#
|
|
37
|
+
# In this example both methods (``validate_ip`` and ``validate_user``) would
|
|
38
|
+
# be executed before calling ``#index()``.
|
|
39
|
+
#
|
|
40
|
+
# @since 06-11-2011
|
|
41
|
+
#
|
|
42
|
+
module StackedAspect
|
|
43
|
+
# Hash that will contain all the STACKED_AOP actions.
|
|
44
|
+
STACKED_AOP = Hash.new { |h, k| h[k] = Hash.new { |hh, kk| hh[kk] = {} } }
|
|
45
|
+
|
|
46
|
+
##
|
|
47
|
+
# Called whenever this module is included into a class.
|
|
48
|
+
#
|
|
49
|
+
# @since 06-11-2011
|
|
50
|
+
# @param [Class] into The class that included this module.
|
|
51
|
+
#
|
|
52
|
+
def self.included(into)
|
|
53
|
+
into.extend(ClassMethods)
|
|
54
|
+
into.add_action_wrapper(7.0, :stacked_aspect_wrap)
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
# @see Innate::Helper::Aspect.ancestral_aop
|
|
58
|
+
def self.ancestral_aop(from)
|
|
59
|
+
aop = {}
|
|
60
|
+
|
|
61
|
+
from.ancestors.reverse.map do |anc|
|
|
62
|
+
aop.merge!(STACKED_AOP[anc]) if anc < StackedAspect
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
return aop
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
##
|
|
69
|
+
# Shows a warning to inform the developer that the aspect name is already
|
|
70
|
+
# in use.
|
|
71
|
+
#
|
|
72
|
+
# @since 06-11-2011
|
|
73
|
+
# @param [#to_s] name The name of the aspect.
|
|
74
|
+
#
|
|
75
|
+
def self.aspect_warn(name)
|
|
76
|
+
file, line = caller[1].split(':')
|
|
77
|
+
|
|
78
|
+
Ramaze::Log.warn(
|
|
79
|
+
"The aspect name \"#{name}\" is already in use, it was redefined " \
|
|
80
|
+
"in #{file} on line #{line}"
|
|
81
|
+
)
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
##
|
|
85
|
+
# Calls a certain AOP action for the specified position and method name.
|
|
86
|
+
#
|
|
87
|
+
# @since 06-11-2011
|
|
88
|
+
# @param [Symbol] position The position of the AOP action (e.g. :after).
|
|
89
|
+
# @param [String] name The name of the method for which to call the
|
|
90
|
+
# action.
|
|
91
|
+
#
|
|
92
|
+
def stacked_aspect_call(position, name)
|
|
93
|
+
return unless aop = StackedAspect.ancestral_aop(self.class)
|
|
94
|
+
return unless block = aop[position]
|
|
95
|
+
|
|
96
|
+
name = name.to_sym
|
|
97
|
+
|
|
98
|
+
# Bail out if the position is :before or :after but the current method
|
|
99
|
+
# doesn't match.
|
|
100
|
+
if [:before, :after].include?(position) and !block[name].is_a?(Hash)
|
|
101
|
+
return
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
# Extract the sub hash for the current method, this is needed for
|
|
105
|
+
# :before and :after.
|
|
106
|
+
if block.is_a?(Hash) and block[name].is_a?(Hash)
|
|
107
|
+
block = block[name]
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
if block.respond_to?(:each)
|
|
111
|
+
block.each do |k, v|
|
|
112
|
+
instance_eval(&v)
|
|
113
|
+
end
|
|
114
|
+
else
|
|
115
|
+
instance_eval(&block)
|
|
116
|
+
end
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
# @see Innate::Helper::Aspect#aspect_wrap
|
|
120
|
+
def stacked_aspect_wrap(action)
|
|
121
|
+
return yield unless method = action.name
|
|
122
|
+
|
|
123
|
+
stacked_aspect_call(:before_all, method)
|
|
124
|
+
stacked_aspect_call(:before, method)
|
|
125
|
+
|
|
126
|
+
result = yield
|
|
127
|
+
|
|
128
|
+
stacked_aspect_call(:after, method)
|
|
129
|
+
stacked_aspect_call(:after_all, method)
|
|
130
|
+
|
|
131
|
+
return result
|
|
132
|
+
end
|
|
133
|
+
|
|
134
|
+
##
|
|
135
|
+
# Module who's methods become available as class methods.
|
|
136
|
+
#
|
|
137
|
+
# @since 06-11-2011
|
|
138
|
+
#
|
|
139
|
+
module ClassMethods
|
|
140
|
+
include Traited
|
|
141
|
+
|
|
142
|
+
##
|
|
143
|
+
# Defines a block to run before all the actions in a controller.
|
|
144
|
+
#
|
|
145
|
+
# @example
|
|
146
|
+
# stacked_before_all(:check_ip) do
|
|
147
|
+
# validate_ip
|
|
148
|
+
# end
|
|
149
|
+
#
|
|
150
|
+
# stacked_before_all(:check_username) do
|
|
151
|
+
# validate_username
|
|
152
|
+
# end
|
|
153
|
+
#
|
|
154
|
+
# @since 06-11-2011
|
|
155
|
+
# @param [#to_sym] name The unique name of the block.
|
|
156
|
+
# @param [Proc] block The block to execute.
|
|
157
|
+
#
|
|
158
|
+
def stacked_before_all(name, &block)
|
|
159
|
+
name = name.to_sym
|
|
160
|
+
|
|
161
|
+
if !STACKED_AOP[self][:before_all].key?(name)
|
|
162
|
+
STACKED_AOP[self][:before_all][name] = block
|
|
163
|
+
else
|
|
164
|
+
StackedAspect.aspect_warn(name)
|
|
165
|
+
end
|
|
166
|
+
end
|
|
167
|
+
|
|
168
|
+
##
|
|
169
|
+
# Defines a block similar to
|
|
170
|
+
# {Ramaze::Helper::StackedAspect::ClassMethods#stacked_before} but only
|
|
171
|
+
# runs the block before the specified list of methods.
|
|
172
|
+
#
|
|
173
|
+
# @example
|
|
174
|
+
# stacked_before(:check_ip, [:save, :delete]) do
|
|
175
|
+
# validate_ip
|
|
176
|
+
# end
|
|
177
|
+
#
|
|
178
|
+
# @since 06-11-2011
|
|
179
|
+
# @param [#to_sym] name A unique name for the block.
|
|
180
|
+
# @param [Array] methods An array of methods for which to run the block.
|
|
181
|
+
# @param [Proc] block The block to run.
|
|
182
|
+
#
|
|
183
|
+
def stacked_before(name, methods, &block)
|
|
184
|
+
name = name.to_sym
|
|
185
|
+
|
|
186
|
+
methods.each do |m|
|
|
187
|
+
m = m.to_sym
|
|
188
|
+
STACKED_AOP[self][:before][m] ||= {}
|
|
189
|
+
|
|
190
|
+
if !STACKED_AOP[self][:before][m].key?(name)
|
|
191
|
+
STACKED_AOP[self][:before][m][name] = block
|
|
192
|
+
else
|
|
193
|
+
StackedAspect.aspect_warn(name)
|
|
194
|
+
end
|
|
195
|
+
end
|
|
196
|
+
end
|
|
197
|
+
|
|
198
|
+
##
|
|
199
|
+
# Runs a block after all the actions in a controller.
|
|
200
|
+
#
|
|
201
|
+
# @since 06-11-2011
|
|
202
|
+
# @see Ramaze::Helper::StackedAspect::ClassMethods#stacked_before_all
|
|
203
|
+
#
|
|
204
|
+
def stacked_after_all(name, &block)
|
|
205
|
+
name = name.to_sym
|
|
206
|
+
|
|
207
|
+
if !STACKED_AOP[self][:after_all].key?(name)
|
|
208
|
+
STACKED_AOP[self][:after_all][name] = block
|
|
209
|
+
else
|
|
210
|
+
StackedAspect.aspect_warn(name)
|
|
211
|
+
end
|
|
212
|
+
end
|
|
213
|
+
|
|
214
|
+
##
|
|
215
|
+
# Runs a block after a specific list of methods.
|
|
216
|
+
#
|
|
217
|
+
# @since 06-11-2011
|
|
218
|
+
# @see Ramaze::Helper::StackedAspect::ClassMethods#stacked_before
|
|
219
|
+
#
|
|
220
|
+
def stacked_after(name, names, &block)
|
|
221
|
+
name = name.to_sym
|
|
222
|
+
|
|
223
|
+
methods.each do |m|
|
|
224
|
+
m = m.to_sym
|
|
225
|
+
STACKED_AOP[self][:after][m] ||= {}
|
|
226
|
+
|
|
227
|
+
if !STACKED_AOP[self][:after][m].key?(name)
|
|
228
|
+
STACKED_AOP[self][:after][m][name] = block
|
|
229
|
+
else
|
|
230
|
+
StackedAspect.aspect_warn(name)
|
|
231
|
+
end
|
|
232
|
+
end
|
|
233
|
+
end
|
|
234
|
+
|
|
235
|
+
##
|
|
236
|
+
# Wraps the block around the list of methods.
|
|
237
|
+
#
|
|
238
|
+
# @since 06-11-2011
|
|
239
|
+
# @see Ramaze::Helper::StackedAspect::ClassMethods#stacked_before
|
|
240
|
+
# @see Ramaze::Helper::StackedAspect::ClassMethods#stacked_after
|
|
241
|
+
#
|
|
242
|
+
def stacked_wrap(name, names, &block)
|
|
243
|
+
before(name, names, &block)
|
|
244
|
+
after(name, names, &block)
|
|
245
|
+
end
|
|
246
|
+
end # ClassMethods
|
|
247
|
+
end # StackedAspect
|
|
248
|
+
end # Helper
|
|
249
|
+
end # Ramaze
|
data/lib/zen/helper/theme.rb
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
require __DIR__('../error/theme_error')
|
|
2
|
-
|
|
3
1
|
#:nodoc:
|
|
4
2
|
module Ramaze
|
|
5
3
|
#:nodoc:
|
|
@@ -8,7 +6,6 @@ module Ramaze
|
|
|
8
6
|
# Helper that provides a few methods that make certain tasks easier when
|
|
9
7
|
# creating themes and templates.
|
|
10
8
|
#
|
|
11
|
-
# @author Yorick Peterse
|
|
12
9
|
# @since 0.2.5
|
|
13
10
|
#
|
|
14
11
|
module Theme
|
|
@@ -22,14 +19,13 @@ module Ramaze
|
|
|
22
19
|
# partial(:header) # => partials/header.xhtml
|
|
23
20
|
# partial(:header, :username => "YorickPeterse")
|
|
24
21
|
#
|
|
25
|
-
# @author Yorick Peterse
|
|
26
22
|
# @since 0.2.5
|
|
27
23
|
# @param [Symbol] file The name of the partial to render.
|
|
28
24
|
# @param [Hash] variables A hash with variables that should be made
|
|
29
|
-
#
|
|
25
|
+
# available for the partial.
|
|
30
26
|
#
|
|
31
27
|
def partial(file, variables = {})
|
|
32
|
-
theme =
|
|
28
|
+
theme = get_setting(:theme).value
|
|
33
29
|
theme = Zen::Theme[theme]
|
|
34
30
|
|
|
35
31
|
if !theme.respond_to?(:partial_dir) or theme.partial_dir.nil?
|
|
@@ -59,15 +55,12 @@ module Ramaze
|
|
|
59
55
|
# show_404
|
|
60
56
|
# show_404(:uri => @request_uri)
|
|
61
57
|
#
|
|
62
|
-
# @author Yorick Peterse
|
|
63
58
|
# @since 0.2.5
|
|
64
59
|
# @param [Hash] variables Hash with variables to pass to the 404 template.
|
|
65
60
|
#
|
|
66
61
|
def show_404(variables = {})
|
|
67
|
-
theme = ::Zen::Theme[
|
|
62
|
+
theme = ::Zen::Theme[get_setting(:theme).value]
|
|
68
63
|
template = File.join(theme.template_dir, '404.xhtml')
|
|
69
|
-
|
|
70
|
-
# Render the template and replace the current buffer with it's output
|
|
71
64
|
template = render_file(template, variables)
|
|
72
65
|
|
|
73
66
|
respond(template, 404)
|