activeadmin 1.0.0 → 2.11.0
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.
- checksums.yaml +5 -5
- data/CHANGELOG.md +778 -68
- data/CODE_OF_CONDUCT.md +64 -12
- data/CONTRIBUTING.md +80 -82
- data/README.md +73 -19
- data/app/assets/javascripts/active_admin/base.js +524 -0
- data/app/assets/stylesheets/active_admin/_base.scss +53 -37
- data/app/assets/stylesheets/active_admin/_forms.scss +7 -35
- data/app/assets/stylesheets/active_admin/_header.scss +40 -8
- data/app/assets/stylesheets/active_admin/_mixins.scss +1 -1
- data/app/assets/stylesheets/active_admin/_normalize.scss +349 -0
- data/app/assets/stylesheets/active_admin/{print.scss → _print.scss} +3 -4
- data/app/assets/stylesheets/active_admin/components/_batch_actions.scss +0 -5
- data/app/assets/stylesheets/active_admin/components/_comments.scss +2 -2
- data/app/assets/stylesheets/active_admin/components/_date_picker.scss +1 -2
- data/app/assets/stylesheets/active_admin/components/_dropdown_menu.scss +0 -1
- data/app/assets/stylesheets/active_admin/components/_pagination.scss +11 -0
- data/app/assets/stylesheets/active_admin/components/_scopes.scss +3 -0
- data/app/assets/stylesheets/active_admin/components/_status_tags.scss +0 -4
- data/app/assets/stylesheets/active_admin/components/_tables.scss +5 -3
- data/app/assets/stylesheets/active_admin/components/_tabs.scss +1 -1
- data/app/assets/stylesheets/active_admin/mixins/_all.scss +8 -10
- data/app/assets/stylesheets/active_admin/mixins/_gradients.scss +1 -1
- data/app/assets/stylesheets/active_admin/mixins/_variables.scss +17 -0
- data/app/assets/stylesheets/active_admin/structure/_main_structure.scss +1 -1
- data/app/assets/stylesheets/active_admin/structure/_title_bar.scss +0 -1
- data/app/javascript/active_admin/base.js +28 -0
- data/app/javascript/active_admin/ext/jquery-ui.js +7 -0
- data/app/javascript/active_admin/ext/jquery.js +9 -0
- data/app/javascript/active_admin/initializers/batch-actions.js +61 -0
- data/app/javascript/active_admin/initializers/checkbox-toggler.js +3 -0
- data/app/javascript/active_admin/initializers/datepicker.js +16 -0
- data/app/javascript/active_admin/initializers/dropdown-menu.js +9 -0
- data/app/javascript/active_admin/initializers/filters.js +10 -0
- data/app/javascript/active_admin/initializers/has-many.js +95 -0
- data/app/javascript/active_admin/initializers/per-page.js +13 -0
- data/app/javascript/active_admin/initializers/table-checkbox-toggler.js +3 -0
- data/app/javascript/active_admin/initializers/tabs.js +6 -0
- data/app/javascript/active_admin/lib/checkbox-toggler.js +49 -0
- data/app/javascript/active_admin/lib/dropdown-menu.js +116 -0
- data/app/javascript/active_admin/lib/filters.js +39 -0
- data/app/javascript/active_admin/lib/modal-dialog.js +63 -0
- data/app/javascript/active_admin/lib/per-page.js +38 -0
- data/app/javascript/active_admin/lib/table-checkbox-toggler.js +38 -0
- data/app/javascript/active_admin/lib/utils.js +40 -0
- data/app/views/active_admin/devise/confirmations/new.html.erb +2 -2
- data/app/views/active_admin/devise/mailer/reset_password_instructions.html.erb +1 -1
- data/app/views/active_admin/devise/mailer/unlock_instructions.html.erb +2 -2
- data/app/views/active_admin/devise/passwords/edit.html.erb +2 -2
- data/app/views/active_admin/devise/passwords/new.html.erb +2 -2
- data/app/views/active_admin/devise/registrations/new.html.erb +2 -3
- data/app/views/active_admin/devise/sessions/new.html.erb +2 -2
- data/app/views/active_admin/devise/shared/_error_messages.html.erb +15 -0
- data/app/views/active_admin/devise/shared/_links.erb +12 -6
- data/app/views/active_admin/devise/unlocks/new.html.erb +2 -2
- data/app/views/active_admin/page/index.html.arb +1 -0
- data/app/views/active_admin/resource/edit.html.arb +1 -0
- data/app/views/active_admin/resource/index.html.arb +1 -0
- data/app/views/active_admin/resource/new.html.arb +1 -0
- data/app/views/active_admin/resource/show.html.arb +1 -0
- data/app/views/kaminari/active_admin/_first_page.html.erb +11 -0
- data/app/views/kaminari/active_admin/_gap.html.erb +8 -0
- data/app/views/kaminari/active_admin/_last_page.html.erb +11 -0
- data/app/views/kaminari/active_admin/_next_page.html.erb +11 -0
- data/app/views/kaminari/active_admin/_page.html.erb +12 -0
- data/app/views/kaminari/active_admin/_paginator.html.erb +25 -0
- data/app/views/kaminari/active_admin/_prev_page.html.erb +11 -0
- data/app/views/kaminari/active_admin_countless/_first_page.html.erb +11 -0
- data/app/views/kaminari/active_admin_countless/_gap.html.erb +8 -0
- data/app/views/kaminari/active_admin_countless/_next_page.html.erb +11 -0
- data/app/views/kaminari/active_admin_countless/_page.html.erb +12 -0
- data/app/views/kaminari/active_admin_countless/_paginator.html.erb +24 -0
- data/app/views/kaminari/active_admin_countless/_prev_page.html.erb +11 -0
- data/app/views/layouts/active_admin.html.arb +1 -0
- data/app/views/layouts/active_admin_logged_out.html.erb +17 -7
- data/config/locales/ar.yml +10 -11
- data/config/locales/az.yml +138 -0
- data/config/locales/bg.yml +1 -3
- data/config/locales/bs.yml +1 -2
- data/config/locales/ca.yml +1 -3
- data/config/locales/cs.yml +1 -2
- data/config/locales/da.yml +2 -3
- data/config/locales/de-CH.yml +2 -3
- data/config/locales/de.yml +30 -3
- data/config/locales/el.yml +2 -3
- data/config/locales/en-CA.yml +139 -0
- data/config/locales/en-GB.yml +46 -5
- data/config/locales/en.yml +32 -8
- data/config/locales/eo.yml +145 -0
- data/config/locales/es-MX.yml +6 -3
- data/config/locales/es.yml +36 -10
- data/config/locales/fa.yml +1 -2
- data/config/locales/fi.yml +2 -3
- data/config/locales/fr.yml +15 -7
- data/config/locales/he.yml +53 -7
- data/config/locales/hr.yml +1 -2
- data/config/locales/hu.yml +5 -2
- data/config/locales/id.yml +2 -3
- data/config/locales/it.yml +33 -7
- data/config/locales/ja.yml +9 -5
- data/config/locales/ko.yml +2 -3
- data/config/locales/lt.yml +27 -6
- data/config/locales/lv.yml +3 -4
- data/config/locales/mk.yml +134 -0
- data/config/locales/nb.yml +16 -7
- data/config/locales/nl.yml +14 -4
- data/config/locales/pl.yml +75 -5
- data/config/locales/pt-BR.yml +10 -3
- data/config/locales/pt-PT.yml +1 -2
- data/config/locales/ro.yml +4 -4
- data/config/locales/ru.yml +4 -3
- data/config/locales/sk.yml +60 -2
- data/config/locales/sv-SE.yml +4 -3
- data/config/locales/tr.yml +10 -2
- data/config/locales/uk.yml +4 -3
- data/config/locales/vi.yml +53 -12
- data/config/locales/zh-CN.yml +34 -7
- data/config/locales/zh-TW.yml +2 -3
- data/docs/.gitignore +1 -0
- data/docs/0-installation.md +42 -15
- data/docs/1-general-configuration.md +46 -4
- data/docs/10-custom-pages.md +24 -5
- data/docs/11-decorators.md +17 -5
- data/docs/12-arbre-components.md +47 -9
- data/docs/13-authorization-adapter.md +69 -35
- data/docs/14-gotchas.md +41 -22
- data/docs/2-resource-customization.md +57 -20
- data/docs/3-index-pages/custom-index.md +2 -1
- data/docs/3-index-pages/index-as-block.md +0 -5
- data/docs/3-index-pages/index-as-blog.md +1 -6
- data/docs/3-index-pages/index-as-grid.md +0 -5
- data/docs/3-index-pages/index-as-table.md +13 -14
- data/docs/3-index-pages.md +47 -12
- data/docs/4-csv-format.md +2 -1
- data/docs/5-forms.md +65 -22
- data/docs/6-show-pages.md +14 -1
- data/docs/7-sidebars.md +2 -1
- data/docs/8-custom-actions.md +16 -2
- data/docs/9-batch-actions.md +5 -3
- data/docs/CNAME +1 -1
- data/docs/Gemfile +4 -2
- data/docs/Gemfile.lock +283 -0
- data/docs/_config.yml +3 -1
- data/docs/_includes/toc.html +1 -1
- data/docs/_includes/top-menu.html +9 -1
- data/docs/documentation.md +21 -23
- data/docs/images/tidelift.svg +14 -0
- data/docs/index.html +110 -9
- data/docs/stylesheets/main.css +55 -2
- data/lib/active_admin/abstract_view_factory.rb +14 -51
- data/lib/active_admin/application.rb +65 -170
- data/lib/active_admin/application_settings.rb +43 -0
- data/lib/active_admin/asset_registration.rb +1 -0
- data/lib/active_admin/authorization_adapter.rb +4 -6
- data/lib/active_admin/base_controller/authorization.rb +18 -19
- data/lib/active_admin/base_controller/menu.rb +10 -9
- data/lib/active_admin/base_controller.rb +12 -12
- data/lib/active_admin/batch_actions/controller.rb +6 -5
- data/lib/active_admin/batch_actions/resource_extension.rb +16 -10
- data/lib/active_admin/batch_actions/views/batch_action_form.rb +4 -3
- data/lib/active_admin/batch_actions/views/batch_action_selector.rb +7 -6
- data/lib/active_admin/batch_actions/views/selection_cells.rb +8 -6
- data/lib/active_admin/batch_actions.rb +1 -0
- data/lib/active_admin/callbacks.rb +2 -1
- data/lib/active_admin/cancan_adapter.rb +2 -1
- data/lib/active_admin/collection_decorator.rb +32 -0
- data/lib/active_admin/component.rb +1 -0
- data/lib/active_admin/controller_action.rb +3 -1
- data/lib/active_admin/csv_builder.rb +22 -14
- data/lib/active_admin/dependency.rb +15 -78
- data/lib/active_admin/deprecation.rb +1 -25
- data/lib/active_admin/devise.rb +18 -7
- data/lib/active_admin/dsl.rb +5 -11
- data/lib/active_admin/dynamic_setting.rb +39 -0
- data/lib/active_admin/dynamic_settings_node.rb +29 -0
- data/lib/active_admin/engine.rb +16 -7
- data/lib/active_admin/error.rb +5 -4
- data/lib/active_admin/filters/active.rb +14 -14
- data/lib/active_admin/filters/active_filter.rb +124 -0
- data/lib/active_admin/filters/active_sidebar.rb +28 -0
- data/lib/active_admin/filters/dsl.rb +1 -0
- data/lib/active_admin/filters/forms.rb +12 -9
- data/lib/active_admin/filters/formtastic_addons.rb +3 -7
- data/lib/active_admin/filters/resource_extension.rb +32 -35
- data/lib/active_admin/filters.rb +8 -5
- data/lib/active_admin/form_builder.rb +110 -70
- data/lib/active_admin/generators/boilerplate.rb +13 -4
- data/lib/active_admin/helpers/collection.rb +2 -0
- data/lib/active_admin/helpers/i18n.rb +1 -0
- data/lib/active_admin/helpers/optional_display.rb +3 -2
- data/lib/active_admin/helpers/routes/url_helpers.rb +1 -0
- data/lib/active_admin/helpers/scope_chain.rb +2 -0
- data/lib/active_admin/inputs/datepicker_input.rb +14 -6
- data/lib/active_admin/inputs/filters/base/search_method_select.rb +7 -6
- data/lib/active_admin/inputs/filters/base.rb +2 -1
- data/lib/active_admin/inputs/filters/boolean_input.rb +2 -1
- data/lib/active_admin/inputs/filters/check_boxes_input.rb +2 -1
- data/lib/active_admin/inputs/filters/date_picker_input.rb +1 -0
- data/lib/active_admin/inputs/filters/date_range_input.rb +24 -12
- data/lib/active_admin/inputs/filters/numeric_input.rb +1 -0
- data/lib/active_admin/inputs/filters/select_input.rb +8 -3
- data/lib/active_admin/inputs/filters/string_input.rb +1 -0
- data/lib/active_admin/inputs/filters/text_input.rb +1 -1
- data/lib/active_admin/inputs.rb +1 -0
- data/lib/active_admin/localizers/resource_localizer.rb +4 -3
- data/lib/active_admin/localizers.rb +2 -1
- data/lib/active_admin/menu.rb +13 -15
- data/lib/active_admin/menu_collection.rb +1 -2
- data/lib/active_admin/menu_item.rb +11 -38
- data/lib/active_admin/namespace.rb +33 -20
- data/lib/active_admin/namespace_settings.rb +127 -0
- data/lib/active_admin/order_clause.rb +4 -3
- data/lib/active_admin/orm/active_record/comments/comment.rb +6 -9
- data/lib/active_admin/orm/active_record/comments/namespace_helper.rb +1 -0
- data/lib/active_admin/orm/active_record/comments/resource_helper.rb +1 -0
- data/lib/active_admin/orm/active_record/comments/show_page_helper.rb +1 -0
- data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +37 -24
- data/lib/active_admin/orm/active_record/comments/views.rb +3 -2
- data/lib/active_admin/orm/active_record/comments.rb +35 -23
- data/lib/active_admin/orm/active_record.rb +2 -1
- data/lib/active_admin/orm/mongoid.rb +1 -0
- data/lib/active_admin/page.rb +2 -1
- data/lib/active_admin/page_controller.rb +2 -1
- data/lib/active_admin/page_dsl.rb +2 -1
- data/lib/active_admin/page_presenter.rb +3 -1
- data/lib/active_admin/pundit_adapter.rb +23 -9
- data/lib/active_admin/resource/action_items.rb +16 -6
- data/lib/active_admin/resource/attributes.rb +10 -6
- data/lib/active_admin/resource/belongs_to.rb +9 -3
- data/lib/active_admin/resource/controllers.rb +2 -1
- data/lib/active_admin/resource/includes.rb +1 -0
- data/lib/active_admin/resource/menu.rb +6 -5
- data/lib/active_admin/resource/model.rb +16 -0
- data/lib/active_admin/resource/naming.rb +6 -5
- data/lib/active_admin/resource/ordering.rb +1 -0
- data/lib/active_admin/resource/page_presenters.rb +2 -1
- data/lib/active_admin/resource/pagination.rb +1 -0
- data/lib/active_admin/resource/routes.rb +26 -15
- data/lib/active_admin/resource/scope_to.rb +8 -7
- data/lib/active_admin/resource/scopes.rb +5 -3
- data/lib/active_admin/resource/sidebars.rb +3 -2
- data/lib/active_admin/resource.rb +37 -22
- data/lib/active_admin/resource_collection.rb +3 -2
- data/lib/active_admin/resource_controller/action_builder.rb +11 -0
- data/lib/active_admin/resource_controller/data_access.rb +16 -12
- data/lib/active_admin/resource_controller/decorators.rb +10 -31
- data/lib/active_admin/resource_controller/polymorphic_routes.rb +38 -0
- data/lib/active_admin/resource_controller/resource_class_methods.rb +3 -0
- data/lib/active_admin/resource_controller/scoping.rb +2 -1
- data/lib/active_admin/resource_controller/sidebars.rb +1 -0
- data/lib/active_admin/resource_controller/streaming.rb +9 -7
- data/lib/active_admin/resource_controller.rb +15 -11
- data/lib/active_admin/resource_dsl.rb +18 -28
- data/lib/active_admin/router.rb +91 -84
- data/lib/active_admin/scope.rb +22 -13
- data/lib/active_admin/settings_node.rb +20 -0
- data/lib/active_admin/sidebar_section.rb +4 -1
- data/lib/active_admin/version.rb +2 -1
- data/lib/active_admin/view_factory.rb +18 -17
- data/lib/active_admin/view_helpers/active_admin_application_helper.rb +1 -0
- data/lib/active_admin/view_helpers/auto_link_helper.rb +1 -0
- data/lib/active_admin/view_helpers/breadcrumb_helper.rb +6 -5
- data/lib/active_admin/view_helpers/display_helper.rb +26 -9
- data/lib/active_admin/view_helpers/download_format_links_helper.rb +3 -1
- data/lib/active_admin/view_helpers/fields_for.rb +3 -2
- data/lib/active_admin/view_helpers/flash_helper.rb +1 -0
- data/lib/active_admin/view_helpers/form_helper.rb +2 -1
- data/lib/active_admin/view_helpers/method_or_proc_helper.rb +4 -0
- data/lib/active_admin/view_helpers/scope_name_helper.rb +17 -0
- data/lib/active_admin/view_helpers/sidebar_helper.rb +1 -0
- data/lib/active_admin/view_helpers/title_helper.rb +1 -0
- data/lib/active_admin/view_helpers/view_factory_helper.rb +1 -0
- data/lib/active_admin/view_helpers.rb +3 -1
- data/lib/active_admin/views/action_items.rb +2 -1
- data/lib/active_admin/views/components/active_admin_form.rb +15 -9
- data/lib/active_admin/views/components/active_filters_sidebar_content.rb +59 -0
- data/lib/active_admin/views/components/attributes_table.rb +9 -8
- data/lib/active_admin/views/components/blank_slate.rb +2 -1
- data/lib/active_admin/views/components/columns.rb +1 -0
- data/lib/active_admin/views/components/dropdown_menu.rb +9 -11
- data/lib/active_admin/views/components/index_list.rb +4 -5
- data/lib/active_admin/views/components/menu.rb +33 -0
- data/lib/active_admin/views/components/menu_item.rb +59 -0
- data/lib/active_admin/views/components/paginated_collection.rb +22 -20
- data/lib/active_admin/views/components/panel.rb +2 -1
- data/lib/active_admin/views/components/scopes.rb +19 -17
- data/lib/active_admin/views/components/sidebar.rb +14 -0
- data/lib/active_admin/views/components/sidebar_section.rb +1 -0
- data/lib/active_admin/views/components/site_title.rb +7 -7
- data/lib/active_admin/views/components/status_tag.rb +19 -23
- data/lib/active_admin/views/components/table_for.rb +22 -29
- data/lib/active_admin/views/components/tabs.rb +18 -5
- data/lib/active_admin/views/components/unsupported_browser.rb +1 -0
- data/lib/active_admin/views/footer.rb +6 -8
- data/lib/active_admin/views/header.rb +4 -16
- data/lib/active_admin/views/index_as_block.rb +1 -0
- data/lib/active_admin/views/index_as_blog.rb +4 -4
- data/lib/active_admin/views/index_as_grid.rb +27 -26
- data/lib/active_admin/views/index_as_table.rb +53 -26
- data/lib/active_admin/views/pages/base.rb +47 -63
- data/lib/active_admin/views/pages/form.rb +1 -0
- data/lib/active_admin/views/pages/index.rb +16 -13
- data/lib/active_admin/views/pages/layout.rb +1 -0
- data/lib/active_admin/views/pages/page.rb +1 -0
- data/lib/active_admin/views/pages/show.rb +7 -1
- data/lib/active_admin/views/tabbed_navigation.rb +5 -59
- data/lib/active_admin/views/title_bar.rb +6 -5
- data/lib/active_admin/views.rb +2 -1
- data/lib/active_admin.rb +70 -68
- data/lib/activeadmin.rb +2 -1
- data/lib/generators/active_admin/assets/assets_generator.rb +3 -2
- data/lib/generators/active_admin/assets/templates/active_admin.js +1 -0
- data/lib/generators/active_admin/assets/templates/active_admin.scss +2 -2
- data/lib/generators/active_admin/devise/devise_generator.rb +7 -6
- data/lib/generators/active_admin/install/install_generator.rb +19 -8
- data/lib/generators/active_admin/install/templates/active_admin.rb.erb +45 -3
- data/lib/generators/active_admin/install/templates/{admin_user.rb.erb → admin_users.rb.erb} +1 -1
- data/lib/generators/active_admin/install/templates/dashboard.rb +3 -3
- data/lib/generators/active_admin/install/templates/migrations/create_active_admin_comments.rb.erb +1 -15
- data/lib/generators/active_admin/page/page_generator.rb +2 -1
- data/lib/generators/active_admin/page/templates/page.rb +1 -0
- data/lib/generators/active_admin/resource/resource_generator.rb +5 -4
- data/lib/generators/active_admin/resource/templates/admin.rb.erb +40 -37
- data/lib/generators/active_admin/webpacker/plugins/jquery.js +7 -0
- data/lib/generators/active_admin/webpacker/templates/active_admin.js +5 -0
- data/lib/generators/active_admin/webpacker/templates/active_admin.scss +17 -0
- data/lib/generators/active_admin/webpacker/templates/print.scss +2 -0
- data/lib/generators/active_admin/webpacker/webpacker_generator.rb +27 -0
- data/lib/ransack_ext.rb +10 -9
- data/vendor/assets/javascripts/jquery-ui/data.js +41 -0
- data/vendor/assets/javascripts/jquery-ui/disable-selection.js +48 -0
- data/vendor/assets/javascripts/jquery-ui/escape-selector.js +23 -0
- data/vendor/assets/javascripts/jquery-ui/focusable.js +86 -0
- data/vendor/assets/javascripts/jquery-ui/form-reset-mixin.js +80 -0
- data/vendor/assets/javascripts/jquery-ui/form.js +22 -0
- data/vendor/assets/javascripts/jquery-ui/ie.js +17 -0
- data/vendor/assets/javascripts/jquery-ui/keycode.js +47 -0
- data/vendor/assets/javascripts/jquery-ui/labels.js +65 -0
- data/vendor/assets/javascripts/jquery-ui/plugin.js +46 -0
- data/vendor/assets/javascripts/jquery-ui/position.js +500 -0
- data/vendor/assets/javascripts/jquery-ui/safe-active-element.js +42 -0
- data/vendor/assets/javascripts/jquery-ui/safe-blur.js +23 -0
- data/vendor/assets/javascripts/jquery-ui/scroll-parent.js +47 -0
- data/vendor/assets/javascripts/jquery-ui/tabbable.js +38 -0
- data/vendor/assets/javascripts/jquery-ui/unique-id.js +51 -0
- data/vendor/assets/javascripts/jquery-ui/version.js +17 -0
- data/vendor/assets/javascripts/jquery-ui/widget.js +735 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/button.js +391 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +291 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/controlgroup.js +300 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/datepicker.js +2123 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/dialog.js +954 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/draggable.js +1259 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/mouse.js +230 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/resizable.js +1207 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/sortable.js +1561 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/tabs.js +931 -0
- metadata +158 -580
- data/.gitignore +0 -49
- data/.hound.yml +0 -14
- data/.rubocop.yml +0 -27
- data/.travis.yml +0 -66
- data/.yardopts +0 -8
- data/Appraisals +0 -41
- data/Gemfile +0 -49
- data/Rakefile +0 -65
- data/activeadmin.gemspec +0 -34
- data/app/assets/images/active_admin/datepicker/datepicker-input-icon.png +0 -0
- data/app/assets/images/active_admin/nested_menu_arrow.gif +0 -0
- data/app/assets/images/active_admin/nested_menu_arrow_dark.gif +0 -0
- data/app/assets/images/active_admin/orderable.png +0 -0
- data/app/assets/javascripts/active_admin/base.js.coffee +0 -9
- data/app/assets/javascripts/active_admin/ext/jquery-ui.js.coffee +0 -6
- data/app/assets/javascripts/active_admin/ext/jquery.js.coffee +0 -7
- data/app/assets/javascripts/active_admin/initializers/batch_actions.js.coffee +0 -7
- data/app/assets/javascripts/active_admin/initializers/datepicker.js.coffee +0 -10
- data/app/assets/javascripts/active_admin/initializers/filters.js.coffee +0 -22
- data/app/assets/javascripts/active_admin/initializers/tabs.js.coffee +0 -3
- data/app/assets/javascripts/active_admin/jquery_ui.js.erb +0 -18
- data/app/assets/javascripts/active_admin/lib/batch_actions.js.coffee +0 -39
- data/app/assets/javascripts/active_admin/lib/checkbox-toggler.js.coffee +0 -44
- data/app/assets/javascripts/active_admin/lib/dropdown-menu.js.coffee +0 -101
- data/app/assets/javascripts/active_admin/lib/flash.js.coffee +0 -19
- data/app/assets/javascripts/active_admin/lib/has_many.js.coffee +0 -79
- data/app/assets/javascripts/active_admin/lib/modal_dialog.js.coffee +0 -45
- data/app/assets/javascripts/active_admin/lib/per_page.js.coffee +0 -42
- data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.js.coffee +0 -24
- data/app/assets/stylesheets/active_admin/mixins/_reset.scss +0 -165
- data/codecov.yml +0 -23
- data/cucumber.yml +0 -3
- data/features/action_item.feature +0 -73
- data/features/authorization.feature +0 -64
- data/features/authorization_cancan.feature +0 -52
- data/features/authorization_pundit.feature +0 -37
- data/features/belongs_to.feature +0 -124
- data/features/breadcrumb.feature +0 -75
- data/features/comments/commenting.feature +0 -158
- data/features/comments/viewing_index.feature +0 -19
- data/features/create_another.feature +0 -55
- data/features/dashboard.feature +0 -16
- data/features/decorators.feature +0 -43
- data/features/development_reloading.feature +0 -28
- data/features/edit_page.feature +0 -116
- data/features/favicon.feature +0 -20
- data/features/first_boot.feature +0 -16
- data/features/footer.feature +0 -28
- data/features/global_navigation.feature +0 -29
- data/features/i18n.feature +0 -55
- data/features/index/batch_actions.feature +0 -218
- data/features/index/filters.feature +0 -199
- data/features/index/format_as_csv.feature +0 -203
- data/features/index/formats.feature +0 -88
- data/features/index/index_as_block.feature +0 -15
- data/features/index/index_as_blog.feature +0 -69
- data/features/index/index_as_grid.feature +0 -45
- data/features/index/index_as_table.feature +0 -291
- data/features/index/index_blank_slate.feature +0 -83
- data/features/index/index_parameters.feature +0 -75
- data/features/index/index_scope_to.feature +0 -56
- data/features/index/index_scopes.feature +0 -270
- data/features/index/page_title.feature +0 -41
- data/features/index/pagination.feature +0 -63
- data/features/index/switch_index_view.feature +0 -73
- data/features/menu.feature +0 -72
- data/features/meta_tags.feature +0 -21
- data/features/new_page.feature +0 -107
- data/features/registering_assets.feature +0 -34
- data/features/registering_pages.feature +0 -237
- data/features/registering_resources.feature +0 -33
- data/features/renamed_resource.feature +0 -30
- data/features/root_to.feature +0 -17
- data/features/show/columns.feature +0 -40
- data/features/show/default_content.feature +0 -44
- data/features/show/page_title.feature +0 -58
- data/features/show/tabs.feature +0 -27
- data/features/sidebar_sections.feature +0 -210
- data/features/site_title.feature +0 -47
- data/features/specifying_actions.feature +0 -118
- data/features/step_definitions/action_item_steps.rb +0 -7
- data/features/step_definitions/action_link_steps.rb +0 -20
- data/features/step_definitions/additional_web_steps.rb +0 -81
- data/features/step_definitions/asset_steps.rb +0 -15
- data/features/step_definitions/attribute_steps.rb +0 -18
- data/features/step_definitions/batch_action_steps.rb +0 -81
- data/features/step_definitions/blog_steps.rb +0 -3
- data/features/step_definitions/breadcrumb_steps.rb +0 -3
- data/features/step_definitions/column_steps.rb +0 -8
- data/features/step_definitions/comment_steps.rb +0 -12
- data/features/step_definitions/configuration_steps.rb +0 -100
- data/features/step_definitions/dashboard_steps.rb +0 -15
- data/features/step_definitions/factory_steps.rb +0 -35
- data/features/step_definitions/filter_steps.rb +0 -39
- data/features/step_definitions/flash_steps.rb +0 -11
- data/features/step_definitions/footer_steps.rb +0 -11
- data/features/step_definitions/format_steps.rb +0 -56
- data/features/step_definitions/i18n_steps.rb +0 -11
- data/features/step_definitions/index_scope_steps.rb +0 -25
- data/features/step_definitions/index_views_steps.rb +0 -3
- data/features/step_definitions/layout_steps.rb +0 -3
- data/features/step_definitions/member_link_steps.rb +0 -7
- data/features/step_definitions/menu_steps.rb +0 -11
- data/features/step_definitions/meta_tag_steps.rb +0 -3
- data/features/step_definitions/pagination_steps.rb +0 -15
- data/features/step_definitions/sidebar_steps.rb +0 -11
- data/features/step_definitions/site_title_steps.rb +0 -17
- data/features/step_definitions/tab_steps.rb +0 -8
- data/features/step_definitions/table_steps.rb +0 -116
- data/features/step_definitions/user_steps.rb +0 -52
- data/features/step_definitions/web_steps.rb +0 -86
- data/features/sti_resource.feature +0 -65
- data/features/strong_parameters.feature +0 -69
- data/features/support/env.rb +0 -121
- data/features/support/paths.rb +0 -73
- data/features/support/selectors.rb +0 -45
- data/features/users/logging_in.feature +0 -36
- data/features/users/logging_out.feature +0 -13
- data/features/users/resetting_password.feature +0 -34
- data/gemfiles/rails_42.gemfile +0 -45
- data/gemfiles/rails_50.gemfile +0 -45
- data/gemfiles/rails_51.gemfile +0 -45
- data/lib/active_admin/event.rb +0 -24
- data/lib/active_admin/filters/humanized.rb +0 -68
- data/lib/active_admin/helpers/settings.rb +0 -115
- data/lib/active_admin/reloader.rb +0 -25
- data/lib/bug_report_templates/rails_5_master.rb +0 -118
- data/lib/generators/active_admin/assets/templates/active_admin.js.coffee +0 -1
- data/spec/bug_report_templates_spec.rb +0 -27
- data/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee +0 -50
- data/spec/javascripts/coffeescripts/jquery.aa.flash.js.coffee +0 -25
- data/spec/javascripts/coffeescripts/jquery.aa.table-checkbox-toggler-spec.js.coffee +0 -34
- data/spec/javascripts/fixtures/checkboxes.html +0 -9
- data/spec/javascripts/fixtures/flashes.html +0 -2
- data/spec/javascripts/fixtures/table_checkboxes.html +0 -17
- data/spec/javascripts/helpers/SpecHelper.js +0 -3
- data/spec/javascripts/support/jasmine.yml +0 -74
- data/spec/javascripts/support/jasmine_runner.rb +0 -19
- data/spec/rails_helper.rb +0 -62
- data/spec/requests/default_namespace_spec.rb +0 -81
- data/spec/requests/javascript_spec.rb +0 -22
- data/spec/requests/memory_spec.rb +0 -25
- data/spec/requests/stylesheets_spec.rb +0 -18
- data/spec/spec_helper.rb +0 -12
- data/spec/support/active_admin_integration_spec_helper.rb +0 -73
- data/spec/support/active_admin_request_helpers.rb +0 -39
- data/spec/support/jslint.yml +0 -80
- data/spec/support/rails_template.rb +0 -182
- data/spec/support/rails_template_with_data.rb +0 -68
- data/spec/support/templates/admin/stores.rb +0 -7
- data/spec/support/templates/en.yml +0 -8
- data/spec/support/templates/manifest.js +0 -3
- data/spec/support/templates/policies/active_admin/comment_policy.rb +0 -9
- data/spec/support/templates/policies/active_admin/page_policy.rb +0 -18
- data/spec/support/templates/policies/admin_user_policy.rb +0 -11
- data/spec/support/templates/policies/application_policy.rb +0 -45
- data/spec/support/templates/policies/category_policy.rb +0 -7
- data/spec/support/templates/policies/post_policy.rb +0 -15
- data/spec/support/templates/policies/store_policy.rb +0 -11
- data/spec/support/templates/policies/user_policy.rb +0 -11
- data/spec/support/templates/post_decorator.rb +0 -11
- data/spec/unit/abstract_view_factory_spec.rb +0 -79
- data/spec/unit/action_builder_spec.rb +0 -125
- data/spec/unit/active_admin_spec.rb +0 -11
- data/spec/unit/application_spec.rb +0 -180
- data/spec/unit/asset_registration_spec.rb +0 -52
- data/spec/unit/authorization/authorization_adapter_spec.rb +0 -61
- data/spec/unit/authorization/controller_authorization_spec.rb +0 -43
- data/spec/unit/authorization/index_overriding_spec.rb +0 -23
- data/spec/unit/auto_link_spec.rb +0 -93
- data/spec/unit/batch_actions/resource_spec.rb +0 -84
- data/spec/unit/batch_actions/settings_spec.rb +0 -61
- data/spec/unit/belongs_to_spec.rb +0 -77
- data/spec/unit/cancan_adapter_spec.rb +0 -43
- data/spec/unit/comments_spec.rb +0 -176
- data/spec/unit/component_spec.rb +0 -18
- data/spec/unit/config_shared_examples.rb +0 -59
- data/spec/unit/controller_filters_spec.rb +0 -41
- data/spec/unit/csv_builder_spec.rb +0 -306
- data/spec/unit/dependency_spec.rb +0 -135
- data/spec/unit/devise_spec.rb +0 -110
- data/spec/unit/dsl_spec.rb +0 -122
- data/spec/unit/filters/active_spec.rb +0 -14
- data/spec/unit/filters/filter_form_builder_spec.rb +0 -500
- data/spec/unit/filters/humanized_spec.rb +0 -64
- data/spec/unit/filters/resource_spec.rb +0 -128
- data/spec/unit/form_builder_spec.rb +0 -990
- data/spec/unit/generators/install_spec.rb +0 -31
- data/spec/unit/helpers/collection_spec.rb +0 -68
- data/spec/unit/helpers/scope_chain_spec.rb +0 -36
- data/spec/unit/helpers/settings_spec.rb +0 -30
- data/spec/unit/i18n_spec.rb +0 -12
- data/spec/unit/localizers/resource_localizer_spec.rb +0 -36
- data/spec/unit/menu_collection_spec.rb +0 -62
- data/spec/unit/menu_item_spec.rb +0 -143
- data/spec/unit/menu_spec.rb +0 -71
- data/spec/unit/namespace/authorization_spec.rb +0 -27
- data/spec/unit/namespace/register_page_spec.rb +0 -99
- data/spec/unit/namespace/register_resource_spec.rb +0 -162
- data/spec/unit/namespace_spec.rb +0 -125
- data/spec/unit/order_clause_spec.rb +0 -81
- data/spec/unit/page_controller_spec.rb +0 -5
- data/spec/unit/page_spec.rb +0 -131
- data/spec/unit/pretty_format_spec.rb +0 -82
- data/spec/unit/pundit_adapter_spec.rb +0 -98
- data/spec/unit/resource/action_items_spec.rb +0 -65
- data/spec/unit/resource/attributes_spec.rb +0 -50
- data/spec/unit/resource/includes_spec.rb +0 -21
- data/spec/unit/resource/menu_spec.rb +0 -18
- data/spec/unit/resource/naming_spec.rb +0 -122
- data/spec/unit/resource/ordering_spec.rb +0 -38
- data/spec/unit/resource/page_presenters_spec.rb +0 -44
- data/spec/unit/resource/pagination_spec.rb +0 -38
- data/spec/unit/resource/routes_spec.rb +0 -125
- data/spec/unit/resource/scopes_spec.rb +0 -50
- data/spec/unit/resource/sidebars_spec.rb +0 -43
- data/spec/unit/resource_collection_spec.rb +0 -175
- data/spec/unit/resource_controller/data_access_spec.rb +0 -230
- data/spec/unit/resource_controller/decorators_spec.rb +0 -94
- data/spec/unit/resource_controller/sidebars_spec.rb +0 -37
- data/spec/unit/resource_controller_spec.rb +0 -274
- data/spec/unit/resource_registration_spec.rb +0 -61
- data/spec/unit/resource_spec.rb +0 -313
- data/spec/unit/routing_spec.rb +0 -213
- data/spec/unit/scope_spec.rb +0 -209
- data/spec/unit/settings_spec.rb +0 -118
- data/spec/unit/view_factory_spec.rb +0 -19
- data/spec/unit/view_helpers/breadcrumbs_spec.rb +0 -252
- data/spec/unit/view_helpers/display_helper_spec.rb +0 -195
- data/spec/unit/view_helpers/download_format_links_helper_spec.rb +0 -39
- data/spec/unit/view_helpers/fields_for_spec.rb +0 -50
- data/spec/unit/view_helpers/flash_helper_spec.rb +0 -25
- data/spec/unit/view_helpers/form_helper_spec.rb +0 -43
- data/spec/unit/view_helpers/method_or_proc_helper_spec.rb +0 -139
- data/spec/unit/views/components/attributes_table_spec.rb +0 -272
- data/spec/unit/views/components/batch_action_selector_spec.rb +0 -43
- data/spec/unit/views/components/blank_slate_spec.rb +0 -27
- data/spec/unit/views/components/columns_spec.rb +0 -189
- data/spec/unit/views/components/index_list_spec.rb +0 -49
- data/spec/unit/views/components/index_table_for_spec.rb +0 -127
- data/spec/unit/views/components/paginated_collection_spec.rb +0 -249
- data/spec/unit/views/components/panel_spec.rb +0 -58
- data/spec/unit/views/components/sidebar_section_spec.rb +0 -68
- data/spec/unit/views/components/site_title_spec.rb +0 -78
- data/spec/unit/views/components/status_tag_spec.rb +0 -249
- data/spec/unit/views/components/table_for_spec.rb +0 -436
- data/spec/unit/views/components/tabs_spec.rb +0 -39
- data/spec/unit/views/components/unsupported_browser_spec.rb +0 -41
- data/spec/unit/views/index_as_blog_spec.rb +0 -76
- data/spec/unit/views/pages/form_spec.rb +0 -54
- data/spec/unit/views/pages/index_spec.rb +0 -60
- data/spec/unit/views/pages/layout_spec.rb +0 -59
- data/spec/unit/views/pages/show_spec.rb +0 -32
- data/spec/unit/views/tabbed_navigation_spec.rb +0 -158
- data/tasks/docs.rake +0 -37
- data/tasks/lint.rake +0 -8
- data/tasks/local.rake +0 -25
- data/tasks/parallel_tests.rake +0 -66
- data/tasks/test.rake +0 -46
- data/tasks/yard.rake +0 -9
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
module ActiveAdminIntegrationSpecHelper
|
|
2
|
-
extend self
|
|
3
|
-
|
|
4
|
-
def load_defaults!
|
|
5
|
-
ActiveAdmin.unload!
|
|
6
|
-
ActiveAdmin.load!
|
|
7
|
-
ActiveAdmin.register(Category)
|
|
8
|
-
ActiveAdmin.register(User)
|
|
9
|
-
ActiveAdmin.register(Post){ belongs_to :user, optional: true }
|
|
10
|
-
reload_menus!
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
def reload_menus!
|
|
14
|
-
ActiveAdmin.application.namespaces.each{|n| n.reset_menu! }
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
# Sometimes we need to reload the routes within
|
|
18
|
-
# the application to test them out
|
|
19
|
-
def reload_routes!
|
|
20
|
-
Rails.application.reload_routes!
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
# Helper method to load resources and ensure that Active Admin is
|
|
24
|
-
# setup with the new configurations.
|
|
25
|
-
#
|
|
26
|
-
# Eg:
|
|
27
|
-
# load_resources do
|
|
28
|
-
# ActiveAdmin.register(Post)
|
|
29
|
-
# end
|
|
30
|
-
#
|
|
31
|
-
def load_resources
|
|
32
|
-
ActiveAdmin.unload!
|
|
33
|
-
yield
|
|
34
|
-
reload_menus!
|
|
35
|
-
reload_routes!
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
def arbre(assigns = {}, helpers = mock_action_view, &block)
|
|
39
|
-
Arbre::Context.new(assigns, helpers, &block)
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
def render_arbre_component(assigns = {}, helpers = mock_action_view, &block)
|
|
43
|
-
arbre(assigns, helpers, &block).children.first
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
# Returns a fake action view instance to use with our renderers
|
|
47
|
-
def mock_action_view(assigns = {})
|
|
48
|
-
controller = ActionView::TestCase::TestController.new
|
|
49
|
-
#this line needed because of rails bug https://github.com/rails/rails/commit/d8e98897b5703ac49bf0764da71a06d64ecda9b0
|
|
50
|
-
controller.params = ActionController::Parameters.new
|
|
51
|
-
MockActionView.new(ActionController::Base.view_paths, assigns, controller)
|
|
52
|
-
end
|
|
53
|
-
alias_method :action_view, :mock_action_view
|
|
54
|
-
|
|
55
|
-
# A mock action view to test view helpers
|
|
56
|
-
class MockActionView < ::ActionView::Base
|
|
57
|
-
include ActiveAdmin::ViewHelpers
|
|
58
|
-
include Rails.application.routes.url_helpers
|
|
59
|
-
end
|
|
60
|
-
|
|
61
|
-
def with_translation(translation)
|
|
62
|
-
# If no translations have been loaded, any later calls to `I18n.t` will
|
|
63
|
-
# cause the full translation hash to be loaded, possibly overwritting what
|
|
64
|
-
# we've loaded via `store_translations`. We use this hack to prevent that.
|
|
65
|
-
# @todo Might not be necessary anymore once
|
|
66
|
-
# https://github.com/svenfuchs/i18n/pull/353 lands.
|
|
67
|
-
I18n.backend.send(:init_translations)
|
|
68
|
-
I18n.backend.store_translations I18n.locale, translation
|
|
69
|
-
yield
|
|
70
|
-
ensure
|
|
71
|
-
I18n.backend.reload!
|
|
72
|
-
end
|
|
73
|
-
end
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
require "action_dispatch"
|
|
2
|
-
require "capybara/rails"
|
|
3
|
-
require "capybara/dsl"
|
|
4
|
-
|
|
5
|
-
module ActiveAdminRequestHelpers
|
|
6
|
-
extend ActiveSupport::Concern
|
|
7
|
-
|
|
8
|
-
include ActionDispatch::Integration::Runner
|
|
9
|
-
include RSpec::Rails::TestUnitAssertionAdapter
|
|
10
|
-
include ActionDispatch::Assertions
|
|
11
|
-
include Capybara::DSL
|
|
12
|
-
include RSpec::Matchers
|
|
13
|
-
|
|
14
|
-
def app
|
|
15
|
-
::Rails.application
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
def last_response
|
|
19
|
-
page
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
included do
|
|
23
|
-
before do
|
|
24
|
-
@router = ::Rails.application.routes
|
|
25
|
-
end
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
def with_temp_application(application)
|
|
29
|
-
original_application = ActiveAdmin.application
|
|
30
|
-
ActiveAdmin.application = application
|
|
31
|
-
load_defaults!
|
|
32
|
-
reload_routes!
|
|
33
|
-
|
|
34
|
-
yield
|
|
35
|
-
|
|
36
|
-
ensure
|
|
37
|
-
ActiveAdmin.application = original_application
|
|
38
|
-
end
|
|
39
|
-
end
|
data/spec/support/jslint.yml
DELETED
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
# ------------ rake task options ------------
|
|
2
|
-
|
|
3
|
-
# JS files to check by default, if no parameters are passed to rake jslint
|
|
4
|
-
# (you may want to limit this only to your own scripts and exclude any external scripts and frameworks)
|
|
5
|
-
|
|
6
|
-
# this can be overridden by adding 'paths' and 'exclude_paths' parameter to rake command:
|
|
7
|
-
# rake jslint paths=path1,path2,... exclude_paths=library1,library2,...
|
|
8
|
-
|
|
9
|
-
paths:
|
|
10
|
-
- app/assets/javascripts/active_admin/**/*.js
|
|
11
|
-
|
|
12
|
-
exclude_paths:
|
|
13
|
-
- app/assets/javascripts/active_admin/vendor.js
|
|
14
|
-
|
|
15
|
-
# ------------ jslint options ------------
|
|
16
|
-
# see http://www.jslint.com/lint.html#options for more detailed explanations
|
|
17
|
-
|
|
18
|
-
# "enforce" type options (true means potentially more warnings)
|
|
19
|
-
|
|
20
|
-
adsafe: false # true if ADsafe rules should be enforced. See http://www.ADsafe.org/
|
|
21
|
-
bitwise: true # true if bitwise operators should not be allowed
|
|
22
|
-
newcap: true # true if Initial Caps must be used with constructor functions
|
|
23
|
-
eqeqeq: false # true if === should be required (for ALL equality comparisons)
|
|
24
|
-
immed: false # true if immediate function invocations must be wrapped in parens
|
|
25
|
-
nomen: false # true if initial or trailing underscore in identifiers should be forbidden
|
|
26
|
-
onevar: false # true if only one var statement per function should be allowed
|
|
27
|
-
plusplus: false # true if ++ and -- should not be allowed
|
|
28
|
-
regexp: false # true if . and [^...] should not be allowed in RegExp literals
|
|
29
|
-
safe: false # true if the safe subset rules are enforced (used by ADsafe)
|
|
30
|
-
strict: false # true if the ES5 "use strict"; pragma is required
|
|
31
|
-
undef: false # true if variables must be declared before used
|
|
32
|
-
white: false # true if strict whitespace rules apply (see also 'indent' option)
|
|
33
|
-
|
|
34
|
-
# "allow" type options (false means potentially more warnings)
|
|
35
|
-
|
|
36
|
-
cap: false # true if upper case HTML should be allowed
|
|
37
|
-
css: true # true if CSS workarounds should be tolerated
|
|
38
|
-
debug: false # true if debugger statements should be allowed (set to false before going into production)
|
|
39
|
-
es5: false # true if ECMAScript 5 syntax should be allowed
|
|
40
|
-
evil: false # true if eval should be allowed
|
|
41
|
-
forin: true # true if unfiltered 'for in' statements should be allowed
|
|
42
|
-
fragment: true # true if HTML fragments should be allowed
|
|
43
|
-
laxbreak: false # true if statement breaks should not be checked
|
|
44
|
-
on: false # true if HTML event handlers (e.g. onclick="...") should be allowed
|
|
45
|
-
sub: false # true if subscript notation may be used for expressions better expressed in dot notation
|
|
46
|
-
|
|
47
|
-
# other options
|
|
48
|
-
|
|
49
|
-
maxlen: 300 # Maximum line length
|
|
50
|
-
indent: 2 # Number of spaces that should be used for indentation - used only if 'white' option is set
|
|
51
|
-
maxerr: 50 # The maximum number of warnings reported (per file)
|
|
52
|
-
passfail: false # true if the scan should stop on first error (per file)
|
|
53
|
-
# following are relevant only if undef = true
|
|
54
|
-
predef: '' # Names of predefined global variables - comma-separated string or a YAML array
|
|
55
|
-
browser: true # true if the standard browser globals should be predefined
|
|
56
|
-
rhino: false # true if the Rhino environment globals should be predefined
|
|
57
|
-
windows: false # true if Windows-specific globals should be predefined
|
|
58
|
-
widget: false # true if the Yahoo Widgets globals should be predefined
|
|
59
|
-
devel: true # true if functions like alert, confirm, console, prompt etc. are predefined
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
# ------------ jslint_on_rails custom lint options (switch to true to disable some annoying warnings) ------------
|
|
63
|
-
|
|
64
|
-
# ignores "missing semicolon" warning at the end of a function; this lets you write one-liners
|
|
65
|
-
# like: x.map(function(i) { return i + 1 }); without having to put a second semicolon inside the function
|
|
66
|
-
lastsemic: false
|
|
67
|
-
|
|
68
|
-
# allows you to use the 'new' expression as a statement (without assignment)
|
|
69
|
-
# so you can call e.g. new Ajax.Request(...), new Effect.Highlight(...) without assigning to a dummy variable
|
|
70
|
-
newstat: false
|
|
71
|
-
|
|
72
|
-
# ignores the "Expected an assignment or function call and instead saw an expression" warning,
|
|
73
|
-
# if the expression contains a proper statement and makes sense; this lets you write things like:
|
|
74
|
-
# element && element.show();
|
|
75
|
-
# valid || other || lastChance || alert('OMG!');
|
|
76
|
-
# selected ? show() : hide();
|
|
77
|
-
# although these will still cause a warning:
|
|
78
|
-
# element && link;
|
|
79
|
-
# selected ? 5 : 10;
|
|
80
|
-
statinexp: false
|
|
@@ -1,182 +0,0 @@
|
|
|
1
|
-
# Rails template to build the sample app for specs
|
|
2
|
-
|
|
3
|
-
copy_file File.expand_path('../templates/manifest.js', __FILE__), 'app/assets/config/manifest.js', force: true
|
|
4
|
-
|
|
5
|
-
create_file 'app/assets/stylesheets/some-random-css.css'
|
|
6
|
-
create_file 'app/assets/javascripts/some-random-js.js'
|
|
7
|
-
create_file 'app/assets/images/a/favicon.ico'
|
|
8
|
-
|
|
9
|
-
generate :model, 'post title:string body:text published_date:date author_id:integer ' +
|
|
10
|
-
'position:integer custom_category_id:integer starred:boolean foo_id:integer'
|
|
11
|
-
create_file 'app/models/post.rb', <<-RUBY.strip_heredoc, force: true
|
|
12
|
-
class Post < ActiveRecord::Base
|
|
13
|
-
belongs_to :category, foreign_key: :custom_category_id
|
|
14
|
-
belongs_to :author, class_name: 'User'
|
|
15
|
-
has_many :taggings
|
|
16
|
-
accepts_nested_attributes_for :author
|
|
17
|
-
accepts_nested_attributes_for :taggings
|
|
18
|
-
|
|
19
|
-
ransacker :custom_title_searcher do |parent|
|
|
20
|
-
parent.table[:title]
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
ransacker :custom_created_at_searcher do |parent|
|
|
24
|
-
parent.table[:created_at]
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
ransacker :custom_searcher_numeric, type: :numeric do
|
|
28
|
-
# nothing to see here
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
if defined? ProtectedAttributes
|
|
32
|
-
attr_accessible :id, :title, :body, :starred, :author, :position, :published_date, :author_id, :custom_category_id, :category
|
|
33
|
-
end
|
|
34
|
-
end
|
|
35
|
-
RUBY
|
|
36
|
-
copy_file File.expand_path('../templates/post_decorator.rb', __FILE__), 'app/models/post_decorator.rb'
|
|
37
|
-
|
|
38
|
-
generate :model, 'blog/post title:string body:text published_date:date author_id:integer ' +
|
|
39
|
-
'position:integer custom_category_id:integer starred:boolean foo_id:integer'
|
|
40
|
-
create_file 'app/models/blog/post.rb', <<-RUBY.strip_heredoc, force: true
|
|
41
|
-
class Blog::Post < ActiveRecord::Base
|
|
42
|
-
belongs_to :category, foreign_key: :custom_category_id
|
|
43
|
-
belongs_to :author, class_name: 'User'
|
|
44
|
-
has_many :taggings
|
|
45
|
-
accepts_nested_attributes_for :author
|
|
46
|
-
accepts_nested_attributes_for :taggings
|
|
47
|
-
|
|
48
|
-
if defined? ProtectedAttributes
|
|
49
|
-
attr_accessible :title, :body, :starred, :author, :position, :published_date, :author_id, :custom_category_id, :category
|
|
50
|
-
end
|
|
51
|
-
end
|
|
52
|
-
RUBY
|
|
53
|
-
|
|
54
|
-
generate :model, 'profile user_id:integer bio:text'
|
|
55
|
-
|
|
56
|
-
generate :model, 'user type:string first_name:string last_name:string username:string age:integer'
|
|
57
|
-
create_file 'app/models/user.rb', <<-RUBY.strip_heredoc, force: true
|
|
58
|
-
class User < ActiveRecord::Base
|
|
59
|
-
has_many :posts, foreign_key: 'author_id'
|
|
60
|
-
has_one :profile
|
|
61
|
-
accepts_nested_attributes_for :profile, allow_destroy: true
|
|
62
|
-
|
|
63
|
-
ransacker :age_in_five_years, type: :numeric, formatter: proc { |v| v.to_i - 5 } do |parent|
|
|
64
|
-
parent.table[:age]
|
|
65
|
-
end
|
|
66
|
-
|
|
67
|
-
if defined? ProtectedAttributes
|
|
68
|
-
attr_accessible :first_name, :last_name, :username, :age
|
|
69
|
-
end
|
|
70
|
-
|
|
71
|
-
def display_name
|
|
72
|
-
"\#{first_name} \#{last_name}"
|
|
73
|
-
end
|
|
74
|
-
end
|
|
75
|
-
RUBY
|
|
76
|
-
|
|
77
|
-
create_file 'app/models/profile.rb', <<-RUBY.strip_heredoc, force: true
|
|
78
|
-
class Profile < ActiveRecord::Base
|
|
79
|
-
belongs_to :user
|
|
80
|
-
|
|
81
|
-
if defined? ProtectedAttributes
|
|
82
|
-
attr_accessible :bio
|
|
83
|
-
end
|
|
84
|
-
end
|
|
85
|
-
RUBY
|
|
86
|
-
|
|
87
|
-
generate :model, 'publisher --migration=false --parent=User'
|
|
88
|
-
|
|
89
|
-
generate :model, 'category name:string description:text'
|
|
90
|
-
create_file 'app/models/category.rb', <<-RUBY.strip_heredoc, force: true
|
|
91
|
-
class Category < ActiveRecord::Base
|
|
92
|
-
has_many :posts, foreign_key: :custom_category_id
|
|
93
|
-
has_many :authors, through: :posts
|
|
94
|
-
accepts_nested_attributes_for :posts
|
|
95
|
-
|
|
96
|
-
if defined? ProtectedAttributes
|
|
97
|
-
attr_accessible :name, :description
|
|
98
|
-
end
|
|
99
|
-
end
|
|
100
|
-
RUBY
|
|
101
|
-
|
|
102
|
-
generate :model, 'store name:string'
|
|
103
|
-
|
|
104
|
-
# Generate a model with string ids
|
|
105
|
-
generate :model, 'tag name:string'
|
|
106
|
-
gsub_file Dir['db/migrate/*_create_tags.rb'].first, /\:tags do .*/, <<-RUBY.strip_heredoc
|
|
107
|
-
:tags, id: false, primary_key: :id do |t|
|
|
108
|
-
t.string :id
|
|
109
|
-
RUBY
|
|
110
|
-
create_file 'app/models/tag.rb', <<-RUBY.strip_heredoc, force: true
|
|
111
|
-
class Tag < ActiveRecord::Base
|
|
112
|
-
self.primary_key = :id
|
|
113
|
-
before_create :set_id
|
|
114
|
-
|
|
115
|
-
private
|
|
116
|
-
def set_id
|
|
117
|
-
self.id = SecureRandom.uuid
|
|
118
|
-
end
|
|
119
|
-
|
|
120
|
-
if defined? ProtectedAttributes
|
|
121
|
-
attr_accessible :name
|
|
122
|
-
end
|
|
123
|
-
end
|
|
124
|
-
RUBY
|
|
125
|
-
|
|
126
|
-
generate :model, 'tagging post_id:integer tag_id:integer'
|
|
127
|
-
create_file 'app/models/tagging.rb', <<-RUBY.strip_heredoc, force: true
|
|
128
|
-
class Tagging < ActiveRecord::Base
|
|
129
|
-
belongs_to :post
|
|
130
|
-
belongs_to :tag
|
|
131
|
-
end
|
|
132
|
-
RUBY
|
|
133
|
-
|
|
134
|
-
gsub_file 'config/environments/test.rb', / config.cache_classes = true/, <<-RUBY
|
|
135
|
-
|
|
136
|
-
config.cache_classes = !ENV['CLASS_RELOADING']
|
|
137
|
-
config.action_mailer.default_url_options = {host: 'example.com'}
|
|
138
|
-
config.assets.precompile += %w( some-random-css.css some-random-js.js a/favicon.ico )
|
|
139
|
-
|
|
140
|
-
config.active_record.maintain_test_schema = false
|
|
141
|
-
|
|
142
|
-
if Rails::VERSION::MAJOR >= 5
|
|
143
|
-
config.active_record.belongs_to_required_by_default = false
|
|
144
|
-
end
|
|
145
|
-
|
|
146
|
-
RUBY
|
|
147
|
-
|
|
148
|
-
# Add our local Active Admin to the application
|
|
149
|
-
gem 'activeadmin', path: '../..'
|
|
150
|
-
gem 'devise'
|
|
151
|
-
|
|
152
|
-
run 'bundle install'
|
|
153
|
-
|
|
154
|
-
# Setup Active Admin
|
|
155
|
-
generate 'active_admin:install'
|
|
156
|
-
|
|
157
|
-
# Force strong parameters to raise exceptions
|
|
158
|
-
inject_into_file 'config/application.rb', <<-RUBY, after: 'class Application < Rails::Application'
|
|
159
|
-
|
|
160
|
-
config.action_controller.action_on_unpermitted_parameters = :raise
|
|
161
|
-
|
|
162
|
-
RUBY
|
|
163
|
-
|
|
164
|
-
# Add some translations
|
|
165
|
-
append_file 'config/locales/en.yml', File.read(File.expand_path('../templates/en.yml', __FILE__))
|
|
166
|
-
|
|
167
|
-
# Add predefined admin resources
|
|
168
|
-
directory File.expand_path('../templates/admin', __FILE__), 'app/admin'
|
|
169
|
-
|
|
170
|
-
# Add predefined policies
|
|
171
|
-
directory File.expand_path('../templates/policies', __FILE__), 'app/policies'
|
|
172
|
-
|
|
173
|
-
if ENV['RAILS_ENV'] != 'test'
|
|
174
|
-
inject_into_file 'config/routes.rb', "\n root to: redirect('admin')", after: /.*routes.draw do/
|
|
175
|
-
end
|
|
176
|
-
|
|
177
|
-
rake "db:drop db:create db:migrate", env: 'development'
|
|
178
|
-
rake "db:drop db:create db:migrate", env: 'test'
|
|
179
|
-
|
|
180
|
-
if ENV['INSTALL_PARALLEL']
|
|
181
|
-
inject_into_file 'config/database.yml', "<%= ENV['TEST_ENV_NUMBER'] %>", after: 'test.sqlite3'
|
|
182
|
-
end
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
apply File.expand_path("../rails_template.rb", __FILE__)
|
|
2
|
-
|
|
3
|
-
%w{Post User Category}.each do |type|
|
|
4
|
-
generate :'active_admin:resource', type
|
|
5
|
-
end
|
|
6
|
-
|
|
7
|
-
inject_into_file 'app/admin/category.rb', <<-RUBY, after: "ActiveAdmin.register Category do\n"
|
|
8
|
-
|
|
9
|
-
permit_params [:name, :description]
|
|
10
|
-
RUBY
|
|
11
|
-
|
|
12
|
-
inject_into_file 'app/admin/user.rb', <<-RUBY, after: "ActiveAdmin.register User do\n"
|
|
13
|
-
|
|
14
|
-
permit_params [:first_name, :last_name, :username, :age]
|
|
15
|
-
RUBY
|
|
16
|
-
|
|
17
|
-
inject_into_file 'app/admin/post.rb', <<-RUBY, after: "ActiveAdmin.register Post do\n"
|
|
18
|
-
|
|
19
|
-
permit_params [:custom_category_id, :author_id, :title, :body, :published_date, :position, :starred]
|
|
20
|
-
|
|
21
|
-
scope :all, default: true
|
|
22
|
-
|
|
23
|
-
scope :drafts do |posts|
|
|
24
|
-
posts.where(["published_date IS NULL"])
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
scope :scheduled do |posts|
|
|
28
|
-
posts.where(["posts.published_date IS NOT NULL AND posts.published_date > ?", Time.now.utc])
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
scope :published do |posts|
|
|
32
|
-
posts.where(["posts.published_date IS NOT NULL AND posts.published_date < ?", Time.now.utc])
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
scope :my_posts do |posts|
|
|
36
|
-
posts.where(author_id: current_admin_user.id)
|
|
37
|
-
end
|
|
38
|
-
RUBY
|
|
39
|
-
|
|
40
|
-
append_file "db/seeds.rb", "\n\n" + <<-RUBY.strip_heredoc
|
|
41
|
-
users = ["Jimi Hendrix", "Jimmy Page", "Yngwie Malmsteen", "Eric Clapton", "Kirk Hammett"].collect do |name|
|
|
42
|
-
first, last = name.split(" ")
|
|
43
|
-
User.create! first_name: first,
|
|
44
|
-
last_name: last,
|
|
45
|
-
username: [first,last].join('-').downcase,
|
|
46
|
-
age: rand(80)
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
categories = ["Rock", "Pop Rock", "Alt-Country", "Blues", "Dub-Step"].collect do |name|
|
|
50
|
-
Category.create! name: name
|
|
51
|
-
end
|
|
52
|
-
|
|
53
|
-
published_at_values = [Time.now.utc - 5.days, Time.now.utc - 1.day, nil, Time.now.utc + 3.days]
|
|
54
|
-
|
|
55
|
-
1_000.times do |i|
|
|
56
|
-
user = users[i % users.size]
|
|
57
|
-
cat = categories[i % categories.size]
|
|
58
|
-
published = published_at_values[i % published_at_values.size]
|
|
59
|
-
Post.create title: "Blog Post \#{i}",
|
|
60
|
-
body: "Blog post \#{i} is written by \#{user.username} about \#{cat.name}",
|
|
61
|
-
category: cat,
|
|
62
|
-
published_date: published,
|
|
63
|
-
author: user,
|
|
64
|
-
starred: true
|
|
65
|
-
end
|
|
66
|
-
RUBY
|
|
67
|
-
|
|
68
|
-
rake 'db:seed'
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
class ApplicationPolicy
|
|
2
|
-
attr_reader :user, :record
|
|
3
|
-
|
|
4
|
-
def initialize(user, record)
|
|
5
|
-
@user = user
|
|
6
|
-
@record = record
|
|
7
|
-
end
|
|
8
|
-
|
|
9
|
-
def index?
|
|
10
|
-
true
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
def show?
|
|
14
|
-
scope.where(id: record.id).exists?
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
def new?
|
|
18
|
-
create?
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
def create?
|
|
22
|
-
true
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
def edit?
|
|
26
|
-
update?
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
def update?
|
|
30
|
-
true
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
def destroy?
|
|
34
|
-
true
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
def destroy_all?
|
|
38
|
-
true
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
def scope
|
|
43
|
-
Pundit.policy_scope!(user, record.class)
|
|
44
|
-
end
|
|
45
|
-
end
|