rails_admin 0.6.0 → 0.6.1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of rails_admin might be problematic. Click here for more details.
- checksums.yaml +7 -0
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/Gemfile +22 -10
- data/README.md +32 -92
- data/Rakefile +13 -2
- data/app/assets/stylesheets/rails_admin/aristo/jquery-ui-1.8.7.custom.scss +3 -3
- data/app/assets/stylesheets/rails_admin/base/font-awesome-4-compability.scss +153 -58
- data/app/controllers/rails_admin/application_controller.rb +12 -12
- data/app/controllers/rails_admin/main_controller.rb +30 -35
- data/app/helpers/rails_admin/application_helper.rb +37 -40
- data/app/helpers/rails_admin/form_builder.rb +26 -25
- data/app/helpers/rails_admin/main_helper.rb +10 -9
- data/app/views/rails_admin/main/_dashboard_history.html.haml +5 -4
- data/app/views/rails_admin/main/index.html.haml +7 -0
- data/config/initializers/active_record_extensions.rb +3 -3
- data/config/initializers/haml.rb +1 -1
- data/config/routes.rb +7 -7
- data/lib/generators/rails_admin/install_generator.rb +5 -84
- data/lib/generators/rails_admin/templates/initializer.erb +29 -95
- data/lib/generators/rails_admin/utils.rb +3 -14
- data/lib/rails_admin.rb +1 -1
- data/lib/rails_admin/abstract_model.rb +30 -28
- data/lib/rails_admin/adapters/active_record.rb +36 -36
- data/lib/rails_admin/adapters/active_record/abstract_object.rb +2 -2
- data/lib/rails_admin/adapters/mongoid.rb +102 -108
- data/lib/rails_admin/adapters/mongoid/abstract_object.rb +1 -1
- data/lib/rails_admin/adapters/mongoid/extension.rb +5 -5
- data/lib/rails_admin/bootstrap-sass.rb +7 -8
- data/lib/rails_admin/bootstrap-sass/compass_functions.rb +2 -1
- data/lib/rails_admin/config.rb +24 -29
- data/lib/rails_admin/config/actions.rb +12 -15
- data/lib/rails_admin/config/actions/base.rb +8 -8
- data/lib/rails_admin/config/actions/bulk_delete.rb +3 -3
- data/lib/rails_admin/config/actions/dashboard.rb +5 -5
- data/lib/rails_admin/config/actions/delete.rb +4 -4
- data/lib/rails_admin/config/actions/edit.rb +3 -3
- data/lib/rails_admin/config/actions/export.rb +1 -1
- data/lib/rails_admin/config/actions/history_index.rb +1 -1
- data/lib/rails_admin/config/actions/history_show.rb +1 -1
- data/lib/rails_admin/config/actions/index.rb +20 -11
- data/lib/rails_admin/config/actions/new.rb +3 -3
- data/lib/rails_admin/config/actions/show.rb +2 -2
- data/lib/rails_admin/config/actions/show_in_app.rb +1 -1
- data/lib/rails_admin/config/configurable.rb +27 -27
- data/lib/rails_admin/config/fields.rb +7 -7
- data/lib/rails_admin/config/fields/association.rb +6 -7
- data/lib/rails_admin/config/fields/base.rb +32 -30
- data/lib/rails_admin/config/fields/factories/association.rb +9 -10
- data/lib/rails_admin/config/fields/factories/carrierwave.rb +3 -9
- data/lib/rails_admin/config/fields/factories/devise.rb +2 -4
- data/lib/rails_admin/config/fields/factories/dragonfly.rb +3 -5
- data/lib/rails_admin/config/fields/factories/enum.rb +1 -1
- data/lib/rails_admin/config/fields/factories/paperclip.rb +3 -3
- data/lib/rails_admin/config/fields/group.rb +6 -8
- data/lib/rails_admin/config/fields/types.rb +2 -2
- data/lib/rails_admin/config/fields/types/belongs_to_association.rb +4 -4
- data/lib/rails_admin/config/fields/types/boolean.rb +2 -2
- data/lib/rails_admin/config/fields/types/bson_object_id.rb +7 -12
- data/lib/rails_admin/config/fields/types/carrierwave.rb +1 -1
- data/lib/rails_admin/config/fields/types/ck_editor.rb +3 -3
- data/lib/rails_admin/config/fields/types/code_mirror.rb +9 -9
- data/lib/rails_admin/config/fields/types/color.rb +2 -2
- data/lib/rails_admin/config/fields/types/date.rb +2 -2
- data/lib/rails_admin/config/fields/types/datetime.rb +52 -54
- data/lib/rails_admin/config/fields/types/decimal.rb +1 -1
- data/lib/rails_admin/config/fields/types/dragonfly.rb +2 -2
- data/lib/rails_admin/config/fields/types/enum.rb +3 -3
- data/lib/rails_admin/config/fields/types/file_upload.rb +5 -5
- data/lib/rails_admin/config/fields/types/float.rb +1 -1
- data/lib/rails_admin/config/fields/types/has_and_belongs_to_many_association.rb +1 -1
- data/lib/rails_admin/config/fields/types/has_many_association.rb +1 -1
- data/lib/rails_admin/config/fields/types/has_one_association.rb +3 -4
- data/lib/rails_admin/config/fields/types/hidden.rb +1 -1
- data/lib/rails_admin/config/fields/types/integer.rb +1 -1
- data/lib/rails_admin/config/fields/types/paperclip.rb +2 -2
- data/lib/rails_admin/config/fields/types/password.rb +4 -4
- data/lib/rails_admin/config/fields/types/polymorphic_association.rb +8 -11
- data/lib/rails_admin/config/fields/types/serialized.rb +1 -1
- data/lib/rails_admin/config/fields/types/string.rb +5 -6
- data/lib/rails_admin/config/fields/types/text.rb +6 -6
- data/lib/rails_admin/config/fields/types/time.rb +4 -4
- data/lib/rails_admin/config/fields/types/timestamp.rb +1 -1
- data/lib/rails_admin/config/fields/types/wysihtml5.rb +1 -2
- data/lib/rails_admin/config/has_fields.rb +24 -24
- data/lib/rails_admin/config/has_groups.rb +5 -3
- data/lib/rails_admin/config/hideable.rb +2 -2
- data/lib/rails_admin/config/lazy_model.rb +1 -1
- data/lib/rails_admin/config/model.rb +6 -7
- data/lib/rails_admin/config/proxyable/proxy.rb +4 -6
- data/lib/rails_admin/config/sections.rb +1 -3
- data/lib/rails_admin/config/sections/base.rb +1 -1
- data/lib/rails_admin/config/sections/list.rb +4 -0
- data/lib/rails_admin/engine.rb +3 -3
- data/lib/rails_admin/extension.rb +3 -3
- data/lib/rails_admin/extensions/cancan.rb +3 -3
- data/lib/rails_admin/extensions/cancan/authorization_adapter.rb +1 -1
- data/lib/rails_admin/extensions/history.rb +3 -3
- data/lib/rails_admin/extensions/history/auditing_adapter.rb +1 -1
- data/lib/rails_admin/extensions/history/history.rb +12 -11
- data/lib/rails_admin/extensions/paper_trail.rb +3 -3
- data/lib/rails_admin/extensions/paper_trail/auditing_adapter.rb +30 -19
- data/lib/rails_admin/i18n_support.rb +11 -15
- data/lib/rails_admin/support/core_extensions.rb +4 -5
- data/lib/rails_admin/support/csv_converter.rb +21 -23
- data/lib/rails_admin/version.rb +4 -7
- data/lib/rails_admin/version.rbc +582 -0
- data/lib/tasks/rails_admin.rake +0 -12
- data/spec/controllers/rails_admin/application_controller_spec.rb +12 -12
- data/spec/controllers/rails_admin/main_controller_spec.rb +127 -131
- data/spec/dummy_app/Gemfile +12 -6
- data/spec/dummy_app/Gemfile.lock +276 -47
- data/spec/dummy_app/app/active_record/abstract.rb +0 -2
- data/spec/dummy_app/app/active_record/another_field_test.rb +1 -1
- data/spec/dummy_app/app/active_record/ball.rb +2 -2
- data/spec/dummy_app/app/active_record/carrierwave_uploader.rb +1 -3
- data/spec/dummy_app/app/active_record/category.rb +1 -1
- data/spec/dummy_app/app/active_record/cms/basic_page.rb +1 -1
- data/spec/dummy_app/app/active_record/comment.rb +1 -1
- data/spec/dummy_app/app/active_record/comment/confirmed.rb +1 -1
- data/spec/dummy_app/app/active_record/division.rb +2 -2
- data/spec/dummy_app/app/active_record/draft.rb +5 -5
- data/spec/dummy_app/app/active_record/field_test.rb +6 -6
- data/spec/dummy_app/app/active_record/image.rb +1 -1
- data/spec/dummy_app/app/active_record/league.rb +3 -3
- data/spec/dummy_app/app/active_record/nested_field_test.rb +4 -4
- data/spec/dummy_app/app/active_record/player.rb +7 -7
- data/spec/dummy_app/app/active_record/team.rb +12 -9
- data/spec/dummy_app/app/active_record/user.rb +2 -2
- data/spec/dummy_app/app/mongoid/another_field_test.rb +1 -1
- data/spec/dummy_app/app/mongoid/ball.rb +3 -3
- data/spec/dummy_app/app/mongoid/carrierwave_uploader.rb +1 -3
- data/spec/dummy_app/app/mongoid/category.rb +1 -1
- data/spec/dummy_app/app/mongoid/cms/basic_page.rb +3 -3
- data/spec/dummy_app/app/mongoid/comment.rb +2 -2
- data/spec/dummy_app/app/mongoid/comment/confirmed.rb +1 -1
- data/spec/dummy_app/app/mongoid/division.rb +2 -2
- data/spec/dummy_app/app/mongoid/draft.rb +11 -11
- data/spec/dummy_app/app/mongoid/embed.rb +1 -1
- data/spec/dummy_app/app/mongoid/fan.rb +1 -1
- data/spec/dummy_app/app/mongoid/field_test.rb +35 -35
- data/spec/dummy_app/app/mongoid/image.rb +1 -1
- data/spec/dummy_app/app/mongoid/league.rb +3 -3
- data/spec/dummy_app/app/mongoid/nested_field_test.rb +5 -5
- data/spec/dummy_app/app/mongoid/player.rb +17 -17
- data/spec/dummy_app/app/mongoid/team.rb +28 -24
- data/spec/dummy_app/app/mongoid/user.rb +13 -13
- data/spec/dummy_app/config/application.rb +5 -5
- data/spec/dummy_app/config/boot.rb +1 -3
- data/spec/dummy_app/config/environments/test.rb +1 -1
- data/spec/dummy_app/config/initializers/devise.rb +2 -2
- data/spec/dummy_app/config/initializers/session_patch.rb +1 -2
- data/spec/dummy_app/config/initializers/session_store.rb +1 -1
- data/spec/dummy_app/config/initializers/wrap_parameters.rb +1 -1
- data/spec/dummy_app/config/routes.rb +2 -2
- data/spec/dummy_app/db/development.sqlite3 +0 -0
- data/spec/dummy_app/db/migrate/00000000000001_create_divisions_migration.rb +1 -1
- data/spec/dummy_app/db/migrate/00000000000002_create_drafts_migration.rb +1 -1
- data/spec/dummy_app/db/migrate/00000000000003_create_leagues_migration.rb +1 -1
- data/spec/dummy_app/db/migrate/00000000000004_create_players_migration.rb +5 -5
- data/spec/dummy_app/db/migrate/00000000000005_create_teams_migration.rb +5 -5
- data/spec/dummy_app/db/migrate/00000000000006_devise_create_users.rb +5 -5
- data/spec/dummy_app/db/migrate/00000000000007_create_histories_table.rb +7 -7
- data/spec/dummy_app/db/migrate/00000000000008_create_fans_migration.rb +1 -1
- data/spec/dummy_app/db/migrate/00000000000009_create_fans_teams_migration.rb +1 -1
- data/spec/dummy_app/db/migrate/00000000000010_add_revenue_to_team_migration.rb +1 -1
- data/spec/dummy_app/db/migrate/00000000000011_add_suspended_to_player_migration.rb +1 -1
- data/spec/dummy_app/db/migrate/00000000000012_add_avatar_columns_to_user.rb +0 -1
- data/spec/dummy_app/db/migrate/20101223222233_create_rel_tests.rb +1 -1
- data/spec/dummy_app/db/migrate/20110714095433_create_balls.rb +1 -1
- data/spec/dummy_app/db/migrate/20110901131551_change_division_primary_key.rb +3 -3
- data/spec/dummy_app/db/migrate/20110901150912_set_primary_key_not_null_for_divisions.rb +4 -5
- data/spec/dummy_app/db/migrate/20120319041705_drop_rel_tests.rb +1 -1
- data/spec/dummy_app/db/schema.rb +197 -0
- data/spec/dummy_app/db/seeds.rb +9 -9
- data/spec/dummy_app/db/test.sqlite3 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{46504e29e25493e203f6e081863c6f722ba34fce → 0e28199903adc18ba5ed7000a3cfbe6be324f02c}/mixins.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{46504e29e25493e203f6e081863c6f722ba34fce → 0e28199903adc18ba5ed7000a3cfbe6be324f02c}/theming.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{46504e29e25493e203f6e081863c6f722ba34fce → 0e28199903adc18ba5ed7000a3cfbe6be324f02c}/variables.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/66bb15d356a3ae9531c123a31be7776c5874ac21/font-awesome.css.erbc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/7a85589b70ac6319b07ac05552a98bba4b834a39/font-awesome-4-compability.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{245c4be20f01db9121b0992275b77e082f23d7df → 7a85589b70ac6319b07ac05552a98bba4b834a39}/mixins.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{245c4be20f01db9121b0992275b77e082f23d7df → 7a85589b70ac6319b07ac05552a98bba4b834a39}/theming.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{245c4be20f01db9121b0992275b77e082f23d7df → 7a85589b70ac6319b07ac05552a98bba4b834a39}/variables.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{ebde8a6cd2923d8c583ca746dd952b4fe080c2a1 → 92899d6fb50bc282d329302d61a5c00fa959d762}/jquery-ui-1.8.7.custom.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c7aba53479ebd90acc5f6ba8fb7463fa43b1ae1c → 977fdcd1d57ae400c0a80cee764210478c5780f6}/jquery.colorpicker.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c7aba53479ebd90acc5f6ba8fb7463fa43b1ae1c → 977fdcd1d57ae400c0a80cee764210478c5780f6}/jquery.ui.timepicker.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c7aba53479ebd90acc5f6ba8fb7463fa43b1ae1c → 977fdcd1d57ae400c0a80cee764210478c5780f6}/ra.calendar-additions.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c7aba53479ebd90acc5f6ba8fb7463fa43b1ae1c → 977fdcd1d57ae400c0a80cee764210478c5780f6}/ra.filtering-multiselect.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c7aba53479ebd90acc5f6ba8fb7463fa43b1ae1c → 977fdcd1d57ae400c0a80cee764210478c5780f6}/ra.widgets.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c7aba53479ebd90acc5f6ba8fb7463fa43b1ae1c → 977fdcd1d57ae400c0a80cee764210478c5780f6}/rails_admin.scss.erbc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{a65ba3e01aefad1ad59b6317cbb14d0560ca012b → 9a24497045e3375a0450bb40eb1ffe1eb56bc709}/mixins.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{a65ba3e01aefad1ad59b6317cbb14d0560ca012b → 9a24497045e3375a0450bb40eb1ffe1eb56bc709}/theming.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{a65ba3e01aefad1ad59b6317cbb14d0560ca012b → 9a24497045e3375a0450bb40eb1ffe1eb56bc709}/variables.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_accordion.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_alerts.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_breadcrumbs.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_button-groups.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_buttons.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_carousel.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_close.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_component-animations.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_dropdowns.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_forms.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_grid.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_hero-unit.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_labels-badges.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_layouts.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_mixins.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_modals.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_navbar.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_navs.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_pager.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_pagination.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_popovers.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_progress-bars.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_reset.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_scaffolding.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_tables.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_thumbnails.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_tooltip.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_type.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_utilities.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_variables.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_wells.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{d1c2c3a2df8517e019edf30db44566b4 → 021e87bfe65a024a849db3c621f39607} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/02da6cc33425a1387089c6030cf514db +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{4863c57f6c9bbf8cf392ba250f7e8e99 → 04880af615c5763f7808495d1676565b} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/0599094d22f449fecdbc1ae48e3d901e +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{5c75555dac51f16619f3630fc4ce7811 → 06065efe9216af455ca5ae63b780842a} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{fb0757f81f5726edb2a3fecb73c190ac → 07f7c76677c34256252f23976ce6c2a1} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/0843377cd450cc8688003ba317723fae +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/0a4355e8cc379590a5aaf8542419d306 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/0b35ad462ccf12ca91cff9c51164c5a0 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/0f04a8cf5d989e555542213f5b5db676 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{129530d9cbfe95daa40fefb31b541d13 → 1252be603446e6064e85dae1533eaa59} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/12b2ef118f691f66646eac032f7535d3 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/136f479ebd2eedeb83550b4a882538e5 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/1381657fbbc4cc175ae0406c8cbdd852 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/161f8f439887fb5926b02a917b2fab29 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/1b26b92ae53bdc1e9f8a5afa7b72b381 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/1befe9a4bb03dc468cd7f5e7148a6a52 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/1d12409a91dcc8c8a4965c52a7f6b099 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/1db0d2a002e581a113a91a6e93e5d4e7 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{10c9ca24ee38f89898883cf73e22a947 → 1dd74057b76db8f42e06cbb888f14956} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{996f66db546cbb0e74c8e1b206934a8b → 1e7b3532f20949a13b8b69d2dddc559a} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/2051323c87c06ef9fb769ff13afe1d46 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{714f390b93b33846a6c8358e3fb0555e → 2197e41c9dda6c82b109eaa0d5adaf2f} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{cde5d358d89af1813033adcf5abdc012 → 22003805d8abcf11f0649bff9cef6c35} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/258dbc982e14f78732a377754ed23a4b +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/26489e402a71f43f962d6055e30787d0 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{969c58767a7de67e78f9ea69195183d9 → 276e2819a676347a7de259b70679adb8} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/2894746ab7d895286c1b09e42fc94281 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{2ab4ad958f77a3629fb62246f5604bce → 28c0c99cd6d41ead252f979cef74c6c5} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{095e7d24e036c328ff8a353b062c075e → 2943f3fe07d2ae0184c2282647d5c50e} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{a03d8b8153d1a1abc2abf53568d4dad0 → 2a421ff8fbf280e0d7323f26d2656144} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{d35f06fe57bd03bea2483b5398b2c6f8 → 2f23e3869b68c4c9492f9497b288f6bb} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{9011102569db38052e6353455fac950e → 30539f6bae0581cb548f51ee6d9d5b9b} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{2656c3bece9f7e34887e2fceded0784e → 318296efd3e38c26a302d99d1638e4ad} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/31bfcc7896d47062b682cb7305aa9052 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/346057a4a317d5399f0faa78baf2be98 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{0ed0d802514844bf10f8361f431c8cc8 → 374aecf6aa1d05dd23ce4881c1bdd71b} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{76c588a87498d0a7b9c4b93f78c47965 → 382ebccfe8b6bce742f4a2bc0c109d0f} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{9ba5c2b7b2f656550a0deffc19472e39 → 39792f57ea45373a09c7ac823905cb29} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{e647f039e5c667d1ca130f914fb70624 → 3a3728ebf0994eb3f68ac9acf74c5904} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{5395b275597f09db5cc276d8a35b1c9b → 3aaf980536f44c31d1d0145ba8f1721d} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{460d342022e00bbd6edff25125a60ab1 → 3ba808481868b8a56fdf9f106eeda367} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/44e79847ae7bb5c853dbfefa452355f0 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/459777cb1d30f6467da8dd53d9841bee +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/46842ce793ce3da43a6c21ef0c0e745e +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/4764b71e86b2ebfa988853e0ce3bb441 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/4821eb4277ad6a0983c16630cd5806ae +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{375cc143f1184d76e6b3ff0dfb60187c → 485a6b0358511c73965a851ba5569014} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{ba4f88faafacc90d28bc5a92032f2608 → 49ccc514fe103c24a38f100cecb21be9} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{b8e717c8deb6edc80a7a690369d13d35 → 49de4f401551329c23b46284313de8d1} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{c61f7caef6bb75b1c15bde82e7cbbee2 → 4f3e6b4e40b631d3d949509f32ea9bc3} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{5de4f3048b6d83b2236bfbc041ad8f11 → 4fb06529e2126644ddf41924f5be2880} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/4fbd3f63d231f5b25d1b8eb02ecdd150 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/4ffa898a34dcdcfb92898d913da3f720 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/5159e29eea352859ecad8605385bc97e +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{498ee0d8892d5d9be8a37030e3253e14 → 529d621e1fb6b730d9d035b143e93f69} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/54c3d5d9311b5d421c51b5d473de5b05 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/582efaa561d6a724a7cd82b2023e8e29 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{b7ffc32371aea730fc8e27be3be8e633 → 59c191aebff69f4e76cb50860ff17df5} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/5a0024fd5a8ae8322b07acc733c6caed +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/5a8fc55cb58b423142d530fc066dd3a4 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/5b1732a4f9d541544d84a04dda73e752 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/5c8e7da8dcddc72d152039cec5b173c9 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/5e2e774a2e56e0db0d18d782bbcb9639 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{6eff33b3b8fa010e960659ed61b250e6 → 5e9526449d8415fba07fb15676ccea95} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{63ff3018e663064066c3dae6658c36fc → 5eed513a4451dedcc36ec16c45745bd4} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/5fab61053117e1d102e0a355e4b870d3 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{8cfd86644ffefe11ed4880518435c8a5 → 62313843f7d1e2195eca82386ddbafc4} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{6e2e2c829c91d3d0c079771ed77e6654 → 638b254892f40165bda0c1ee6f62a6d6} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{540da504e121104c4de8155ec685b4ea → 660d820d7f5e69fe59c0a7f01aaef8c6} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/69f59cfc7f92e5d7ebf02df73928083b +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/6a09089b5590cbb5dbccba9199b1aa0e +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/6ab99dcd31d6d0380c0df7baa42a2b18 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/6b3e9ff481b3a040acb4e1ea61e4c8fc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/6ce0b5fdde88a0e3ff318a0c2726d46f +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/6d278334e72b135765a41e991bec0500 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{e13a9d14cda66ff1562d59bae5bb0009 → 6f70cf17d6c5ba22b8afddd7d39c4d70} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{743e275172178779f8b1f7fbe08dd5ea → 729b76b484c9c4df3af759a93635b21d} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/72d8ec2796504cc9604b01118b806cd8 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/74b195601a5c6c8bf93e5e7e9e6da12b +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{2d1df5e32a061a951d5a2d4d9f6c3d24 → 75c3e223b3986acf0bc6c669d16054b8} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{d4a49843caf12d9a6dc764014f42b895 → 75ed3fc3c431fc2154cdd1f760f3210e} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/7795054eed96c541e38536fa029a42ad +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{2e8383214772b291c87934ed8a84b955 → 77a4a5a208b8121488fd9ef247d67813} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/7ec629ff58b2d1e0dfe7f8c56f2fc5d7 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{b82696d97bda7df1d71f90b91abbbb80 → 840324d228205039aaaafc391c208430} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{7be36e83efedfb86b40e05e2c2e9cacf → 842328de502c909f498ccca706cd47dc} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{5cb7d2cb1418d5831b0b61ca68d18a07 → 8644f94b9a1a902153cd97473ce23266} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{bdf867751d648676e25e36a9435e6b26 → 88f2fbf474d52591035c94b07b696ff9} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{e1bba75ba340cdef270c20efd6f983ac → 89fe3f3e75d5eb4ecb1b836fd792990d} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{a03fc26531eea1055e58e91bd64792b3 → 917c85b2a002bf08c90f4509aba5b538} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{7f5f2d823155f3f1da616e146d540dc1 → 920f17a87bb2678c28568f5e686a4cf1} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/925c3596709eb590d786f15a3cf817bb +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/984e0e653074756d5c241ac3597b68d8 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{7ed06e4bd001b429d263963fbe783f11 → 98a0e68016b3c8f8000d991b1d5bc044} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/9b9810623fa8a8a92e55d065f93340ee +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/9c834e292807614b87fc885949cb12d5 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{aa87eff56d455dae33b13bb129cd4d3f → 9dab4fa8ba5260be660ee06b90e3e847} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/9f60a2e19502e0f9ad7ccffa2da50342 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{d5cb053b401e51026a9c743fc9442a45 → 9f6c080a6bd27db284fbb211f3f44a6c} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/9fb546f0f37deda2fdcfd48930de0f69 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{bb2bc7acd86cbf95e1ca5d978aa3b407 → a0bdc79935fc14ace4c5366e1ba7d527} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/a1f2411c0e3e9a52183b5f0c96fa84c8 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{24dcc2914999ebf715353482d3b22e51 → a41cd406b752008bf3aaeb365d9d5e8b} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{bedffc652989e272a8e2774aab019da5 → a50199939a6040343c5487c1dde55260} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/a80f3bf6075735abb8874bf40ca7a4cd +0 -0
- data/spec/dummy_app/tmp/{dragonfly/cache/body/20/4b9c4f1d960805e206c28eac62367b6970f63b → cache/assets/test/sprockets/ad452a261b3fc90b3aca85ffc630817d} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{38fd3d9139702eff7281ee67b638d92e → b0b910efc00aa49d187637e761ea0654} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{0c78a1295e80206cd724fb0661c58ee4 → b12de6d4d7f222f76b111c25f5dab178} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/b1d340312b1b800c7c5e652e1db6c9cc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/b31203d66a43ee74d976dc763f42f38a +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{20967f4e0f44fccf2c2de06aad218647 → b944bc4b0799f7954005e8b1a5336687} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{f8d79539ba48d44d737f7ca1295354f7 → baf1f20ee8ed55082855f5ecfbb9db4e} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/bf1fd5d742a16de894278017732d1b2c +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/bffa7d2c518d584c3f1ba8b9e11cf745 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{0f72b417ab87169150cd61260cc18f4e → c2f1cee7fb8eb8492c4084ce00dc53b6} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/c53a5fc1810ee9b6c3c933fd5590228e +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/c801ebd7cabbdbe237c427692b2f6017 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{98c978063ce9eca4f00d35e8ee8ccccb → c87758b6b5f54876dccc4562ebd59a43} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/cb1a9d6c11a7eb5430d3c79838a53eb1 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/cb1d6fcc9bad898327636cf414f73b57 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/cd8be896a3bf8f11cc61e0fb6b90eb80 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{550d461012567dbfec3138e404c434e3 → ce027086e6de68f182037504b6227485} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/ce9ba680277b6a7f2f6c65c077e83384 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{d4d934ea7bb7519042bc79deb3028314 → cf435b3d4a48bc16f5cc1db8f7049596} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{672892e6983bdb28969d20d688b445c3 → d024b2e0207c1a894ac2fc0c0e002033} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{6983eaa0179424c5a469abec763c7433 → d1b6047944a0a6e232951727bba44560} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{306d8bf77dac0876fb62a6d7d7279f8b → d2acbd849a5e6d1809ac9e9639dbc893} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/d3e77ae2b265a7b6a4e6619ae888c02f +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{55b24a753c1452383f987ea056096fc8 → d43f3b9f17586aa28c6097e3be02822f} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/d533eddb21cd722c5216bc0bb88f1c6d +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/d6205326f914ac8b2f61b0fefad24ef1 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{1ef09ffd0e1376aabbac9def4652b166 → d79f4cb89c0bf1ea5e42bfda6e6b27c5} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{b68666c0d1bd7d3d06bacd7767043149 → d917eb39b30dcf6725854039c98a5012} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{3a6a4e5299d2063b2dd6e980fa0551d5 → de1a47afa53c502369479e8dbbfebd9b} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{e7da37b727b2c61d4f654f88ebda783d → dee3a9569b9ee7368f88a014ba475c3a} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/e1309c718c63004add03fd7c472ec5c1 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{d4de3cd17da73d9e0d3c4ff1142385c3 → e3e93c085f3fc84da01f92b8d61981ae} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/e5ce6cd41375d04320a8a3150db827a3 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{8864a718fb2c0b6c297e9efbd210e1f5 → e613b18c9e1811582dc0aeaf095e56ae} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{c242b461c1c4aa60e2dfa5486dc9a1a8 → e69a4b84ef07dbc0ac277803d272a6fa} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{d104a4ce0d9dc0398049425d45fd6e47 → e72ab273009021b9a7b5770457a9d13b} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{2998aba256780a65cc4058fdd00f3b8f → ebf2567e766b39401f690380a2d00e66} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/ec99299f858e97986ac4ba883d94826c +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/ecddf8ef16cc19c9634433c4f5dcc256 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{2e96c0383b32e1ec0746b08f3bea0c7b → eefb724057cd7d3f1e6fee605910718d} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{51173669b5ab5031ba6c9eff069b6ae7 → f1f9a7b96317af0df54445979f298b68} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/f342ebdd61bbcd9b91b4d09aac84b7e6 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{d778ac3298efe5fc7d13405e66041015 → f37153d14eee1485b7d6bb7bd5196af6} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/f3ad8cf21b94a7a5f382482e0529fe3c +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{1c166333b9ae232ca3c43174ff7ed396 → f4f596c9ba337be0d71e4ef01d05e45c} +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/{b1f49e09b0df0a360d041969f76da859 → fe334a948fd2e5baccfa25d2c4abffc4} +0 -0
- data/spec/dummy_app/tmp/dragonfly/cache/body/3e/2e27ad204d468500de8d9902b63d1e88657389 +4 -0
- data/spec/dummy_app/tmp/{cache/assets/test/sprockets/b1b5c83a14fd8b2081cbb32dd26021c4 → dragonfly/cache/body/6f/58795de38055147320844c9fa5ff32e0aa123e} +0 -0
- data/spec/dummy_app/tmp/dragonfly/cache/meta/1c/caf9bcaeb88256d4e9505faaa85621e4b53a8d +0 -0
- data/spec/dummy_app/tmp/dragonfly/cache/meta/25/1c81c04032b247ef575f4c929301f7f1963a39 +0 -0
- data/spec/dummy_app/tmp/dragonfly/cache/meta/2b/b5469f96538f0f47bb9c2828b5f970fae89a8d +0 -0
- data/spec/dummy_app/tmp/dragonfly/cache/meta/2e/276270b8e924ea3de50db2ad7a265c3bc4f0a1 +0 -0
- data/spec/dummy_app/tmp/dragonfly/cache/meta/62/36dfc092f525f643ded34bb316308d788f8f41 +0 -0
- data/spec/dummy_app/tmp/dragonfly/cache/meta/70/d58ddc461366882590f97c0d9ea3af5545b5a1 +0 -0
- data/spec/dummy_app/tmp/dragonfly/cache/meta/bd/bb171fbf5c5c34eff7efc8fa78817acc7dea9d +0 -0
- data/spec/dummy_app/tmp/dragonfly/cache/meta/d1/6c9c5ef0b7ae606b4a12cb7daf2fa7dc21acd5 +0 -0
- data/spec/factories.rb +2 -3
- data/spec/helpers/rails_admin/application_helper_spec.rb +86 -86
- data/spec/helpers/rails_admin/form_builder_spec.rb +6 -6
- data/spec/integration/authorization/cancan_spec.rb +168 -173
- data/spec/integration/basic/bulk_action/rails_admin_basic_bulk_action_spec.rb +11 -11
- data/spec/integration/basic/bulk_destroy/rails_admin_basic_bulk_destroy_spec.rb +16 -16
- data/spec/integration/basic/create/rails_admin_basic_create_spec.rb +69 -69
- data/spec/integration/basic/create/rails_admin_namespaced_model_create_spec.rb +8 -8
- data/spec/integration/basic/delete/rails_admin_basic_delete_spec.rb +21 -21
- data/spec/integration/basic/destroy/rails_admin_basic_destroy_spec.rb +32 -32
- data/spec/integration/basic/edit/rails_admin_basic_edit_spec.rb +39 -39
- data/spec/integration/basic/export/rails_admin_basic_export_spec.rb +36 -36
- data/spec/integration/basic/list/rails_admin_basic_list_spec.rb +194 -102
- data/spec/integration/basic/new/rails_admin_basic_new_spec.rb +30 -30
- data/spec/integration/basic/new/rails_admin_namespaced_model_new_spec.rb +12 -12
- data/spec/integration/basic/show/rails_admin_basic_show_spec.rb +34 -34
- data/spec/integration/basic/update/rails_admin_basic_update_spec.rb +90 -90
- data/spec/integration/config/edit/rails_admin_config_edit_spec.rb +351 -352
- data/spec/integration/config/list/rails_admin_config_list_spec.rb +132 -133
- data/spec/integration/config/show/rails_admin_config_show_spec.rb +82 -83
- data/spec/integration/history/rails_admin_history_spec.rb +15 -15
- data/spec/integration/rails_admin_spec.rb +48 -49
- data/spec/integration/relation_spec.rb +12 -12
- data/spec/orm/active_record.rb +7 -4
- data/spec/orm/mongoid.rb +1 -7
- data/spec/rails_admin/abstract_model_spec.rb +28 -28
- data/spec/rails_admin/active_record_extension_spec.rb +3 -3
- data/spec/rails_admin/adapters/active_record/abstract_object_spec.rb +29 -29
- data/spec/rails_admin/adapters/active_record_spec.rb +210 -215
- data/spec/rails_admin/adapters/mongoid/abstract_object_spec.rb +19 -19
- data/spec/rails_admin/adapters/mongoid_spec.rb +429 -435
- data/spec/rails_admin/config/actions/base_spec.rb +9 -9
- data/spec/rails_admin/config/actions_spec.rb +42 -42
- data/spec/rails_admin/config/fields/base_spec.rb +135 -136
- data/spec/rails_admin/config/fields/date_spec.rb +17 -17
- data/spec/rails_admin/config/fields/datetime_spec.rb +12 -13
- data/spec/rails_admin/config/fields/file_upload_spec.rb +4 -5
- data/spec/rails_admin/config/fields/time_spec.rb +12 -13
- data/spec/rails_admin/config/fields/timestamp_spec.rb +5 -5
- data/spec/rails_admin/config/fields/types/ck_editor_spec.rb +1 -1
- data/spec/rails_admin/config/fields/types/datetime_spec.rb +2 -2
- data/spec/rails_admin/config/fields_spec.rb +4 -4
- data/spec/rails_admin/config/has_fields_spec.rb +4 -4
- data/spec/rails_admin/config/lazy_model_spec.rb +5 -5
- data/spec/rails_admin/config/model_spec.rb +50 -50
- data/spec/rails_admin/config/proxyable/proxy_spec.rb +7 -10
- data/spec/rails_admin/config/sections_spec.rb +22 -22
- data/spec/rails_admin/config_spec.rb +81 -80
- data/spec/rails_admin/support/csv_converter_spec.rb +3 -3
- data/spec/spec_helper.rb +11 -14
- metadata +509 -548
- metadata.gz.sig +0 -0
- data/lib/generators/rails_admin/templates/drop.rb +0 -18
- data/lib/generators/rails_admin/templates/migration.rb +0 -18
- data/lib/generators/rails_admin/uninstall_generator.rb +0 -22
- data/spec/dummy_app/tmp/cache/assets/test/sass/245c4be20f01db9121b0992275b77e082f23d7df/font-awesome-4-compability.scssc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sass/ec09962bad77c2bf0bbd3ac3d62b1dd18394a9fe/font-awesome.css.erbc +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/0166686128d421b993db59eb5e22c92c +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/03c695c9019f09cbb02f63a7ae21d79f +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/09f8aac43754fe92352c1a0dac795897 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/0ae5c9a0fc0ac395440fd4a9475ad717 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/11f4d136083919b98336de97c5a27364 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/128dcffe5acb878aaf10cb69ede11e54 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/143fa89e22fd0f160912728242c12d20 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/174a5ce6774da56e0d025f915d2a5656 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/1e909aba91e1216beb4533895a4a6ffa +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/21af0c9472c74ff4307411a74eb52a08 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/232be00ca912eb52d6fc11676eee2f52 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/245b58f60816ff2e286784b47a8124a6 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/24df57fbd4ef4a5d613ab3360a611f9d +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/26495c65c6a62b71419149d7dd3b601b +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/2d69e41d82df0b55096aed4faa6f16c6 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/2f60f107ce85662c1588f521bb9e2c8b +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/30061ffe89ebc51d869d6b363b18a7cf +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/34ac1a6bcf81e3f9139511c7be3dfed9 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/3c44e3b6e6c89b71c859ee6552fd8abb +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/412440cb48736db6d625f0ecb113344d +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/4557193886d8770d362ce8103d320b9f +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/498f25956085afc83e15c44ffb1170e6 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/57dc08580327982fc6a9e8c0a7f168ad +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/5a6cbfd514173d817be78f9d005c5680 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/5e2c9668e1a6c05d64b5c7cd79ddd647 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/64277385d99fc22b7ff9fa9cacc0dc93 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/66c9b69b948666df4d011498e6631eed +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/696be962f98b08b9fee127ddd7e99903 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/69d2c687f9659c7d6fb668bddb032834 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/6bd55d53bef2f0dd81671f0f02f7d3ed +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/70b145271cbc457a0b6fd0c63af2983f +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/73f41636108e88974107e84d4d50801d +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/75f716413cdabd240c8b85adc42ddad9 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/7741691076a9f393f20d291004464ac0 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/785ad3ea421e6a5227ad573a68eb210e +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/7a9b30ad67a8c153e95d638e962bf463 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/7aa93b56c89c66301f9154d27ea9014f +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/7c081ddde599ff1c2e0006defac49285 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/7ef92f534d8e2b3abde760d1813145d9 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/82d50803717341c893f612a86d9a1400 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/8626144fc98fb2a6c7ede9bf55f84cac +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/898f5214bcdb21409c81c8aade73b535 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/8f5d6d8fba731caff3f9e84487876612 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/91c2a4d8729e7c56e56029d18edb1176 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/99e5beb37b7130f59a12936b6b763447 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/9ad9a36052fd8184d3634f8edbf52a68 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/a70e63d06a6899f97de5cf676b2c395c +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/b1b02c2fe88268d3d00709aeca4c2eb5 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/b95121cacfdf3b3cd1197526fbc6c098 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/bab598b96111d2c4545459320f65853b +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/bbc9f2cbbd599b8b17e585cd2ebfc9a2 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/c1bbc7c7493a2006f9116a79be4aad50 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/c3381e393b50c9df2f8b97e4634b1349 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/c402e3bddd9e25c23e52df17c8bb42a3 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/c7222887ab4570345607228eed54b7c4 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/d4e4ebef5c7337c61bee8cc343e473d4 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/d5150138d2eedf2573c71dbd75180e2a +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/dbeda8fff4e9b5084fd1bc79a0f220d0 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/e43b6fc5e743fc33b6ec77b00fc1c916 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/ec6a90e298605bce56e3e47e1c4a6d5c +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/ef41f276ef9b69b0d57e4566493cc15d +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/efba5ca5522c353d79d1b624f22179c1 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/f304c66c0c0e65597b8a53e4b9883357 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/f386bc0d31bc15498eaff65440bf1ead +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/f9c9bd4d84f1951260e50180fa8ae0d2 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/fa6cff1eeaad0d65a825b3ebd3045070 +0 -0
- data/spec/dummy_app/tmp/cache/assets/test/sprockets/fead2dec6a8d5e520cd797810ef316bd +0 -0
- data/spec/dummy_app/tmp/dragonfly/cache/body/d9/6abc70a2bba359cc1bebcf56d7d4e522eacbad +0 -4
- data/spec/dummy_app/tmp/dragonfly/cache/meta/01/52bba6767d462a8815bfef629b8413079a9d31 +0 -0
- data/spec/dummy_app/tmp/dragonfly/cache/meta/38/703cefed91dd44c4a8fea5cbb4b17e1ebfc99d +0 -0
- data/spec/dummy_app/tmp/dragonfly/cache/meta/40/1d77fa6d5446212f87dac823fbdcb241ec9325 +0 -0
- data/spec/dummy_app/tmp/dragonfly/cache/meta/40/95eda2cf7223fc56a96360973c859a9f24d468 +0 -0
- data/spec/dummy_app/tmp/dragonfly/cache/meta/5b/7f94b5e3c284cefaa1531e7b5c7f20354a6735 +0 -0
- data/spec/dummy_app/tmp/dragonfly/cache/meta/5e/ef47362a4fd7fd0542ff5e873eb5b76d7d5002 +0 -0
- data/spec/dummy_app/tmp/dragonfly/cache/meta/64/5a7c779a6e798b4f85e897f1d39ef331e1678c +0 -0
- data/spec/dummy_app/tmp/dragonfly/cache/meta/67/d60c85f99af4a911cf86702114da2d9fff52ac +0 -0
- data/spec/dummy_app/tmp/dragonfly/cache/meta/82/f18afea133bee8e0c723324497383d7bb510f9 +0 -0
- data/spec/dummy_app/tmp/dragonfly/cache/meta/84/9965055e94a3d5727a725d174bbbed8f8ecce3 +0 -0
- data/spec/dummy_app/tmp/dragonfly/cache/meta/90/acadf04574dc9417c2f7c238ee48e901b92474 +0 -0
- data/spec/dummy_app/tmp/dragonfly/cache/meta/a8/8839a9c373f06becc049eeb4f4cdb194c1ceda +0 -0
- data/spec/dummy_app/tmp/dragonfly/cache/meta/b7/b845f13b154ef49a71b1be96931905695a62fc +0 -0
- data/spec/dummy_app/tmp/dragonfly/cache/meta/ca/9693eea0638512131858fa1fc6c43a76687529 +0 -0
- data/spec/dummy_app/tmp/dragonfly/cache/meta/e7/c486ba5ec259581c09ba1f4ee381c719719397 +0 -0
- data/spec/dummy_app/tmp/dragonfly/cache/meta/f2/220f8edf3a69687421c04f7fc325efd46ca120 +0 -0
@@ -26,7 +26,7 @@ module RailsAdmin
|
|
26
26
|
end
|
27
27
|
|
28
28
|
def all(options = {}, scope = nil)
|
29
|
-
scope ||=
|
29
|
+
scope ||= scoped
|
30
30
|
scope = scope.includes(options[:include]) if options[:include]
|
31
31
|
scope = scope.limit(options[:limit]) if options[:limit]
|
32
32
|
scope = scope.where(primary_key => options[:bulk_ids]) if options[:bulk_ids]
|
@@ -40,15 +40,15 @@ module RailsAdmin
|
|
40
40
|
end
|
41
41
|
|
42
42
|
def count(options = {}, scope = nil)
|
43
|
-
all(options.merge(
|
43
|
+
all(options.merge(limit: false, page: false), scope).count
|
44
44
|
end
|
45
45
|
|
46
46
|
def destroy(objects)
|
47
|
-
Array.wrap(objects).each
|
47
|
+
Array.wrap(objects).each(&:destroy)
|
48
48
|
end
|
49
49
|
|
50
50
|
def associations
|
51
|
-
model.reflect_on_all_associations.
|
51
|
+
model.reflect_on_all_associations.collect do |association|
|
52
52
|
Association.new(association, model).to_options_hash
|
53
53
|
end
|
54
54
|
end
|
@@ -57,9 +57,9 @@ module RailsAdmin
|
|
57
57
|
columns = model.columns.reject do |c|
|
58
58
|
c.type.blank? ||
|
59
59
|
DISABLED_COLUMN_TYPES.include?(c.type.to_sym) ||
|
60
|
-
DISABLED_COLUMN_MATCHERS.any? {|matcher| matcher.match(c.type.to_s)}
|
60
|
+
DISABLED_COLUMN_MATCHERS.any? { |matcher| matcher.match(c.type.to_s) }
|
61
61
|
end
|
62
|
-
columns.
|
62
|
+
columns.collect do |property|
|
63
63
|
{
|
64
64
|
:name => property.name.to_sym,
|
65
65
|
:pretty_name => property.name.to_s.tr('_', ' ').capitalize,
|
@@ -70,7 +70,7 @@ module RailsAdmin
|
|
70
70
|
end
|
71
71
|
end
|
72
72
|
|
73
|
-
delegate :primary_key, :table_name, :
|
73
|
+
delegate :primary_key, :table_name, to: :model, prefix: false
|
74
74
|
|
75
75
|
def encoding
|
76
76
|
Rails.configuration.database_configuration[Rails.env]['encoding']
|
@@ -88,10 +88,9 @@ module RailsAdmin
|
|
88
88
|
true
|
89
89
|
end
|
90
90
|
|
91
|
-
|
91
|
+
private
|
92
92
|
|
93
93
|
class WhereBuilder
|
94
|
-
|
95
94
|
def initialize(scope)
|
96
95
|
@statements = []
|
97
96
|
@values = []
|
@@ -130,7 +129,7 @@ module RailsAdmin
|
|
130
129
|
filters.each_pair do |field_name, filters_dump|
|
131
130
|
filters_dump.each do |_, filter_dump|
|
132
131
|
wb = WhereBuilder.new(scope)
|
133
|
-
wb.add(fields.
|
132
|
+
wb.add(fields.detect { |f| f.name.to_s == field_name }, filter_dump[:v], (filter_dump[:o] || 'default'))
|
134
133
|
# AND current filter statements to other filter statements
|
135
134
|
scope = wb.build
|
136
135
|
end
|
@@ -144,9 +143,9 @@ module RailsAdmin
|
|
144
143
|
|
145
144
|
def type_lookup(property)
|
146
145
|
if model.serialized_attributes[property.name.to_s]
|
147
|
-
{:
|
146
|
+
{type: :serialized}
|
148
147
|
else
|
149
|
-
{:
|
148
|
+
{type: property.type}
|
150
149
|
end
|
151
150
|
end
|
152
151
|
|
@@ -160,22 +159,23 @@ module RailsAdmin
|
|
160
159
|
|
161
160
|
def to_options_hash
|
162
161
|
{
|
163
|
-
:
|
164
|
-
:
|
165
|
-
:
|
166
|
-
:
|
167
|
-
:
|
168
|
-
:
|
169
|
-
:
|
170
|
-
:
|
171
|
-
:
|
172
|
-
:
|
173
|
-
:
|
174
|
-
:
|
162
|
+
name: name.to_sym,
|
163
|
+
pretty_name: display_name,
|
164
|
+
type: macro,
|
165
|
+
model_proc: proc { model_lookup },
|
166
|
+
primary_key_proc: proc { primary_key_lookup },
|
167
|
+
foreign_key: foreign_key.to_sym,
|
168
|
+
foreign_type: foreign_type_lookup,
|
169
|
+
as: as_lookup,
|
170
|
+
polymorphic: polymorphic_lookup,
|
171
|
+
inverse_of: inverse_of_lookup,
|
172
|
+
read_only: read_only_lookup,
|
173
|
+
nested_form: nested_attributes_options_lookup
|
175
174
|
}
|
176
175
|
end
|
177
176
|
|
178
|
-
|
177
|
+
private
|
178
|
+
|
179
179
|
def model_lookup
|
180
180
|
if options[:polymorphic]
|
181
181
|
polymorphic_parents(:active_record, model_name.to_s, name) || []
|
@@ -217,13 +217,13 @@ module RailsAdmin
|
|
217
217
|
end
|
218
218
|
|
219
219
|
delegate :klass, :macro, :name, :options, :scope, :foreign_key,
|
220
|
-
:
|
221
|
-
delegate :name, :
|
222
|
-
delegate :polymorphic_parents, :
|
220
|
+
to: :association, prefix: false
|
221
|
+
delegate :name, to: :model, prefix: true
|
222
|
+
delegate :polymorphic_parents, to: RailsAdmin::AbstractModel
|
223
223
|
end
|
224
224
|
|
225
225
|
class StatementBuilder < RailsAdmin::AbstractModel::StatementBuilder
|
226
|
-
|
226
|
+
protected
|
227
227
|
|
228
228
|
def unary_operators
|
229
229
|
{
|
@@ -236,7 +236,7 @@ module RailsAdmin
|
|
236
236
|
}
|
237
237
|
end
|
238
238
|
|
239
|
-
|
239
|
+
private
|
240
240
|
|
241
241
|
def range_filter(min, max)
|
242
242
|
if min && max
|
@@ -250,11 +250,11 @@ module RailsAdmin
|
|
250
250
|
|
251
251
|
def build_statement_for_type
|
252
252
|
case @type
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
253
|
+
when :boolean then build_statement_for_boolean
|
254
|
+
when :integer, :decimal, :float then build_statement_for_integer_decimal_or_float
|
255
|
+
when :string, :text then build_statement_for_string_or_text
|
256
|
+
when :enum then build_statement_for_enum
|
257
|
+
when :belongs_to_association then build_statement_for_belongs_to_association
|
258
258
|
end
|
259
259
|
end
|
260
260
|
|
@@ -299,7 +299,7 @@ module RailsAdmin
|
|
299
299
|
end
|
300
300
|
|
301
301
|
def like_operator
|
302
|
-
ar_adapter ==
|
302
|
+
ar_adapter == 'postgresql' ? 'ILIKE' : 'LIKE'
|
303
303
|
end
|
304
304
|
end
|
305
305
|
end
|
@@ -19,12 +19,12 @@ module RailsAdmin
|
|
19
19
|
object.assign_attributes(attributes)
|
20
20
|
end
|
21
21
|
|
22
|
-
def save(options = {
|
22
|
+
def save(options = {validate: true})
|
23
23
|
object.save(options)
|
24
24
|
end
|
25
25
|
|
26
26
|
def method_missing(name, *args, &block)
|
27
|
-
|
27
|
+
object.send(name, *args, &block)
|
28
28
|
end
|
29
29
|
end
|
30
30
|
end
|
@@ -6,40 +6,37 @@ module RailsAdmin
|
|
6
6
|
module Adapters
|
7
7
|
module Mongoid
|
8
8
|
STRING_TYPE_COLUMN_NAMES = [:name, :title, :subject]
|
9
|
-
DISABLED_COLUMN_TYPES = ['Range', 'Moped::BSON::Binary',
|
10
|
-
ObjectId = defined?(Moped::BSON) ? Moped::BSON::ObjectId : BSON::ObjectId
|
11
|
-
|
9
|
+
DISABLED_COLUMN_TYPES = ['Range', 'Moped::BSON::Binary', 'BSON::Binary', 'Mongoid::Geospatial::Point']
|
10
|
+
ObjectId = defined?(Moped::BSON) ? Moped::BSON::ObjectId : BSON::ObjectId # rubocop:disable ConstantName
|
12
11
|
|
13
12
|
def new(params = {})
|
14
13
|
AbstractObject.new(model.new)
|
15
14
|
end
|
16
15
|
|
17
16
|
def get(id)
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
].exclude?(e.class.to_s)
|
27
|
-
end
|
17
|
+
AbstractObject.new(model.find(id))
|
18
|
+
rescue => e
|
19
|
+
raise e if %w[
|
20
|
+
BSON::InvalidObjectId
|
21
|
+
Mongoid::Errors::DocumentNotFound
|
22
|
+
Mongoid::Errors::InvalidFind
|
23
|
+
Moped::Errors::InvalidObjectId
|
24
|
+
].exclude?(e.class.to_s)
|
28
25
|
end
|
29
26
|
|
30
27
|
def scoped
|
31
28
|
model.scoped
|
32
29
|
end
|
33
30
|
|
34
|
-
def first(options = {},scope=nil)
|
31
|
+
def first(options = {}, scope = nil)
|
35
32
|
all(options, scope).first
|
36
33
|
end
|
37
34
|
|
38
|
-
def all(options = {},scope=nil)
|
39
|
-
scope ||=
|
35
|
+
def all(options = {}, scope = nil)
|
36
|
+
scope ||= scoped
|
40
37
|
scope = scope.includes(*options[:include]) if options[:include]
|
41
38
|
scope = scope.limit(options[:limit]) if options[:limit]
|
42
|
-
scope = scope.any_in(:
|
39
|
+
scope = scope.any_in(_id: options[:bulk_ids]) if options[:bulk_ids]
|
43
40
|
scope = scope.where(query_conditions(options[:query])) if options[:query]
|
44
41
|
scope = scope.where(filter_conditions(options[:filters])) if options[:filters]
|
45
42
|
if options[:page] && options[:per]
|
@@ -49,12 +46,12 @@ module RailsAdmin
|
|
49
46
|
scope
|
50
47
|
end
|
51
48
|
|
52
|
-
def count(options = {},scope=nil)
|
53
|
-
all(options.merge(
|
49
|
+
def count(options = {}, scope = nil)
|
50
|
+
all(options.merge(limit: false, page: false), scope).count
|
54
51
|
end
|
55
52
|
|
56
53
|
def destroy(objects)
|
57
|
-
Array.wrap(objects).each
|
54
|
+
Array.wrap(objects).each(&:destroy)
|
58
55
|
end
|
59
56
|
|
60
57
|
def primary_key
|
@@ -62,14 +59,14 @@ module RailsAdmin
|
|
62
59
|
end
|
63
60
|
|
64
61
|
def associations
|
65
|
-
model.
|
62
|
+
model.relations.values.collect do |association|
|
66
63
|
Association.new(association, model).to_options_hash
|
67
64
|
end
|
68
65
|
end
|
69
66
|
|
70
67
|
def properties
|
71
|
-
fields = model.fields.reject{|name, field| DISABLED_COLUMN_TYPES.include?(field.type.to_s) }
|
72
|
-
fields.
|
68
|
+
fields = model.fields.reject { |name, field| DISABLED_COLUMN_TYPES.include?(field.type.to_s) }
|
69
|
+
fields.collect do |name, field|
|
73
70
|
{
|
74
71
|
:name => field.name.to_sym,
|
75
72
|
:length => nil,
|
@@ -89,7 +86,7 @@ module RailsAdmin
|
|
89
86
|
end
|
90
87
|
|
91
88
|
def embedded?
|
92
|
-
@embedded ||= !!model.
|
89
|
+
@embedded ||= !!model.relations.values.detect { |a| a.macro.to_sym == :embedded_in }
|
93
90
|
end
|
94
91
|
|
95
92
|
def cyclic?
|
@@ -100,7 +97,7 @@ module RailsAdmin
|
|
100
97
|
false
|
101
98
|
end
|
102
99
|
|
103
|
-
|
100
|
+
private
|
104
101
|
|
105
102
|
def build_statement(column, type, value, operator)
|
106
103
|
StatementBuilder.new(column, type, value, operator).to_statement
|
@@ -128,7 +125,7 @@ module RailsAdmin
|
|
128
125
|
end
|
129
126
|
|
130
127
|
if statements.any?
|
131
|
-
{
|
128
|
+
{'$or' => statements}
|
132
129
|
else
|
133
130
|
{}
|
134
131
|
end
|
@@ -141,12 +138,12 @@ module RailsAdmin
|
|
141
138
|
|
142
139
|
filters.each_pair do |field_name, filters_dump|
|
143
140
|
filters_dump.each do |_, filter_dump|
|
144
|
-
field = fields.
|
141
|
+
field = fields.detect { |f| f.name.to_s == field_name }
|
145
142
|
next unless field
|
146
143
|
conditions_per_collection = make_field_conditions(field, filter_dump[:v], (filter_dump[:o] || 'default'))
|
147
144
|
field_statements = make_condition_for_current_collection(field, conditions_per_collection)
|
148
145
|
if field_statements.many?
|
149
|
-
statements << {
|
146
|
+
statements << {'$or' => field_statements}
|
150
147
|
elsif field_statements.any?
|
151
148
|
statements << field_statements.first
|
152
149
|
end
|
@@ -154,7 +151,7 @@ module RailsAdmin
|
|
154
151
|
end
|
155
152
|
|
156
153
|
if statements.any?
|
157
|
-
{
|
154
|
+
{'$and' => statements}
|
158
155
|
else
|
159
156
|
{}
|
160
157
|
end
|
@@ -162,54 +159,51 @@ module RailsAdmin
|
|
162
159
|
|
163
160
|
def type_lookup(name, field)
|
164
161
|
{
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
if associations.
|
180
|
-
{
|
162
|
+
'Array' => {type: :serialized},
|
163
|
+
'BigDecimal' => {type: :decimal},
|
164
|
+
'Mongoid::Boolean' => {type: :boolean},
|
165
|
+
'Boolean' => {type: :boolean},
|
166
|
+
'BSON::ObjectId' => {:type => :bson_object_id, :serial? => (name == primary_key)},
|
167
|
+
'Moped::BSON::ObjectId' => {:type => :bson_object_id, :serial? => (name == primary_key)},
|
168
|
+
'Date' => {type: :date},
|
169
|
+
'DateTime' => {type: :datetime},
|
170
|
+
'ActiveSupport::TimeWithZone' => {type: :datetime},
|
171
|
+
'Float' => {type: :float},
|
172
|
+
'Hash' => {type: :serialized},
|
173
|
+
'Money' => {type: :serialized},
|
174
|
+
'Integer' => {type: :integer},
|
175
|
+
'Object' => (
|
176
|
+
if associations.detect { |a| a[:type] == :belongs_to && a[:foreign_key] == name.to_sym }
|
177
|
+
{type: :bson_object_id}
|
181
178
|
else
|
182
|
-
{
|
179
|
+
{type: :string, length: 255}
|
183
180
|
end
|
184
181
|
),
|
185
|
-
|
182
|
+
'String' => (
|
186
183
|
if (length = length_validation_lookup(name)) && length < 256
|
187
|
-
{
|
184
|
+
{type: :string, length: length}
|
188
185
|
elsif STRING_TYPE_COLUMN_NAMES.include?(name.to_sym)
|
189
|
-
{
|
186
|
+
{type: :string, length: 255}
|
190
187
|
else
|
191
|
-
{
|
188
|
+
{type: :text}
|
192
189
|
end
|
193
190
|
),
|
194
|
-
|
195
|
-
|
196
|
-
}[field.type.to_s]
|
191
|
+
'Symbol' => {type: :string, length: 255},
|
192
|
+
'Time' => {type: :datetime},
|
193
|
+
}[field.type.to_s] || fail("Type #{field.type.to_s} for field :#{name} in #{model.inspect} not supported")
|
197
194
|
end
|
198
195
|
|
199
196
|
def length_validation_lookup(name)
|
200
|
-
shortest = model.validators.select
|
201
|
-
|
202
|
-
|
203
|
-
validator.kind == :length &&
|
204
|
-
validator.options[:maximum]
|
205
|
-
end.min{|a, b| a.options[:maximum] <=> b.options[:maximum] }
|
197
|
+
shortest = model.validators.select { |validator| validator.respond_to?(:attributes) && validator.attributes.include?(name.to_sym) && validator.kind == :length && validator.options[:maximum] }.min do |a, b|
|
198
|
+
a.options[:maximum] <=> b.options[:maximum]
|
199
|
+
end
|
206
200
|
|
207
201
|
shortest && shortest.options[:maximum]
|
208
202
|
end
|
209
203
|
|
210
204
|
def parse_collection_name(column)
|
211
205
|
collection_name, column_name = column.split('.')
|
212
|
-
if [:embeds_one, :embeds_many].include?(model.
|
206
|
+
if [:embeds_one, :embeds_many].include?(model.relations[collection_name].try(:macro).try(:to_sym))
|
213
207
|
[table_name, column]
|
214
208
|
else
|
215
209
|
[collection_name, column_name]
|
@@ -217,7 +211,7 @@ module RailsAdmin
|
|
217
211
|
end
|
218
212
|
|
219
213
|
def make_condition_for_current_collection(target_field, conditions_per_collection)
|
220
|
-
result =[]
|
214
|
+
result = []
|
221
215
|
conditions_per_collection.each do |collection_name, conditions|
|
222
216
|
if collection_name == table_name
|
223
217
|
# conditions referring current model column are passed directly
|
@@ -231,14 +225,14 @@ module RailsAdmin
|
|
231
225
|
end
|
232
226
|
|
233
227
|
def perform_search_on_associated_collection(field_name, conditions)
|
234
|
-
target_association = associations.
|
228
|
+
target_association = associations.detect { |a| a[:name] == field_name }
|
235
229
|
return [] unless target_association
|
236
230
|
model = target_association[:model_proc].call
|
237
231
|
case target_association[:type]
|
238
232
|
when :belongs_to, :has_and_belongs_to_many
|
239
|
-
[{
|
233
|
+
[{target_association[:foreign_key].to_s => {'$in' => model.where('$or' => conditions).all.collect { |r| r.send(target_association[:primary_key_proc].call) }}}]
|
240
234
|
when :has_many
|
241
|
-
[{
|
235
|
+
[{target_association[:primary_key_proc].call.to_s => {'$in' => model.where('$or' => conditions).all.collect { |r| r.send(target_association[:foreign_key]) }}}]
|
242
236
|
end
|
243
237
|
end
|
244
238
|
|
@@ -249,7 +243,7 @@ module RailsAdmin
|
|
249
243
|
when String
|
250
244
|
field_name, collection_name = options[:sort].split('.').reverse
|
251
245
|
if collection_name && collection_name != table_name
|
252
|
-
|
246
|
+
fail('sorting by associated model column is not supported in Non-Relational databases')
|
253
247
|
end
|
254
248
|
when Symbol
|
255
249
|
field_name = options[:sort].to_s
|
@@ -261,7 +255,8 @@ module RailsAdmin
|
|
261
255
|
end
|
262
256
|
end
|
263
257
|
|
264
|
-
|
258
|
+
private
|
259
|
+
|
265
260
|
class Association
|
266
261
|
attr_reader :association, :model
|
267
262
|
def initialize(association, model)
|
@@ -272,23 +267,23 @@ module RailsAdmin
|
|
272
267
|
|
273
268
|
def to_options_hash
|
274
269
|
{
|
275
|
-
:
|
276
|
-
:
|
277
|
-
:
|
278
|
-
:
|
279
|
-
:
|
280
|
-
:
|
281
|
-
:
|
282
|
-
:
|
283
|
-
:
|
284
|
-
:
|
285
|
-
:
|
286
|
-
:
|
287
|
-
:
|
270
|
+
name: name.to_sym,
|
271
|
+
pretty_name: display_name,
|
272
|
+
type: type_lookup,
|
273
|
+
model_proc: proc { model_proc_lookup },
|
274
|
+
primary_key_proc: proc { primary_key_lookup },
|
275
|
+
foreign_key: foreign_key_lookup,
|
276
|
+
foreign_type: foreign_type_lookup,
|
277
|
+
foreign_inverse_of: foreign_inverse_of_lookup,
|
278
|
+
as: as_lookup,
|
279
|
+
polymorphic: polymorphic_lookup,
|
280
|
+
inverse_of: inverse_of_lookup,
|
281
|
+
read_only: nil,
|
282
|
+
nested_form: nested_attributes_options_lookup
|
288
283
|
}
|
289
284
|
end
|
290
285
|
|
291
|
-
|
286
|
+
private
|
292
287
|
|
293
288
|
def display_name
|
294
289
|
name.to_s.tr('_', ' ').capitalize
|
@@ -317,7 +312,7 @@ module RailsAdmin
|
|
317
312
|
def nested_attributes_options_lookup
|
318
313
|
nested = model_nested_attributes_options.try { |o| o[name.to_sym] }
|
319
314
|
if !nested && [:embeds_one, :embeds_many].include?(macro.to_sym) && !association.cyclic
|
320
|
-
|
315
|
+
fail <<-MSG.gsub(/^\s+/, '')
|
321
316
|
Embbeded association without accepts_nested_attributes_for can't be handled by RailsAdmin,
|
322
317
|
because embedded model doesn't have top-level access.
|
323
318
|
Please add `accepts_nested_attributes_for :#{association.name}' line to `#{model.to_s}' model.
|
@@ -363,50 +358,50 @@ module RailsAdmin
|
|
363
358
|
when :has_and_belongs_to_many, :references_and_referenced_in_many
|
364
359
|
:has_and_belongs_to_many
|
365
360
|
else
|
366
|
-
|
361
|
+
fail("Unknown association type: #{macro.inspect}")
|
367
362
|
end
|
368
363
|
end
|
369
364
|
|
370
365
|
delegate :foreign_key, :macro, :name, :options, :scope, :polymorphic?,
|
371
366
|
:klass, :inverse_of, :inverse_type, :as,
|
372
|
-
:
|
373
|
-
delegate :name, :nested_attributes_options, :
|
374
|
-
delegate :polymorphic_parents, :
|
367
|
+
to: :association, prefix: false
|
368
|
+
delegate :name, :nested_attributes_options, to: :model, prefix: true
|
369
|
+
delegate :polymorphic_parents, to: RailsAdmin::AbstractModel
|
375
370
|
end
|
376
371
|
|
377
372
|
class StatementBuilder < RailsAdmin::AbstractModel::StatementBuilder
|
378
|
-
|
373
|
+
protected
|
379
374
|
|
380
375
|
def unary_operators
|
381
376
|
{
|
382
|
-
'_blank' => {
|
383
|
-
'_present' => {
|
384
|
-
'_null' => {
|
385
|
-
'_not_null' => {
|
386
|
-
'_empty' => {
|
387
|
-
'_not_empty' => {
|
377
|
+
'_blank' => {@column => {'$in' => [nil, '']}},
|
378
|
+
'_present' => {@column => {'$nin' => [nil, '']}},
|
379
|
+
'_null' => {@column => nil},
|
380
|
+
'_not_null' => {@column => {'$ne' => nil}},
|
381
|
+
'_empty' => {@column => ''},
|
382
|
+
'_not_empty' => {@column => {'$ne' => ''}}
|
388
383
|
}
|
389
384
|
end
|
390
385
|
|
391
|
-
|
386
|
+
private
|
392
387
|
|
393
388
|
def build_statement_for_type
|
394
389
|
case @type
|
395
|
-
|
396
|
-
|
397
|
-
|
398
|
-
|
399
|
-
|
390
|
+
when :boolean then build_statement_for_boolean
|
391
|
+
when :integer, :decimal, :float then build_statement_for_integer_decimal_or_float
|
392
|
+
when :string, :text then build_statement_for_string_or_text
|
393
|
+
when :enum then build_statement_for_enum
|
394
|
+
when :belongs_to_association, :bson_object_id then build_statement_for_belongs_to_association_or_bson_object_id
|
400
395
|
end
|
401
396
|
end
|
402
397
|
|
403
398
|
def build_statement_for_boolean
|
404
|
-
return {
|
405
|
-
return {
|
399
|
+
return {@column => false} if %w[false f 0].include?(@value)
|
400
|
+
return {@column => true} if %w[true t 1].include?(@value)
|
406
401
|
end
|
407
402
|
|
408
403
|
def column_for_value(value)
|
409
|
-
{
|
404
|
+
{@column => value}
|
410
405
|
end
|
411
406
|
|
412
407
|
def build_statement_for_string_or_text
|
@@ -423,33 +418,32 @@ module RailsAdmin
|
|
423
418
|
else
|
424
419
|
return
|
425
420
|
end
|
426
|
-
{
|
421
|
+
{@column => @value}
|
427
422
|
end
|
428
423
|
|
429
424
|
def build_statement_for_enum
|
430
425
|
return if @value.blank?
|
431
|
-
{
|
426
|
+
{@column => {'$in' => Array.wrap(@value)}}
|
432
427
|
end
|
433
428
|
|
434
429
|
def build_statement_for_belongs_to_association_or_bson_object_id
|
435
430
|
object_id = (object_id_from_string(@value) rescue nil)
|
436
|
-
{
|
431
|
+
{@column => object_id} if object_id
|
437
432
|
end
|
438
433
|
|
439
434
|
def range_filter(min, max)
|
440
435
|
if min && max
|
441
|
-
{
|
436
|
+
{@column => {'$gte' => min, '$lte' => max}}
|
442
437
|
elsif min
|
443
|
-
{
|
438
|
+
{@column => {'$gte' => min}}
|
444
439
|
elsif max
|
445
|
-
{
|
440
|
+
{@column => {'$lte' => max}}
|
446
441
|
end
|
447
442
|
end
|
448
443
|
|
449
444
|
def object_id_from_string(str)
|
450
445
|
ObjectId.from_string(str)
|
451
446
|
end
|
452
|
-
|
453
447
|
end
|
454
448
|
end
|
455
449
|
end
|