refinerycms-core 1.0.11 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/{public → app/assets/images}/favicon.ico +0 -0
- data/{public → app/assets}/images/refinery/add.png +0 -0
- data/{public → app/assets}/images/refinery/admin_bg.png +0 -0
- data/{public → app/assets}/images/refinery/ajax-loader.gif +0 -0
- data/{public → app/assets}/images/refinery/branch-end.gif +0 -0
- data/{public → app/assets}/images/refinery/branch-start.gif +0 -0
- data/{public → app/assets}/images/refinery/branch.gif +0 -0
- data/{public → app/assets}/images/refinery/carousel-left.png +0 -0
- data/{public → app/assets}/images/refinery/carousel-right.png +0 -0
- data/{public → app/assets}/images/refinery/cross.png +0 -0
- data/{public → app/assets}/images/refinery/dialogLoadingAnimation.gif +0 -0
- data/{public → app/assets}/images/refinery/header_background.png +0 -0
- data/{public → app/assets}/images/refinery/hover-gradient.jpg +0 -0
- data/{public → app/assets}/images/refinery/icons/accept.png +0 -0
- data/{public → app/assets}/images/refinery/icons/add.png +0 -0
- data/{public → app/assets}/images/refinery/icons/ajax-loader.gif +0 -0
- data/{public → app/assets}/images/refinery/icons/application_edit.png +0 -0
- data/{public → app/assets}/images/refinery/icons/application_go.png +0 -0
- data/{public → app/assets}/images/refinery/icons/arrow_left.png +0 -0
- data/{public → app/assets}/images/refinery/icons/arrow_switch.png +0 -0
- data/{public → app/assets}/images/refinery/icons/arrow_up.png +0 -0
- data/{public → app/assets}/images/refinery/icons/bin.png +0 -0
- data/{public → app/assets}/images/refinery/icons/bin_closed.png +0 -0
- data/{public → app/assets}/images/refinery/icons/cancel.png +0 -0
- data/{public → app/assets}/images/refinery/icons/cog_add.png +0 -0
- data/{public → app/assets}/images/refinery/icons/cog_edit.png +0 -0
- data/{public → app/assets}/images/refinery/icons/cross.png +0 -0
- data/{public → app/assets}/images/refinery/icons/delete.png +0 -0
- data/{public → app/assets}/images/refinery/icons/doc.png +0 -0
- data/{public → app/assets}/images/refinery/icons/down.gif +0 -0
- data/{public → app/assets}/images/refinery/icons/edit.png +0 -0
- data/{public → app/assets}/images/refinery/icons/email.png +0 -0
- data/{public → app/assets}/images/refinery/icons/email_edit.png +0 -0
- data/{public → app/assets}/images/refinery/icons/email_go.png +0 -0
- data/{public → app/assets}/images/refinery/icons/email_open.png +0 -0
- data/{public → app/assets}/images/refinery/icons/eye.png +0 -0
- data/app/assets/images/refinery/icons/folder.png +0 -0
- data/app/assets/images/refinery/icons/folder_open.png +0 -0
- data/{public → app/assets}/images/refinery/icons/folder_page_white.png +0 -0
- data/{public → app/assets}/images/refinery/icons/image_add.png +0 -0
- data/{public → app/assets}/images/refinery/icons/image_edit.png +0 -0
- data/{public → app/assets}/images/refinery/icons/img.png +0 -0
- data/{public → app/assets}/images/refinery/icons/information.png +0 -0
- data/{public → app/assets}/images/refinery/icons/layout_add.png +0 -0
- data/{public → app/assets}/images/refinery/icons/layout_edit.png +0 -0
- data/{public → app/assets}/images/refinery/icons/music.png +0 -0
- data/app/assets/images/refinery/icons/page.png +0 -0
- data/{public → app/assets}/images/refinery/icons/page_add.png +0 -0
- data/{public → app/assets}/images/refinery/icons/page_edit.png +0 -0
- data/{public → app/assets}/images/refinery/icons/page_white_edit.png +0 -0
- data/{public → app/assets}/images/refinery/icons/page_white_gear.png +0 -0
- data/{public → app/assets}/images/refinery/icons/page_white_put.png +0 -0
- data/{public → app/assets}/images/refinery/icons/pdf.png +0 -0
- data/{public → app/assets}/images/refinery/icons/ppt.png +0 -0
- data/{public → app/assets}/images/refinery/icons/star.png +0 -0
- data/{public → app/assets}/images/refinery/icons/tick.png +0 -0
- data/{public → app/assets}/images/refinery/icons/up.gif +0 -0
- data/{public → app/assets}/images/refinery/icons/user_add.png +0 -0
- data/{public → app/assets}/images/refinery/icons/user_comment.png +0 -0
- data/{public → app/assets}/images/refinery/icons/user_edit.png +0 -0
- data/{public → app/assets}/images/refinery/icons/xls.png +0 -0
- data/{public → app/assets}/images/refinery/icons/zip.png +0 -0
- data/{public → app/assets}/images/refinery/icons/zoom.png +0 -0
- data/{public → app/assets}/images/refinery/logo-large.png +0 -0
- data/{public → app/assets}/images/refinery/logo-medium.png +0 -0
- data/{public → app/assets}/images/refinery/logo-site-bar.png +0 -0
- data/{public → app/assets}/images/refinery/logo-small-medium.png +0 -0
- data/{public → app/assets}/images/refinery/logo-small.png +0 -0
- data/{public → app/assets}/images/refinery/logo-tiny.png +0 -0
- data/{public → app/assets}/images/refinery/logo.png +0 -0
- data/{public → app/assets}/images/refinery/nav-3-background.gif +0 -0
- data/{public → app/assets}/images/refinery/nav_inactive_background.png +0 -0
- data/{public → app/assets}/images/refinery/orange_button.png +0 -0
- data/{public → app/assets}/images/refinery/page_bg.png +0 -0
- data/{public → app/assets}/images/refinery/resolve_digital_footer_logo.png +0 -0
- data/{public → app/assets}/images/refinery/text_field_background.png +0 -0
- data/{public → app/assets}/images/refinery/tooltip-nib.gif +0 -0
- data/{public → app/assets}/images/refinery/tooltip-nib.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/arrow_redo.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/arrow_undo.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/eye.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/html5/article.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/html5/aside.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/html5/blockquote.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/html5/command.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/html5/details.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/html5/figcaption.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/html5/figure.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/html5/footer.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/html5/h1.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/html5/h2.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/html5/h3.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/html5/h4.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/html5/h5.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/html5/h6.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/html5/header.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/html5/hgroup.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/html5/mark.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/html5/meter.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/html5/nav.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/html5/p.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/html5/pre.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/html5/progress.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/html5/readme.md +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/html5/rp.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/html5/rt.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/html5/ruby.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/html5/section.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/html5/summary.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/html5/time.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/iframe/lbl-blockquote.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/iframe/lbl-h1.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/iframe/lbl-h2.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/iframe/lbl-h3.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/iframe/lbl-h4.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/iframe/lbl-h5.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/iframe/lbl-h6.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/iframe/lbl-p.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/iframe/lbl-pre.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/link_add.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/link_break.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/page_code.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/page_paste.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/photo_add.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/right.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/style.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/table_add.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/text_align_center.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/text_align_justify.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/text_align_left.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/text_align_right.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/text_bold.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/text_heading_1.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/text_heading_2.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/text_heading_3.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/text_heading_4.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/text_heading_5.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/text_heading_6.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/text_indent.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/text_indent_remove.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/text_italic.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/text_list_bullets.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/text_list_numbers.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/text_paragraph.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/text_strikethrough.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/text_subscript.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/text_superscript.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/refinery/text_underline.png +0 -0
- data/{public → app/assets}/images/wymeditor/skins/wymeditor_icon.png +0 -0
- data/{public → app/assets}/javascripts/admin.js +1 -2
- data/{public → app/assets}/javascripts/application.js +0 -0
- data/{public → app/assets}/javascripts/dd_belatedpng.js +0 -0
- data/{public → app/assets}/javascripts/jquery/GPL-LICENSE.txt +0 -0
- data/{public → app/assets}/javascripts/jquery/MIT-LICENSE.txt +0 -0
- data/{public → app/assets}/javascripts/jquery/jquery.corner.js +0 -0
- data/{public → app/assets}/javascripts/jquery/jquery.html5-placeholder-shim.js +0 -0
- data/{public → app/assets}/javascripts/jquery/jquery.jcarousel.js +0 -0
- data/{public → app/assets}/javascripts/jquery/jquery.textTruncate.js +0 -0
- data/{public → app/assets}/javascripts/jquery/jquery.timers.js +0 -0
- data/app/assets/javascripts/modernizr-min.js +4 -0
- data/{public/javascripts/refinery/admin.js → app/assets/javascripts/refinery/admin.js.erb} +121 -209
- data/app/assets/javascripts/refinery/ajaxy_pagination.js.coffee +13 -0
- data/{public/javascripts/refinery/boot_wym.js → app/assets/javascripts/refinery/boot_wym.js.erb} +8 -8
- data/{public → app/assets}/javascripts/refinery/core.js +1 -1
- data/app/assets/javascripts/refinery/interface.js.coffee.erb +70 -0
- data/app/assets/javascripts/refinery/modal_dialogs.js.erb +142 -0
- data/app/assets/javascripts/refinery/nestedsortables.js +356 -0
- data/app/assets/javascripts/refinery/refinery.js.erb +20 -0
- data/app/assets/javascripts/refinery/serializelist.js +68 -0
- data/{public → app/assets}/javascripts/refinery/site_bar.js +0 -0
- data/app/assets/javascripts/refinery/sortable_menu.js.coffee +21 -0
- data/{public/javascripts/refinery/submenu.js → app/assets/javascripts/refinery/submenu.js.erb} +1 -1
- data/app/assets/javascripts/refinery/submit_continue.js.coffee.erb +8 -0
- data/app/assets/javascripts/refinery/tree.js +25 -0
- data/app/assets/javascripts/refinery/wymeditor.js +37 -0
- data/app/assets/javascripts/wymeditor/browsers/ie.js.erb +224 -0
- data/app/assets/javascripts/wymeditor/browsers/mozilla.js.erb +293 -0
- data/app/assets/javascripts/wymeditor/browsers/opera.js.erb +123 -0
- data/app/assets/javascripts/wymeditor/browsers/webkit.js.erb +284 -0
- data/app/assets/javascripts/wymeditor/classes.js.erb +1577 -0
- data/app/assets/javascripts/wymeditor/functions.js.erb +218 -0
- data/{public → app/assets}/javascripts/wymeditor/lang/bg.js +0 -0
- data/{public → app/assets}/javascripts/wymeditor/lang/ca.js +0 -0
- data/{public → app/assets}/javascripts/wymeditor/lang/cs.js +12 -1
- data/{public → app/assets}/javascripts/wymeditor/lang/da.js +0 -0
- data/{public → app/assets}/javascripts/wymeditor/lang/de.js +0 -0
- data/{public → app/assets}/javascripts/wymeditor/lang/en.js +0 -0
- data/{public → app/assets}/javascripts/wymeditor/lang/es.js +0 -0
- data/{public → app/assets}/javascripts/wymeditor/lang/fa.js +0 -0
- data/{public → app/assets}/javascripts/wymeditor/lang/fi.js +0 -0
- data/{public → app/assets}/javascripts/wymeditor/lang/fr.js +13 -1
- data/{public → app/assets}/javascripts/wymeditor/lang/he.js +0 -0
- data/{public → app/assets}/javascripts/wymeditor/lang/hu.js +0 -0
- data/{public → app/assets}/javascripts/wymeditor/lang/it.js +0 -0
- data/{public/javascripts/wymeditor/lang/jp.js → app/assets/javascripts/wymeditor/lang/ja.js} +1 -1
- data/{public → app/assets}/javascripts/wymeditor/lang/lv.js +0 -0
- data/{public → app/assets}/javascripts/wymeditor/lang/nb.js +0 -0
- data/{public → app/assets}/javascripts/wymeditor/lang/nl.js +0 -0
- data/{public → app/assets}/javascripts/wymeditor/lang/nn.js +0 -0
- data/{public → app/assets}/javascripts/wymeditor/lang/pl.js +0 -0
- data/app/assets/javascripts/wymeditor/lang/pt-BR.js +58 -0
- data/{public → app/assets}/javascripts/wymeditor/lang/pt.js +0 -0
- data/{public → app/assets}/javascripts/wymeditor/lang/rs.js +0 -0
- data/{public → app/assets}/javascripts/wymeditor/lang/ru.js +14 -3
- data/{public → app/assets}/javascripts/wymeditor/lang/sk.js +12 -1
- data/{public → app/assets}/javascripts/wymeditor/lang/sl.js +0 -0
- data/{public → app/assets}/javascripts/wymeditor/lang/sv.js +0 -0
- data/{public → app/assets}/javascripts/wymeditor/lang/tr.js +0 -0
- data/{public → app/assets}/javascripts/wymeditor/lang/vi.js +0 -0
- data/{public → app/assets}/javascripts/wymeditor/lang/zh_cn.js +0 -0
- data/app/assets/javascripts/wymeditor/prototypes.js.erb +1106 -0
- data/app/assets/javascripts/wymeditor/setup.js.erb +622 -0
- data/{public → app/assets}/javascripts/wymeditor/skins/refinery/skin.js +0 -0
- data/app/assets/javascripts/wymeditor/validators.js.erb +776 -0
- data/{public/stylesheets/refinery/home.css → app/assets/stylesheets/.gitkeep} +0 -0
- data/app/assets/stylesheets/application.css.scss +55 -0
- data/{public/stylesheets/refinery/formatting.css → app/assets/stylesheets/formatting.css.scss} +20 -23
- data/{public/stylesheets/home.css → app/assets/stylesheets/home.css.scss} +1 -2
- data/{public/stylesheets/refinery/refinery.css → app/assets/stylesheets/refinery/refinery.css.scss} +616 -654
- data/app/assets/stylesheets/refinery/site_bar.css.scss +92 -0
- data/app/assets/stylesheets/refinery/submenu.css.scss +24 -0
- data/app/assets/stylesheets/refinery/tooltips.css.scss +34 -0
- data/{public/stylesheets/refinery/ui.css → app/assets/stylesheets/refinery/ui.css.scss} +50 -54
- data/{public/stylesheets/refinery/theme.css → app/assets/stylesheets/theme.css.scss} +1 -1
- data/{public/stylesheets/wymeditor/skins/refinery/skin.css → app/assets/stylesheets/wymeditor/skins/refinery/skin.css.scss} +58 -58
- data/{public/stylesheets/wymeditor/skins/refinery/wymiframe.css → app/assets/stylesheets/wymeditor/skins/refinery/wymiframe.css.scss} +29 -29
- data/app/controllers/application_controller.rb +0 -1
- data/app/controllers/refinery/admin/dialogs_controller.rb +24 -0
- data/app/controllers/refinery/admin/refinery_core_controller.rb +14 -0
- data/app/controllers/{admin/base_controller.rb → refinery/admin_controller.rb} +2 -3
- data/app/controllers/refinery/fast_controller.rb +5 -1
- data/app/controllers/refinery/sitemap_controller.rb +20 -0
- data/app/helpers/application_helper.rb +1 -1
- data/app/helpers/refinery/custom_assets_helper.rb +11 -0
- data/app/helpers/refinery/html_truncation_helper.rb +23 -0
- data/app/helpers/refinery/image_helper.rb +37 -0
- data/app/helpers/refinery/menu_helper.rb +66 -0
- data/app/helpers/refinery/meta_helper.rb +52 -0
- data/app/helpers/refinery/pagination_helper.rb +14 -0
- data/app/helpers/refinery/site_bar_helper.rb +30 -0
- data/app/helpers/refinery/tag_helper.rb +20 -0
- data/app/helpers/refinery/translation_helper.rb +15 -0
- data/app/models/refinery/core/base_model.rb +11 -0
- data/app/views/layouts/application.html.erb +9 -9
- data/app/views/layouts/refinery/admin.html.erb +23 -0
- data/app/views/layouts/refinery/admin_dialog.html.erb +17 -0
- data/app/views/layouts/refinery/flash.html.erb +2 -0
- data/app/views/refinery/_content_page.html.erb +2 -0
- data/app/views/{shared → refinery}/_draft_page_message.html.erb +0 -0
- data/app/views/refinery/_footer.html.erb +4 -0
- data/app/views/{shared → refinery}/_google_analytics.html.erb +2 -2
- data/app/views/refinery/_head.html.erb +18 -0
- data/app/views/refinery/_header.html.erb +7 -0
- data/app/views/{shared → refinery}/_html_tag.html.erb +0 -0
- data/app/views/{shared → refinery}/_ie6check.html.erb +2 -2
- data/app/views/{shared → refinery}/_javascripts.html.erb +0 -0
- data/app/views/refinery/_menu.html.erb +20 -0
- data/app/views/refinery/_menu_branch.html.erb +19 -0
- data/app/views/refinery/_message.html.erb +7 -0
- data/app/views/{shared → refinery}/_no_script.html.erb +0 -0
- data/app/views/{shared → refinery}/_site_bar.html.erb +3 -3
- data/app/views/{shared → refinery}/admin/_continue_editing.html.erb +0 -0
- data/app/views/refinery/admin/_dialog_success.html.erb +5 -0
- data/app/views/{shared → refinery}/admin/_error_messages.html.erb +0 -0
- data/app/views/{shared → refinery}/admin/_form_actions.html.erb +11 -15
- data/app/views/refinery/admin/_head.html.erb +13 -0
- data/app/views/{shared → refinery}/admin/_image_picker.html.erb +8 -7
- data/app/views/refinery/admin/_javascripts.html.erb +8 -0
- data/app/views/refinery/admin/_make_sortable.html.erb +16 -0
- data/app/views/{admin → refinery/admin}/_menu.html.erb +4 -4
- data/app/views/{shared → refinery}/admin/_resource_picker.html.erb +14 -23
- data/app/views/{shared → refinery}/admin/_search.html.erb +1 -1
- data/app/views/{shared → refinery}/admin/_sortable_list.html.erb +0 -0
- data/app/views/{shared → refinery}/admin/_tabbed_fields.html.erb +2 -2
- data/app/views/{admin → refinery/admin}/dialogs/show.html.erb +0 -0
- data/app/views/refinery/sitemap/index.xml.builder +25 -0
- data/app/views/{wymiframe.html.erb → refinery/wymiframe.html.erb} +2 -3
- data/config/initializers/will_paginate_monkeypatch.rb +21 -0
- data/config/locales/bg.yml +24 -29
- data/config/locales/cs.yml +20 -25
- data/config/locales/da.yml +19 -24
- data/config/locales/de.yml +19 -24
- data/config/locales/el.yml +19 -24
- data/config/locales/en.yml +25 -31
- data/config/locales/es.yml +12 -17
- data/config/locales/fi.yml +22 -27
- data/config/locales/fr.yml +19 -24
- data/config/locales/it.yml +19 -40
- data/config/locales/{jp.yml → ja.yml} +25 -28
- data/config/locales/ko.yml +76 -0
- data/config/locales/lt.yml +19 -24
- data/config/locales/lv.yml +21 -26
- data/config/locales/nb.yml +19 -24
- data/config/locales/nl.yml +19 -24
- data/config/locales/pl.yml +19 -24
- data/config/locales/pt-BR.yml +19 -24
- data/config/locales/rs.yml +19 -25
- data/config/locales/ru.yml +37 -38
- data/config/locales/sk.yml +19 -24
- data/config/locales/sl.yml +12 -21
- data/config/locales/sv.yml +19 -24
- data/config/locales/vi.yml +19 -24
- data/config/locales/zh-CN.yml +19 -24
- data/config/locales/zh-TW.yml +19 -24
- data/config/routes.rb +5 -10
- data/lib/generators/refinery/clash_keywords.yml +3 -0
- data/lib/generators/refinery/cms/cms_generator.rb +238 -0
- data/lib/generators/{templates → refinery/cms/templates}/.gitignore +3 -1
- data/lib/generators/refinery/cms/templates/app/decorators/controllers/refinery/.gitkeep +0 -0
- data/lib/generators/refinery/cms/templates/app/decorators/models/refinery/.gitkeep +0 -0
- data/lib/generators/{templates → refinery/cms/templates}/app/views/sitemap/index.xml.builder +1 -1
- data/lib/generators/{templates → refinery/cms/templates}/config/database.yml.mysql +5 -5
- data/lib/generators/{templates → refinery/cms/templates}/config/database.yml.postgresql +26 -25
- data/lib/generators/{templates → refinery/cms/templates}/config/database.yml.sqlite3 +1 -9
- data/lib/generators/refinery/cms/templates/config/initializers/devise.rb +229 -0
- data/lib/generators/refinery/core/core_generator.rb +9 -0
- data/lib/generators/refinery/core/templates/config/initializers/refinery/core.rb.erb +48 -0
- data/lib/generators/refinery/dummy/dummy_generator.rb +86 -0
- data/lib/generators/refinery/dummy/templates/rails/Rakefile +7 -0
- data/lib/generators/refinery/dummy/templates/rails/application.rb +14 -0
- data/lib/generators/refinery/dummy/templates/rails/boot.rb +6 -0
- data/lib/generators/refinery/dummy/templates/rails/database.yml +34 -0
- data/lib/generators/refinery/dummy/templates/rails/routes.rb +3 -0
- data/lib/generators/refinery/engine/USAGE +24 -0
- data/lib/generators/refinery/engine/engine_generator.rb +36 -0
- data/lib/generators/refinery/engine/templates/Gemfile +69 -0
- data/lib/generators/refinery/engine/templates/Guardfile +27 -0
- data/lib/generators/refinery/engine/templates/Rakefile +20 -0
- data/lib/generators/refinery/engine/templates/app/controllers/refinery/namespace/admin/plural_name_controller.rb +14 -0
- data/lib/generators/refinery/engine/templates/app/controllers/refinery/namespace/plural_name_controller.rb +34 -0
- data/lib/generators/refinery/engine/templates/app/models/refinery/namespace/singular_name.rb +28 -0
- data/lib/generators/refinery/engine/templates/app/views/refinery/namespace/admin/plural_name/_actions.html.erb +25 -0
- data/lib/generators/refinery/engine/templates/app/views/refinery/namespace/admin/plural_name/_form.html.erb +67 -0
- data/lib/generators/refinery/engine/templates/app/views/refinery/namespace/admin/plural_name/_locale_picker.html.erb +11 -0
- data/lib/generators/refinery/engine/templates/app/views/refinery/namespace/admin/plural_name/_plural_name.html.erb +2 -0
- data/lib/generators/refinery/engine/templates/app/views/refinery/namespace/admin/plural_name/_records.html.erb +18 -0
- data/lib/generators/refinery/engine/templates/app/views/refinery/namespace/admin/plural_name/_singular_name.html.erb +32 -0
- data/lib/generators/refinery/engine/templates/app/views/refinery/namespace/admin/plural_name/_sortable_list.html.erb +5 -0
- data/lib/generators/refinery/engine/templates/app/views/refinery/namespace/admin/plural_name/edit.html.erb +1 -0
- data/lib/generators/refinery/engine/templates/app/views/refinery/namespace/admin/plural_name/index.html.erb +7 -0
- data/lib/generators/refinery/engine/templates/app/views/refinery/namespace/admin/plural_name/new.html.erb +1 -0
- data/lib/generators/refinery/engine/templates/app/views/refinery/namespace/plural_name/index.html.erb +11 -0
- data/lib/generators/refinery/engine/templates/app/views/refinery/namespace/plural_name/show.html.erb +39 -0
- data/lib/generators/refinery/engine/templates/config/locales/en.yml +28 -0
- data/lib/generators/refinery/engine/templates/config/locales/es.yml +29 -0
- data/lib/generators/refinery/engine/templates/config/locales/fr.yml +28 -0
- data/lib/generators/refinery/engine/templates/config/locales/nb.yml +28 -0
- data/lib/generators/refinery/engine/templates/config/locales/nl.yml +28 -0
- data/lib/generators/refinery/engine/templates/config/routes.rb +19 -0
- data/lib/generators/refinery/engine/templates/db/migrate/1_create_namespace_plural_name.rb +39 -0
- data/lib/generators/refinery/engine/templates/db/seeds.rb +23 -0
- data/lib/generators/refinery/engine/templates/lib/generators/refinery/extension_plural_name_generator.rb +18 -0
- data/lib/generators/refinery/engine/templates/lib/refinery/plural_name/engine.rb +30 -0
- data/lib/generators/refinery/engine/templates/lib/refinery/plural_name.rb +21 -0
- data/lib/generators/refinery/engine/templates/lib/refinerycms-extension_plural_name.rb +1 -0
- data/lib/generators/refinery/engine/templates/lib/tasks/refinery/extension_plural_name.rake +13 -0
- data/lib/generators/refinery/engine/templates/readme.md +10 -0
- data/lib/generators/refinery/engine/templates/refinerycms-extension_plural_name.gemspec +18 -0
- data/lib/generators/refinery/engine/templates/spec/models/refinery/namespace/singular_name_spec.rb +20 -0
- data/lib/generators/refinery/engine/templates/spec/requests/refinery/namespace/admin/plural_name_spec.rb +200 -0
- data/lib/generators/refinery/engine/templates/spec/spec_helper.rb +50 -0
- data/lib/generators/refinery/engine/templates/spec/support/factories/refinery/plural_name.rb +7 -0
- data/lib/generators/refinery/engine/templates/tasks/rspec.rake +6 -0
- data/lib/generators/refinery/engine/templates/tasks/testing.rake +8 -0
- data/lib/generators/refinery/form/USAGE +20 -0
- data/lib/generators/refinery/form/form_generator.rb +31 -0
- data/lib/generators/refinery/form/templates/.gitkeep +0 -0
- data/lib/generators/refinery/form/templates/app/controllers/refinery/namespace/admin/plural_name_controller.rb +54 -0
- data/lib/generators/refinery/form/templates/app/controllers/refinery/namespace/admin/settings_controller.rb +51 -0
- data/lib/generators/refinery/form/templates/app/controllers/refinery/namespace/plural_name_controller.rb +53 -0
- data/lib/generators/refinery/form/templates/app/mailers/refinery/namespace/mailer.rb +22 -0
- data/lib/generators/refinery/form/templates/app/models/refinery/namespace/setting.rb +34 -0
- data/lib/generators/refinery/form/templates/app/models/refinery/namespace/singular_name.rb +46 -0
- data/lib/generators/refinery/form/templates/app/views/refinery/namespace/admin/plural_name/_records.html.erb +23 -0
- data/lib/generators/refinery/form/templates/app/views/refinery/namespace/admin/plural_name/_singular_name.html.erb +25 -0
- data/lib/generators/refinery/form/templates/app/views/refinery/namespace/admin/plural_name/_submenu.html.erb +29 -0
- data/lib/generators/refinery/form/templates/app/views/refinery/namespace/admin/plural_name/index.html.erb +4 -0
- data/lib/generators/refinery/form/templates/app/views/refinery/namespace/admin/plural_name/show.html.erb +52 -0
- data/lib/generators/refinery/form/templates/app/views/refinery/namespace/admin/plural_name/spam.html.erb +26 -0
- data/lib/generators/refinery/form/templates/app/views/refinery/namespace/admin/settings/_confirmation_email_form.html.erb +51 -0
- data/lib/generators/refinery/form/templates/app/views/refinery/namespace/admin/settings/_notification_recipients_form.html.erb +21 -0
- data/lib/generators/refinery/form/templates/app/views/refinery/namespace/admin/settings/edit.html.erb +5 -0
- data/lib/generators/refinery/form/templates/app/views/refinery/namespace/mailer/confirmation.html.erb +1 -0
- data/lib/generators/refinery/form/templates/app/views/refinery/namespace/mailer/notification.html.erb +17 -0
- data/lib/generators/refinery/form/templates/app/views/refinery/namespace/plural_name/new.html.erb +43 -0
- data/lib/generators/refinery/form/templates/app/views/refinery/namespace/plural_name/thank_you.html.erb +1 -0
- data/lib/generators/refinery/form/templates/config/locales/da.yml +69 -0
- data/lib/generators/refinery/form/templates/config/locales/de.yml +78 -0
- data/lib/generators/refinery/form/templates/config/locales/en.yml +78 -0
- data/lib/generators/refinery/form/templates/config/locales/es.yml +70 -0
- data/lib/generators/refinery/form/templates/config/locales/fr.yml +78 -0
- data/lib/generators/refinery/form/templates/config/locales/it.yml +68 -0
- data/lib/generators/refinery/form/templates/config/locales/lv.yml +77 -0
- data/lib/generators/refinery/form/templates/config/locales/nb.yml +78 -0
- data/lib/generators/refinery/form/templates/config/locales/nl.yml +77 -0
- data/lib/generators/refinery/form/templates/config/locales/pt-BR.yml +78 -0
- data/lib/generators/refinery/form/templates/config/locales/ru.yml +80 -0
- data/lib/generators/refinery/form/templates/config/locales/sl.yml +69 -0
- data/lib/generators/refinery/form/templates/config/locales/zh-CN.yml +4 -0
- data/lib/generators/refinery/form/templates/config/routes.rb +26 -0
- data/lib/generators/refinery/form/templates/db/migrate/1_create_plural_name.rb +42 -0
- data/lib/generators/refinery/form/templates/db/seeds.rb +27 -0
- data/lib/generators/refinery/form/templates/lib/generators/refinery/plural_name_generator.rb +20 -0
- data/lib/generators/refinery/form/templates/lib/refinery/plural_name/engine.rb +30 -0
- data/lib/generators/refinery/form/templates/lib/refinery/plural_name.rb +17 -0
- data/lib/generators/refinery/form/templates/lib/refinerycms-plural_name.rb +1 -0
- data/lib/generators/refinery/form/templates/refinerycms-plural_name.gemspec +19 -0
- data/lib/refinery/activity.rb +75 -18
- data/lib/refinery/admin/base_controller.rb +49 -66
- data/lib/refinery/application_controller.rb +59 -79
- data/lib/refinery/base_presenter.rb +25 -23
- data/lib/refinery/catch_all_routes.rb +1 -1
- data/lib/refinery/cli.rb +162 -0
- data/lib/refinery/core/configuration.rb +57 -0
- data/lib/refinery/core/engine.rb +143 -0
- data/lib/refinery/core.rb +179 -0
- data/lib/refinery/crud.rb +74 -54
- data/lib/refinery/engine.rb +56 -12
- data/lib/refinery/errors.rb +13 -0
- data/lib/refinery/ext/action_view/helpers/form_builder.rb +7 -0
- data/lib/refinery/ext/action_view/helpers/form_helper.rb +20 -0
- data/lib/refinery/ext/action_view/helpers/form_tag_helper.rb +10 -0
- data/lib/refinery/extension_generation.rb +258 -0
- data/lib/refinery/menu.rb +0 -19
- data/lib/refinery/menu_item.rb +32 -14
- data/lib/refinery/plugin.rb +19 -43
- data/lib/refinery/plugins.rb +2 -2
- data/lib/refinery/version.rb +16 -0
- data/lib/refinerycms-core.rb +1 -175
- data/lib/tasks/refinery.rake +2 -191
- data/lib/tasks/yard.rake +1 -1
- data/refinerycms-core.gemspec +23 -422
- data/spec/controllers/refinery/admin/refinery_core_controller_spec.rb +20 -0
- data/spec/controllers/{fast_controller_spec.rb → refinery/fast_controller_spec.rb} +3 -1
- data/spec/controllers/refinery/sitemap_controller_spec.rb +28 -0
- data/spec/helpers/refinery/custom_assets_helper_spec.rb +53 -0
- data/spec/helpers/refinery/html_truncation_helper_spec.rb +26 -0
- data/spec/helpers/refinery/pagination_helper_spec.rb +35 -0
- data/spec/helpers/refinery/tag_helper_spec.rb +23 -0
- data/spec/helpers/refinery/translation_helper_spec.rb +14 -0
- data/spec/lib/generators/refinery/cms/cms_generator_spec.rb +47 -0
- data/spec/lib/generators/refinery/core/core_generator_spec.rb +29 -0
- data/spec/lib/generators/refinery/engine/engine_generator_spec.rb +84 -0
- data/spec/lib/generators/refinery/engine/engine_generator_with_i18n_spec.rb +85 -0
- data/spec/lib/generators/refinery/engine/engine_generator_without_frontend_spec.rb +77 -0
- data/spec/lib/generators/refinery/form/form_generator_spec.rb +91 -0
- data/spec/lib/refinery/activity_spec.rb +38 -0
- data/spec/lib/refinery/application_controller_spec.rb +28 -0
- data/spec/lib/refinery/core_spec.rb +176 -0
- data/spec/lib/refinery/plugin_spec.rb +36 -34
- data/spec/lib/refinery/plugins_spec.rb +42 -16
- data/spec/requests/refinery/admin/custom_assets_spec.rb +32 -0
- data/spec/requests/refinery/admin/dialogs_spec.rb +28 -0
- data/spec/requests/refinery/search_spec.rb +71 -0
- data/spec/requests/refinery/site_bar_spec.rb +49 -0
- data/spec/support/background_selenium_firefox_driver.rb +14 -0
- data/spec/support/database_cleaner.rb +15 -0
- data/spec/support/fixtures/invalid_engine.rb +6 -0
- data/spec/support/fixtures/valid_engine.rb +13 -0
- data/spec/support/refinery.rb +14 -0
- metadata +626 -439
- data/app/controllers/admin/dialogs_controller.rb +0 -23
- data/app/controllers/admin/refinery_core_controller.rb +0 -12
- data/app/controllers/sitemap_controller.rb +0 -18
- data/app/views/admin/_head.html.erb +0 -21
- data/app/views/admin/_javascripts.html.erb +0 -33
- data/app/views/layouts/admin.html.erb +0 -24
- data/app/views/layouts/admin_dialog.html.erb +0 -14
- data/app/views/shared/_content_page.html.erb +0 -63
- data/app/views/shared/_footer.html.erb +0 -4
- data/app/views/shared/_head.html.erb +0 -20
- data/app/views/shared/_header.html.erb +0 -7
- data/app/views/shared/_menu.html.erb +0 -19
- data/app/views/shared/_menu_branch.html.erb +0 -19
- data/app/views/shared/_message.html.erb +0 -10
- data/app/views/shared/admin/_make_sortable.html.erb +0 -13
- data/app/views/welcome.html.erb +0 -17
- data/config/locales/lolcat.yml +0 -71
- data/doc/included-jquery-ui-packages.jpg +0 -0
- data/features/dialogs.feature +0 -20
- data/features/search.feature +0 -55
- data/features/site_bar.feature +0 -27
- data/features/step_definitions/core_steps.rb +0 -59
- data/features/support/paths.rb +0 -18
- data/features/uploads/beach.jpeg +0 -0
- data/features/uploads/refinery_is_awesome.txt +0 -1
- data/lib/gemspec.rb +0 -44
- data/lib/generators/refinerycms_generator.rb +0 -124
- data/lib/generators/templates/autotest/autotest.rb +0 -17
- data/lib/generators/templates/autotest/discover.rb +0 -2
- data/lib/generators/templates/config/initializers/devise.rb +0 -144
- data/lib/generators/templates/db/seeds.rb +0 -5
- data/lib/refinery/admin_base_controller.rb +0 -5
- data/lib/refinery/application.rb +0 -47
- data/lib/refinery/application_helper.rb +0 -19
- data/lib/refinery/configuration.rb +0 -29
- data/lib/refinery/helpers/form_helper.rb +0 -66
- data/lib/refinery/helpers/head_helper.rb +0 -17
- data/lib/refinery/helpers/html_truncation_helper.rb +0 -25
- data/lib/refinery/helpers/image_helper.rb +0 -42
- data/lib/refinery/helpers/menu_helper.rb +0 -98
- data/lib/refinery/helpers/meta_helper.rb +0 -78
- data/lib/refinery/helpers/pagination_helper.rb +0 -16
- data/lib/refinery/helpers/script_helper.rb +0 -36
- data/lib/refinery/helpers/site_bar_helper.rb +0 -32
- data/lib/refinery/helpers/tag_helper.rb +0 -22
- data/lib/refinery/helpers/translation_helper.rb +0 -17
- data/lib/tasks/doc.rake +0 -29
- data/public/javascripts/i18n-messages.js +0 -2
- data/public/javascripts/jquery-min.js +0 -16
- data/public/javascripts/jquery-ui-custom-min.js +0 -252
- data/public/javascripts/jquery.js +0 -8374
- data/public/javascripts/modernizr-min.js +0 -2
- data/public/javascripts/rails.js +0 -297
- data/public/javascripts/refinery/i18n.js +0 -340
- data/public/javascripts/refinery/nestedsortables.js +0 -164
- data/public/javascripts/refinery/serializelist.js +0 -66
- data/public/javascripts/wymeditor/jquery.refinery.wymeditor.js +0 -5262
- data/public/javascripts/wymeditor/lang/pt-BR.js +0 -47
- data/public/stylesheets/application.css +0 -4
- data/public/stylesheets/formatting.css +0 -4
- data/public/stylesheets/refinery/application.css +0 -76
- data/public/stylesheets/refinery/site_bar.css +0 -87
- data/public/stylesheets/refinery/submenu.css +0 -22
- data/public/stylesheets/refinery/tooltips.css +0 -34
- data/public/stylesheets/theme.css +0 -4
- data/spec/controllers/refinery_core_controller_spec.rb +0 -18
- data/spec/controllers/sitemap_controller_spec.rb +0 -27
@@ -0,0 +1,176 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Refinery do
|
4
|
+
describe "#extensions" do
|
5
|
+
it "should return an array of modules representing registered extensions" do
|
6
|
+
subject.extensions.should be_a(Array)
|
7
|
+
subject.extensions.each do |e|
|
8
|
+
e.should be_a(Module)
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
describe "#register_extension" do
|
14
|
+
before(:each) { subject.extensions.clear }
|
15
|
+
|
16
|
+
it "should add the extension's module to the array of registered extensions" do
|
17
|
+
subject.register_extension(Refinery::Core)
|
18
|
+
|
19
|
+
Refinery.extensions.should include(Refinery::Core)
|
20
|
+
Refinery.extensions.should have(1).item
|
21
|
+
end
|
22
|
+
|
23
|
+
it "should not allow same extension to be registered twice" do
|
24
|
+
subject.register_extension(Refinery::Core)
|
25
|
+
subject.register_extension(Refinery::Core)
|
26
|
+
|
27
|
+
Refinery.extensions.should have(1).item
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
describe "#extension_registered?" do
|
32
|
+
context "with Refinery::Core::Engine registered" do
|
33
|
+
before(:each) { subject.register_extension(Refinery::Core) }
|
34
|
+
|
35
|
+
it "should return true if the extension is registered" do
|
36
|
+
subject.extension_registered?(Refinery::Core).should == true
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
context "with no extensions registered" do
|
41
|
+
before(:each) { subject.extensions.clear }
|
42
|
+
|
43
|
+
it "should return false if the extension is not registered" do
|
44
|
+
subject.extension_registered?(Refinery::Core).should == false
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
describe "#unregister_extension" do
|
50
|
+
before(:each) do
|
51
|
+
subject.extensions.clear
|
52
|
+
subject.register_extension(Refinery::Images)
|
53
|
+
end
|
54
|
+
|
55
|
+
it "should remove the extension's module from the array of registered extensions" do
|
56
|
+
subject.unregister_extension(Refinery::Images)
|
57
|
+
|
58
|
+
subject.extensions.should have(0).item
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
describe "#validate_extension!" do
|
63
|
+
context "with a valid extension" do
|
64
|
+
it "should return nil" do
|
65
|
+
subject.send(:validate_extension!, Refinery::ValidEngine).should be_nil
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
context "with an invalid extension" do
|
70
|
+
it "should raise invalid extension exception" do
|
71
|
+
lambda {
|
72
|
+
subject.send(:validate_extension!, Refinery::InvalidEngine)
|
73
|
+
}.should raise_error(Refinery::InvalidEngineError, "Engine must define a root accessor that returns a pathname to its root")
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
describe "#roots" do
|
79
|
+
it "should return pathname to extension root when given constant as parameter" do
|
80
|
+
subject.roots(Refinery::Core).should == Refinery::Core.root
|
81
|
+
end
|
82
|
+
|
83
|
+
it "should return pathname to extension root when given symbol as parameter" do
|
84
|
+
subject.roots(:'refinery/core').should == Refinery::Core.root
|
85
|
+
end
|
86
|
+
|
87
|
+
it "should return pathname to extension root when given string as parameter" do
|
88
|
+
subject.roots("refinery/core").should == Refinery::Core.root
|
89
|
+
end
|
90
|
+
|
91
|
+
it "should return an array of all pathnames if no extension_name is specified" do
|
92
|
+
subject.roots.should be_a(Array)
|
93
|
+
subject.roots.each do |root|
|
94
|
+
root.should be_a(Pathname)
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
99
|
+
describe "#deprecate" do
|
100
|
+
before(:each) do
|
101
|
+
@errors = StringIO.new
|
102
|
+
@old_err = $stderr
|
103
|
+
$stderr = @errors
|
104
|
+
end
|
105
|
+
|
106
|
+
after(:each) { $stderr = @old_err }
|
107
|
+
|
108
|
+
it "shows a deprecation warning" do
|
109
|
+
Refinery.deprecate("ugis")
|
110
|
+
@errors.rewind
|
111
|
+
@errors.read.should == "\n-- DEPRECATION WARNING --\nThe use of 'ugis' is deprecated.\n"
|
112
|
+
end
|
113
|
+
|
114
|
+
it "takes when option" do
|
115
|
+
Refinery.deprecate("ugis", :when => "10.0")
|
116
|
+
@errors.rewind
|
117
|
+
@errors.read.should == "\n-- DEPRECATION WARNING --\nThe use of 'ugis' is deprecated and will be removed at version 10.0.\n"
|
118
|
+
end
|
119
|
+
|
120
|
+
it "takes replacement option" do
|
121
|
+
Refinery.deprecate("ugis", :when => "10.0", :replacement => "philip")
|
122
|
+
@errors.rewind
|
123
|
+
@errors.read.should == "\n-- DEPRECATION WARNING --\nThe use of 'ugis' is deprecated and will be removed at version 10.0.\nPlease use philip instead.\n"
|
124
|
+
end
|
125
|
+
end
|
126
|
+
|
127
|
+
describe "#i18n_enabled?" do
|
128
|
+
it "returns true when Refinery::I18n.enabled? is true" do
|
129
|
+
Refinery::I18n.stub(:enabled?).and_return(true)
|
130
|
+
subject.i18n_enabled?.should == true
|
131
|
+
end
|
132
|
+
|
133
|
+
it "returns false when Refinery::I18n.enabled? is false" do
|
134
|
+
Refinery::I18n.stub(:enabled?).and_return(false)
|
135
|
+
subject.i18n_enabled?.should == false
|
136
|
+
end
|
137
|
+
end
|
138
|
+
|
139
|
+
describe ".route_for_model" do
|
140
|
+
context "when passed Refinery::Dummy" do
|
141
|
+
it "returns admin_dummy_path" do
|
142
|
+
Refinery.route_for_model("Refinery::Dummy").should == "admin_dummy_path"
|
143
|
+
end
|
144
|
+
end
|
145
|
+
|
146
|
+
context "when passed Refinery::Dummy and true" do
|
147
|
+
it "returns admin_dummies_path" do
|
148
|
+
Refinery.route_for_model("Refinery::Dummy", true).should == "admin_dummies_path"
|
149
|
+
end
|
150
|
+
end
|
151
|
+
|
152
|
+
context "when passed Refinery::DummyName" do
|
153
|
+
it "returns admin_dummy_name_path" do
|
154
|
+
Refinery.route_for_model("Refinery::DummyName").should == "admin_dummy_name_path"
|
155
|
+
end
|
156
|
+
end
|
157
|
+
|
158
|
+
context "when passed Refinery::DummyName and true" do
|
159
|
+
it "returns admin_dummy_names_path" do
|
160
|
+
Refinery.route_for_model("Refinery::DummyName", true).should == "admin_dummy_names_path"
|
161
|
+
end
|
162
|
+
end
|
163
|
+
|
164
|
+
context "when passed Refinery::Dummy::Name" do
|
165
|
+
it "returns dummy_admin_name_path" do
|
166
|
+
Refinery.route_for_model("Refinery::Dummy::Name").should == "dummy_admin_name_path"
|
167
|
+
end
|
168
|
+
end
|
169
|
+
|
170
|
+
context "when passed Refinery::Dummy::Name and true" do
|
171
|
+
it "returns dummy_admin_names_path" do
|
172
|
+
Refinery.route_for_model("Refinery::Dummy::Name", true).should == "dummy_admin_names_path"
|
173
|
+
end
|
174
|
+
end
|
175
|
+
end
|
176
|
+
end
|
@@ -3,6 +3,7 @@ require 'spec_helper'
|
|
3
3
|
module Refinery
|
4
4
|
module RefineryRspec
|
5
5
|
class Engine < ::Rails::Engine
|
6
|
+
isolate_namespace ::Refinery
|
6
7
|
::Refinery::Plugin.register do |plugin|
|
7
8
|
plugin.name = 'refinery_rspec'
|
8
9
|
plugin.hide_from_menu = true
|
@@ -14,14 +15,15 @@ end
|
|
14
15
|
module Refinery
|
15
16
|
describe Plugin do
|
16
17
|
|
17
|
-
let(:plugin) { Refinery::Plugins.registered.detect { |plugin| plugin.name == 'refinery_rspec' } }
|
18
|
+
let(:plugin) { ::Refinery::Plugins.registered.detect { |plugin| plugin.name == 'refinery_rspec' } }
|
18
19
|
|
19
|
-
|
20
|
-
::I18n.backend
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
20
|
+
before do
|
21
|
+
::I18n.backend.store_translations :en, :refinery => {
|
22
|
+
:plugins => {
|
23
|
+
:refinery_rspec => {
|
24
|
+
:title => "Refinery CMS RSpec",
|
25
|
+
:description => "RSpec tests for plugin.rb"
|
26
|
+
}
|
25
27
|
}
|
26
28
|
}
|
27
29
|
end
|
@@ -39,29 +41,17 @@ module Refinery
|
|
39
41
|
end
|
40
42
|
|
41
43
|
describe '#title' do
|
42
|
-
before { setup_i18n }
|
43
|
-
|
44
44
|
it 'returns plugin title defined by I18n' do
|
45
|
-
plugin.title.should == '
|
45
|
+
plugin.title.should == 'Refinery CMS RSpec'
|
46
46
|
end
|
47
47
|
end
|
48
48
|
|
49
49
|
describe '#description' do
|
50
|
-
before { setup_i18n }
|
51
|
-
|
52
50
|
it 'returns plugin description defined by I18n' do
|
53
51
|
plugin.description.should == 'RSpec tests for plugin.rb'
|
54
52
|
end
|
55
53
|
end
|
56
54
|
|
57
|
-
describe '#activity' do
|
58
|
-
|
59
|
-
end
|
60
|
-
|
61
|
-
describe '#activity=' do
|
62
|
-
|
63
|
-
end
|
64
|
-
|
65
55
|
describe '#pathname' do
|
66
56
|
it 'should be set by default' do
|
67
57
|
plugin.pathname.should_not == nil
|
@@ -85,18 +75,18 @@ module Refinery
|
|
85
75
|
end
|
86
76
|
end
|
87
77
|
|
88
|
-
describe '#always_allow_access
|
78
|
+
describe '#always_allow_access' do
|
89
79
|
it 'returns false if @always_allow_access is not set or its set to false' do
|
90
|
-
plugin.always_allow_access
|
80
|
+
plugin.always_allow_access.should be_false
|
91
81
|
end
|
92
82
|
|
93
83
|
it 'returns true if set so' do
|
94
|
-
plugin.stub(:always_allow_access
|
95
|
-
plugin.always_allow_access
|
84
|
+
plugin.stub(:always_allow_access).and_return(true)
|
85
|
+
plugin.always_allow_access.should be
|
96
86
|
end
|
97
87
|
end
|
98
88
|
|
99
|
-
describe '#dashboard
|
89
|
+
describe '#dashboard' do
|
100
90
|
it 'returns false if @dashboard is not set or its set to false' do
|
101
91
|
plugin.dashboard.should be_false
|
102
92
|
end
|
@@ -109,17 +99,18 @@ module Refinery
|
|
109
99
|
|
110
100
|
describe '#menu_match' do
|
111
101
|
it 'returns regexp based on plugin name' do
|
112
|
-
plugin.menu_match.should == /(
|
102
|
+
plugin.menu_match.should == %r{refinery/refinery_rspec(/.+?)?$}
|
113
103
|
end
|
114
104
|
end
|
115
105
|
|
116
106
|
describe '#highlighted?' do
|
117
107
|
it 'returns true if params[:controller] match menu_match regexp' do
|
118
|
-
plugin.highlighted?({:controller => 'refinery/refinery_rspec'}).should be
|
108
|
+
plugin.highlighted?({:controller => '/refinery/admin/refinery_rspec'}).should be
|
109
|
+
plugin.highlighted?({:controller => '/refinery/refinery_rspec'}).should be
|
119
110
|
end
|
120
111
|
|
121
|
-
it 'returns true if dashboard
|
122
|
-
plugin.stub(:dashboard
|
112
|
+
it 'returns true if dashboard is true and params[:action] == error_404' do
|
113
|
+
plugin.stub(:dashboard).and_return(true)
|
123
114
|
plugin.highlighted?({:action => 'error_404'}).should be
|
124
115
|
end
|
125
116
|
end
|
@@ -135,15 +126,15 @@ module Refinery
|
|
135
126
|
|
136
127
|
context 'when @url is already defined' do
|
137
128
|
it 'returns hash' do
|
138
|
-
plugin.stub(:url).and_return({:controller => '/admin/testa'})
|
139
|
-
plugin.url.should ==
|
129
|
+
plugin.stub(:url).and_return({:controller => 'refinery/admin/testa'})
|
130
|
+
plugin.url[:controller].should == 'refinery/admin/testa'
|
140
131
|
end
|
141
132
|
end
|
142
133
|
|
143
134
|
context 'when controller is present' do
|
144
135
|
it 'returns hash based on it' do
|
145
136
|
plugin.stub(:controller).and_return('testb')
|
146
|
-
plugin.url.should ==
|
137
|
+
plugin.url[:controller].should == 'refinery/admin/testb'
|
147
138
|
end
|
148
139
|
end
|
149
140
|
|
@@ -151,13 +142,24 @@ module Refinery
|
|
151
142
|
|
152
143
|
it 'returns hash based on it' do
|
153
144
|
plugin.stub(:directory).and_return('first/second/testc')
|
154
|
-
plugin.url.should ==
|
145
|
+
plugin.url[:controller].should == 'refinery/admin/testc'
|
155
146
|
end
|
156
147
|
end
|
157
148
|
|
158
149
|
context 'when controller and directory not present' do
|
159
150
|
it 'returns hash based on plugins name' do
|
160
|
-
plugin.url.should ==
|
151
|
+
plugin.url[:controller].should == 'refinery/admin/refinery_rspec'
|
152
|
+
end
|
153
|
+
end
|
154
|
+
end
|
155
|
+
|
156
|
+
describe '#activity_by_class_name' do
|
157
|
+
before { plugin.activity = [ { :class_name => "X::Y::Z" }, { :class_name => "X::Y::ZZ" }] }
|
158
|
+
|
159
|
+
context 'when the plugin have diferents activities' do
|
160
|
+
it 'returns the correct activity' do
|
161
|
+
plugin.activity_by_class_name("X::Y::Z").first.should == plugin.activity.first
|
162
|
+
plugin.activity_by_class_name("X::Y::ZZ").first.should == plugin.activity.last
|
161
163
|
end
|
162
164
|
end
|
163
165
|
end
|
@@ -3,6 +3,7 @@ require 'spec_helper'
|
|
3
3
|
module Refinery
|
4
4
|
module MyPlugin
|
5
5
|
class Engine < ::Rails::Engine
|
6
|
+
isolate_namespace ::Refinery
|
6
7
|
::Refinery::Plugin.register do |plugin|
|
7
8
|
plugin.name = "my_plugin"
|
8
9
|
plugin.hide_from_menu = true
|
@@ -12,42 +13,52 @@ module Refinery
|
|
12
13
|
|
13
14
|
module MyOtherPlugin
|
14
15
|
class Engine < ::Rails::Engine
|
16
|
+
isolate_namespace ::Refinery
|
15
17
|
::Refinery::Plugin.register do |plugin|
|
16
18
|
plugin.name = "my_other_plugin"
|
17
19
|
plugin.hide_from_menu = true
|
18
20
|
end
|
19
21
|
end
|
20
22
|
end
|
21
|
-
end
|
22
23
|
|
23
|
-
|
24
|
+
::I18n.backend.store_translations :en, :refinery => {
|
25
|
+
:plugins => {
|
26
|
+
:my_plugin => {
|
27
|
+
:title => "my plugin"
|
28
|
+
},
|
29
|
+
:my_other_plugin => {
|
30
|
+
:title => "my other plugin"
|
31
|
+
}
|
32
|
+
}
|
33
|
+
}
|
34
|
+
|
24
35
|
describe Plugins do
|
25
36
|
|
26
37
|
before(:each) do
|
27
38
|
# First, deactivate all.
|
28
|
-
|
39
|
+
subject.class.set_active([])
|
29
40
|
end
|
30
41
|
|
31
42
|
describe '#activate' do
|
32
43
|
it "activates a plugin" do
|
33
44
|
subject.class.activate("my_plugin")
|
34
45
|
|
35
|
-
|
46
|
+
subject.class.active.names.should include("my_plugin")
|
36
47
|
end
|
37
48
|
|
38
49
|
it "only activates the same plugin once" do
|
39
50
|
subject.class.activate("my_other_plugin")
|
40
51
|
subject.class.activate("my_other_plugin")
|
41
52
|
|
42
|
-
|
53
|
+
subject.class.active.names.count("my_other_plugin").should == 1
|
43
54
|
end
|
44
55
|
|
45
56
|
it "doesn't deactivate the first plugin when another is activated" do
|
46
57
|
subject.class.activate("my_plugin")
|
47
58
|
subject.class.activate("my_other_plugin")
|
48
59
|
|
49
|
-
|
50
|
-
|
60
|
+
subject.class.active.names.should include("my_plugin")
|
61
|
+
subject.class.active.names.should include("my_other_plugin")
|
51
62
|
end
|
52
63
|
end
|
53
64
|
|
@@ -56,33 +67,34 @@ module Refinery
|
|
56
67
|
subject.class.activate("my_plugin")
|
57
68
|
subject.class.deactivate("my_plugin")
|
58
69
|
|
59
|
-
|
70
|
+
subject.class.active.count.should == 0
|
60
71
|
end
|
61
72
|
end
|
62
73
|
|
63
74
|
describe '#set_active' do
|
75
|
+
|
64
76
|
it "activates a single plugin" do
|
65
77
|
subject.class.set_active(%w(my_plugin))
|
66
78
|
|
67
|
-
|
79
|
+
subject.class.active.names.should include("my_plugin")
|
68
80
|
end
|
69
81
|
|
70
82
|
it "activates a list of plugins" do
|
71
83
|
subject.class.set_active(%w(my_plugin my_other_plugin))
|
72
84
|
|
73
|
-
|
74
|
-
|
85
|
+
subject.class.active.names.should include("my_plugin")
|
86
|
+
subject.class.active.names.should include("my_plugin")
|
75
87
|
|
76
|
-
|
88
|
+
subject.class.active.count.should == 2
|
77
89
|
end
|
78
90
|
|
79
91
|
it "deactivates the initial plugins when another set is set_active" do
|
80
92
|
subject.class.set_active(%w(my_plugin))
|
81
93
|
subject.class.set_active(%w(my_other_plugin))
|
82
94
|
|
83
|
-
|
84
|
-
|
85
|
-
|
95
|
+
subject.class.active.names.should_not include("my_plugin")
|
96
|
+
subject.class.active.names.should include("my_other_plugin")
|
97
|
+
subject.class.active.count.should == 1
|
86
98
|
end
|
87
99
|
|
88
100
|
end
|
@@ -112,7 +124,7 @@ module Refinery
|
|
112
124
|
|
113
125
|
it 'only contains items that are always allowed' do
|
114
126
|
subject.class.always_allowed.any?.should be_true
|
115
|
-
subject.class.always_allowed.all? { |p| p.always_allow_access
|
127
|
+
subject.class.always_allowed.all? { |p| p.always_allow_access }.should be_true
|
116
128
|
end
|
117
129
|
end
|
118
130
|
|
@@ -127,5 +139,19 @@ module Refinery
|
|
127
139
|
end
|
128
140
|
end
|
129
141
|
|
142
|
+
describe ".find_by_name" do
|
143
|
+
it "finds plugin by given name" do
|
144
|
+
subject.class.set_active(%w(my_plugin))
|
145
|
+
subject.class.active.find_by_name("my_plugin").name.should == "my_plugin"
|
146
|
+
end
|
147
|
+
end
|
148
|
+
|
149
|
+
describe ".find_by_title" do
|
150
|
+
it "finds plugin by given title" do
|
151
|
+
subject.class.set_active(%w(my_plugin))
|
152
|
+
subject.class.active.find_by_title("my plugin").title.should == "my plugin"
|
153
|
+
end
|
154
|
+
end
|
155
|
+
|
130
156
|
end
|
131
157
|
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
module Refinery
|
4
|
+
describe "custom" do
|
5
|
+
login_refinery_user
|
6
|
+
|
7
|
+
context "javascripts" do
|
8
|
+
before(:each) do
|
9
|
+
::Refinery::Core.clear_javascripts!
|
10
|
+
end
|
11
|
+
|
12
|
+
it "should be rendered when specified" do
|
13
|
+
::Refinery::Core.config.register_javascript('custom_js')
|
14
|
+
visit refinery.admin_dashboard_path
|
15
|
+
page.body.include?('custom_js.js').should be
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
context "stylesheets" do
|
20
|
+
before(:each) do
|
21
|
+
::Refinery::Core.clear_stylesheets!
|
22
|
+
end
|
23
|
+
|
24
|
+
it "should be rendered when specified" do
|
25
|
+
::Refinery::Core.config.register_stylesheet('custom_css')
|
26
|
+
visit refinery.admin_dashboard_path
|
27
|
+
page.body.include?('custom_css.css').should be
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
module Refinery
|
4
|
+
describe "dialog" do
|
5
|
+
login_refinery_user
|
6
|
+
|
7
|
+
context "links" do
|
8
|
+
it "have iframe src" do
|
9
|
+
visit refinery.admin_dialog_path('Link')
|
10
|
+
page.should have_selector("iframe[src='/refinery/pages_dialogs/link_to']")
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
context "images" do
|
15
|
+
it "have iframe src" do
|
16
|
+
visit refinery.admin_dialog_path('Image')
|
17
|
+
page.should have_selector("iframe[src='/refinery/images/insert?modal=true']")
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
context "a" do
|
22
|
+
it "have empty iframe src" do
|
23
|
+
visit refinery.admin_dialog_path('a')
|
24
|
+
page.should have_selector("iframe[src='']")
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,71 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
module Refinery
|
4
|
+
describe "search" do
|
5
|
+
login_refinery_user
|
6
|
+
|
7
|
+
context "when searched item exists" do
|
8
|
+
describe "image extension" do
|
9
|
+
before(:each) { FactoryGirl.create(:image) }
|
10
|
+
|
11
|
+
it "returns found image" do
|
12
|
+
visit refinery.admin_images_path
|
13
|
+
fill_in "search", :with => "beach"
|
14
|
+
click_button "Search"
|
15
|
+
page.should have_selector("img[src*='beach.jpeg']")
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
describe "resource extension" do
|
20
|
+
before(:each) { FactoryGirl.create(:resource) }
|
21
|
+
|
22
|
+
it "returns found resource" do
|
23
|
+
visit refinery.admin_resources_path
|
24
|
+
fill_in "search", :with => "refinery"
|
25
|
+
click_button "Search"
|
26
|
+
page.should have_content("Refinery Is Awesome.txt")
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
describe "page extension" do
|
31
|
+
before(:each) { FactoryGirl.create(:page, :title => "Ugis Ozols") }
|
32
|
+
|
33
|
+
it "returns found page" do
|
34
|
+
visit refinery.admin_pages_path
|
35
|
+
fill_in "search", :with => "ugis"
|
36
|
+
click_button "Search"
|
37
|
+
page.should have_content("Ugis Ozols")
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
context "when searched item don't exist" do
|
43
|
+
def shared_stuff
|
44
|
+
fill_in "search", :with => "yada yada"
|
45
|
+
click_button "Search"
|
46
|
+
page.should have_content("Sorry, no results found")
|
47
|
+
end
|
48
|
+
|
49
|
+
describe "image extension" do
|
50
|
+
it "returns no results" do
|
51
|
+
visit refinery.admin_images_path
|
52
|
+
shared_stuff
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
describe "resource extension" do
|
57
|
+
it "returns no results" do
|
58
|
+
visit refinery.admin_resources_path
|
59
|
+
shared_stuff
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
describe "page extension" do
|
64
|
+
it "returns no results" do
|
65
|
+
visit refinery.admin_pages_path
|
66
|
+
shared_stuff
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
module Refinery
|
4
|
+
describe "site bar" do
|
5
|
+
login_refinery_user
|
6
|
+
|
7
|
+
it "have logout link" do
|
8
|
+
visit refinery.admin_dashboard_path
|
9
|
+
|
10
|
+
page.should have_content("Log out")
|
11
|
+
page.should have_selector("a[href='/refinery/logout']")
|
12
|
+
end
|
13
|
+
|
14
|
+
context "when in backend" do
|
15
|
+
before { visit refinery.admin_dashboard_path }
|
16
|
+
|
17
|
+
it "have a 'switch to your website button'" do
|
18
|
+
page.should have_content("Switch to your website")
|
19
|
+
page.should have_selector("a[href='/']")
|
20
|
+
end
|
21
|
+
|
22
|
+
it "switches to frontend" do
|
23
|
+
page.current_path.should == refinery.admin_dashboard_path
|
24
|
+
click_link "Switch to your website"
|
25
|
+
page.current_path.should == refinery.root_path
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
context "when in frontend" do
|
30
|
+
before do
|
31
|
+
# make a page in order to avoid 404
|
32
|
+
FactoryGirl.create(:page, :link_url => "/")
|
33
|
+
|
34
|
+
visit refinery.root_path
|
35
|
+
end
|
36
|
+
|
37
|
+
it "have a 'switch to your website editor' button" do
|
38
|
+
page.should have_content("Switch to your website editor")
|
39
|
+
page.should have_selector("a[href='/refinery']")
|
40
|
+
end
|
41
|
+
|
42
|
+
it "switches to backend" do
|
43
|
+
page.current_path.should == refinery.root_path
|
44
|
+
click_link "Switch to your website editor"
|
45
|
+
page.current_path.should == refinery.admin_root_path
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
if Capybara.javascript_driver == :selenium
|
2
|
+
require 'selenium-webdriver'
|
3
|
+
require 'selenium/webdriver/firefox'
|
4
|
+
|
5
|
+
if defined?(Selenium::WebDriver::Firefox::Launcher) && Selenium::WebDriver::Platform.mac?
|
6
|
+
# Run firefox in the background, on OS X
|
7
|
+
Selenium::WebDriver::Firefox::Launcher.class_eval do
|
8
|
+
def start
|
9
|
+
assert_profile
|
10
|
+
@binary.start_with @profile, @profile_dir, ''
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'database_cleaner'
|
2
|
+
|
3
|
+
RSpec.configure do |config|
|
4
|
+
config.before(:suite) do
|
5
|
+
DatabaseCleaner.strategy = :truncation
|
6
|
+
end
|
7
|
+
|
8
|
+
config.before(:each) do
|
9
|
+
DatabaseCleaner.start
|
10
|
+
end
|
11
|
+
|
12
|
+
config.after(:each) do
|
13
|
+
DatabaseCleaner.clean
|
14
|
+
end
|
15
|
+
end
|