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
@@ -3,16 +3,16 @@ require 'builder'
|
|
3
3
|
module RailsAdmin
|
4
4
|
module MainHelper
|
5
5
|
def rails_admin_form_for(*args, &block)
|
6
|
-
options = args.extract_options!.reverse_merge(:
|
6
|
+
options = args.extract_options!.reverse_merge(builder: RailsAdmin::FormBuilder)
|
7
7
|
form_for(*(args << options), &block) << after_nested_form_callbacks
|
8
8
|
end
|
9
9
|
|
10
10
|
def get_indicator(percent)
|
11
|
-
return
|
12
|
-
return
|
13
|
-
return
|
14
|
-
return
|
15
|
-
|
11
|
+
return '' if percent < 0 # none
|
12
|
+
return 'info' if percent < 34 # < 1/100 of max
|
13
|
+
return 'success' if percent < 67 # < 1/10 of max
|
14
|
+
return 'warning' if percent < 84 # < 1/3 of max
|
15
|
+
'danger' # > 1/3 of max
|
16
16
|
end
|
17
17
|
|
18
18
|
def get_column_sets(properties)
|
@@ -20,14 +20,15 @@ module RailsAdmin
|
|
20
20
|
property_index = 0
|
21
21
|
set_index = 0
|
22
22
|
|
23
|
-
while
|
23
|
+
while property_index < properties.length
|
24
24
|
current_set_width = 0
|
25
|
-
|
25
|
+
loop do
|
26
26
|
sets[set_index] ||= []
|
27
27
|
sets[set_index] << properties[property_index]
|
28
28
|
current_set_width += (properties[property_index].column_width || 120)
|
29
29
|
property_index += 1
|
30
|
-
|
30
|
+
break if current_set_width >= RailsAdmin::Config.total_columns_width || property_index >= properties.length
|
31
|
+
end
|
31
32
|
set_index += 1
|
32
33
|
end
|
33
34
|
sets
|
@@ -2,11 +2,11 @@
|
|
2
2
|
%thead
|
3
3
|
%tr
|
4
4
|
%th.shrink.user= t("admin.table_headers.username")
|
5
|
-
%th.shrink.items= t("admin.table_headers.
|
5
|
+
%th.shrink.items= t("admin.table_headers.item")
|
6
6
|
%th.changes= t("admin.table_headers.changes")
|
7
7
|
%tbody
|
8
8
|
- @history.each do |t|
|
9
|
-
- abstract_model = RailsAdmin.config(t.table).
|
9
|
+
- abstract_model = RailsAdmin.config(t.table).abstract_model
|
10
10
|
%tr
|
11
11
|
%td= t.try :username
|
12
12
|
- if o = abstract_model.try(:get, t.item)
|
@@ -16,5 +16,6 @@
|
|
16
16
|
- else
|
17
17
|
%td= label
|
18
18
|
- else
|
19
|
-
|
20
|
-
|
19
|
+
- label = Object.const_defined?(t.table) ? t.table.constantize.model_name.human : t.table
|
20
|
+
%td= "#{label} ##{t.item}"
|
21
|
+
%td= t.message
|
@@ -99,6 +99,13 @@
|
|
99
99
|
- if export_action
|
100
100
|
%span{:style => 'float:right'}= link_to wording_for(:link, export_action), export_path(params.except('set').except('page')), :class => 'btn btn-info'
|
101
101
|
|
102
|
+
- unless @model_config.list.scopes.empty?
|
103
|
+
%ul.nav.nav-tabs#scope_selector
|
104
|
+
- @model_config.list.scopes.each_with_index do |scope, index|
|
105
|
+
- scope = '_all' if scope.nil?
|
106
|
+
%li{class: "#{'active' if scope.to_s == params[:scope] || (params[:scope].blank? && index == 0)}"}
|
107
|
+
%a{href: index_path(params.merge(:scope => scope, :page => nil))}= I18n.t("admin.scopes.#{@abstract_model.to_param}.#{scope}", :default => I18n.t("admin.scopes.#{scope}", :default => scope.to_s.titleize))
|
108
|
+
|
102
109
|
= form_tag bulk_action_path(:model_name => @abstract_model.to_param), :method => :post, :id => "bulk_form", :class => "form" do
|
103
110
|
= hidden_field_tag :bulk_action
|
104
111
|
%table.table.table-condensed.table-striped
|
@@ -5,14 +5,14 @@ if defined?(::ActiveRecord)
|
|
5
5
|
end
|
6
6
|
|
7
7
|
def rails_admin_default_object_label_method
|
8
|
-
self.new_record? ? "new #{self.class.to_s}" : "#{self.class.to_s} ##{
|
8
|
+
self.new_record? ? "new #{self.class.to_s}" : "#{self.class.to_s} ##{id}"
|
9
9
|
end
|
10
10
|
|
11
11
|
def safe_send(value)
|
12
12
|
if self.has_attribute?(value)
|
13
|
-
|
13
|
+
read_attribute(value)
|
14
14
|
else
|
15
|
-
|
15
|
+
send(value)
|
16
16
|
end
|
17
17
|
end
|
18
18
|
end
|
data/config/initializers/haml.rb
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
require
|
1
|
+
require 'haml'
|
2
2
|
Haml::Template.options[:ugly] = true
|
data/config/routes.rb
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
RailsAdmin::Engine.routes.draw do
|
2
|
-
controller
|
3
|
-
RailsAdmin::Config::Actions.all(:root).each { |action| match "/#{action.route_fragment}", :
|
4
|
-
scope
|
5
|
-
RailsAdmin::Config::Actions.all(:collection).each { |action| match "/#{action.route_fragment}", :
|
6
|
-
post
|
7
|
-
scope
|
8
|
-
RailsAdmin::Config::Actions.all(:member).each { |action| match "/#{action.route_fragment}", :
|
2
|
+
controller 'main' do
|
3
|
+
RailsAdmin::Config::Actions.all(:root).each { |action| match "/#{action.route_fragment}", to: action.action_name, as: action.action_name, via: action.http_methods }
|
4
|
+
scope ':model_name' do
|
5
|
+
RailsAdmin::Config::Actions.all(:collection).each { |action| match "/#{action.route_fragment}", to: action.action_name, as: action.action_name, via: action.http_methods }
|
6
|
+
post '/bulk_action', to: :bulk_action, as: 'bulk_action'
|
7
|
+
scope ':id' do
|
8
|
+
RailsAdmin::Config::Actions.all(:member).each { |action| match "/#{action.route_fragment}", to: action.action_name, as: action.action_name, via: action.http_methods }
|
9
9
|
end
|
10
10
|
end
|
11
11
|
end
|
@@ -1,97 +1,18 @@
|
|
1
1
|
require 'rails/generators'
|
2
2
|
require File.expand_path('../utils', __FILE__)
|
3
3
|
|
4
|
-
# http://guides.rubyonrails.org/generators.html
|
5
|
-
# http://rdoc.info/github/wycats/thor/master/Thor/Actions.html
|
6
|
-
# keep generator idempotent, thanks
|
7
|
-
|
8
4
|
module RailsAdmin
|
9
5
|
class InstallGenerator < Rails::Generators::Base
|
10
|
-
source_root File.expand_path(
|
11
|
-
include Rails::Generators::Migration
|
6
|
+
source_root File.expand_path('../templates', __FILE__)
|
12
7
|
include Generators::Utils::InstanceMethods
|
13
|
-
extend Generators::Utils::ClassMethods
|
14
8
|
|
15
|
-
|
16
|
-
|
17
|
-
argument :_model_name, :type => :string, :required => false, :desc => "Devise user model name"
|
18
|
-
argument :_namespace, :type => :string, :required => false, :desc => "RailsAdmin url namespace"
|
19
|
-
desc "RailsAdmin installation generator"
|
9
|
+
argument :_namespace, type: :string, required: false, desc: 'RailsAdmin url namespace'
|
10
|
+
desc 'RailsAdmin installation generator'
|
20
11
|
|
21
12
|
def install
|
22
|
-
|
23
|
-
initializer = (File.open(Rails.root.join("config/initializers/rails_admin.rb")) rescue nil).try :read
|
24
|
-
|
25
|
-
display "Hello, RailsAdmin installer will help you set things up!", :blue
|
26
|
-
display "I need to work with Devise, let's look at a few things first:"
|
27
|
-
if options[:skip_devise]
|
28
|
-
display "Skipping devise installation..."
|
29
|
-
else
|
30
|
-
display "Checking for a current installation of devise..."
|
31
|
-
unless defined?(Devise)
|
32
|
-
display "Adding devise gem to your Gemfile:"
|
33
|
-
append_file "Gemfile", "\n", :force => true
|
34
|
-
gem 'devise'
|
35
|
-
Bundler.with_clean_env do
|
36
|
-
run "bundle install"
|
37
|
-
end
|
38
|
-
else
|
39
|
-
display "Found it!"
|
40
|
-
end
|
41
|
-
unless File.exists?(Rails.root.join("config/initializers/devise.rb"))
|
42
|
-
display "Looks like you don't have devise installed! We'll install it for you:"
|
43
|
-
generate "devise:install"
|
44
|
-
else
|
45
|
-
display "Looks like you've already installed it, good!"
|
46
|
-
end
|
47
|
-
end
|
48
|
-
|
49
|
-
namespace = ask_for("Where do you want to mount rails_admin?", "admin", _namespace)
|
50
|
-
gsub_file "config/routes.rb", /mount RailsAdmin::Engine => \'\/.+\', :as => \'rails_admin\'/, ''
|
13
|
+
namespace = ask_for('Where do you want to mount rails_admin?', 'admin', _namespace)
|
51
14
|
route("mount RailsAdmin::Engine => '/#{namespace}', :as => 'rails_admin'")
|
52
|
-
|
53
|
-
unless options[:skip_devise]
|
54
|
-
unless routes.index("devise_for")
|
55
|
-
model_name = ask_for("What would you like the user model to be called?", "user", _model_name)
|
56
|
-
display "Now setting up devise with user model name '#{model_name}':"
|
57
|
-
generate "devise", model_name
|
58
|
-
else
|
59
|
-
display "And you already set it up, good! We just need to know about your user model name..."
|
60
|
-
guess = routes.match(/devise_for +:(\w+)/)[1].try(:singularize)
|
61
|
-
display("We found '#{guess}' (should be one of 'user', 'admin', etc.)")
|
62
|
-
model_name = ask_for("Correct Devise model name if needed.", guess, _model_name)
|
63
|
-
unless guess == model_name
|
64
|
-
display "Now setting up devise with user model name '#{model_name}':"
|
65
|
-
generate "devise", model_name
|
66
|
-
else
|
67
|
-
display "Ok, Devise looks already set up with user model name '#{model_name}':"
|
68
|
-
end
|
69
|
-
end
|
70
|
-
end
|
71
|
-
display "Now you'll need an initializer..."
|
72
|
-
@current_user_method = model_name ? "current_#{model_name.to_s.underscore}" : ""
|
73
|
-
@model_name = model_name || '<your user class>'
|
74
|
-
unless initializer
|
75
|
-
template "initializer.erb", "config/initializers/rails_admin.rb"
|
76
|
-
else
|
77
|
-
display "You already have a config file. You're updating, heh? I'm generating a new 'rails_admin.rb.example' that you can review."
|
78
|
-
template "initializer.erb", "config/initializers/rails_admin.rb.example"
|
79
|
-
config_tag = initializer.match(/RailsAdmin\.config.+\|(.+)\|/)[1] rescue nil
|
80
|
-
if config_tag
|
81
|
-
if initializer.index(::Regexp.new("#{config_tag}\.current_user_method.?\{.+?\}"))
|
82
|
-
display "current_user_method found and updated with '#{@current_user_method}'", :green
|
83
|
-
gsub_file Rails.root.join("config/initializers/rails_admin.rb"), ::Regexp.new("#{config_tag}\.current_user_method.?\{.+?\}"), "#{config_tag}.current_user_method { #{@current_user_method} }"
|
84
|
-
else
|
85
|
-
display "current_user_method not found. Added one with '#{@current_user_method}'!", :yellow
|
86
|
-
insert_into_file Rails.root.join("config/initializers/rails_admin.rb"), "\n\n #{config_tag}.current_user_method { #{@current_user_method} } #auto-generated", :after => /^RailsAdmin\.config.+$/
|
87
|
-
end
|
88
|
-
else
|
89
|
-
display "Couldn't parse your config file: current_user_method couldn't be updated", :red
|
90
|
-
end
|
91
|
-
end
|
92
|
-
display "Adding a migration..."
|
93
|
-
migration_template 'migration.rb', 'db/migrate/create_rails_admin_histories_table.rb' rescue display $!.message
|
94
|
-
display "Job's done: migrate, start your server and visit '/#{namespace}'!", :blue
|
15
|
+
template 'initializer.erb', 'config/initializers/rails_admin.rb'
|
95
16
|
end
|
96
17
|
end
|
97
18
|
end
|
@@ -1,100 +1,34 @@
|
|
1
|
-
# RailsAdmin config file. Generated on <%= DateTime.now.to_s(:long) %>
|
2
|
-
# See github.com/sferik/rails_admin for more informations
|
3
|
-
|
4
1
|
RailsAdmin.config do |config|
|
5
2
|
|
3
|
+
### Popular gems integration
|
6
4
|
|
7
|
-
|
8
|
-
|
9
|
-
#
|
10
|
-
config.main_app_name = ['<%= Rails.application.engine_name.titleize.chomp(' Application') %>', 'Admin']
|
11
|
-
# or for a more dynamic name:
|
12
|
-
# config.main_app_name = Proc.new { |controller| [Rails.application.engine_name.titleize, controller.params['action'].titleize] }
|
13
|
-
|
14
|
-
# RailsAdmin may need a way to know who the current user is]
|
15
|
-
config.current_user_method { <%= @current_user_method %> } # auto-generated
|
16
|
-
|
17
|
-
# If you want to track changes on your models:
|
18
|
-
# config.audit_with :history, '<%= @model_name.classify %>'
|
19
|
-
|
20
|
-
# Or with a PaperTrail: (you need to install it first)
|
21
|
-
# config.audit_with :paper_trail, '<%= @model_name.classify %>'
|
22
|
-
|
23
|
-
# Display empty fields in show views:
|
24
|
-
# config.compact_show_view = false
|
25
|
-
|
26
|
-
# Number of default rows per-page:
|
27
|
-
# config.default_items_per_page = 20
|
28
|
-
|
29
|
-
# Exclude specific models (keep the others):
|
30
|
-
# config.excluded_models = [<%= RailsAdmin::AbstractModel.all.map{|am| "'#{am.model}'" }.join(', ') %>]
|
31
|
-
|
32
|
-
# Include specific models (exclude the others):
|
33
|
-
# config.included_models = [<%= RailsAdmin::AbstractModel.all.map{|am| "'#{am.model}'" }.join(', ') %>]
|
34
|
-
|
35
|
-
# Label methods for model instances:
|
36
|
-
# config.label_methods << :description # Default is [:name, :title]
|
37
|
-
|
38
|
-
|
39
|
-
################ Model configuration ################
|
40
|
-
|
41
|
-
# Each model configuration can alternatively:
|
42
|
-
# - stay here in a `config.model 'ModelName' do ... end` block
|
43
|
-
# - go in the model definition file in a `rails_admin do ... end` block
|
44
|
-
|
45
|
-
# This is your choice to make:
|
46
|
-
# - This initializer is loaded once at startup (modifications will show up when restarting the application) but all RailsAdmin configuration would stay in one place.
|
47
|
-
# - Models are reloaded at each request in development mode (when modified), which may smooth your RailsAdmin development workflow.
|
48
|
-
|
49
|
-
|
50
|
-
# Now you probably need to tour the wiki a bit: https://github.com/sferik/rails_admin/wiki
|
51
|
-
# Anyway, here is how RailsAdmin saw your application's models when you ran the initializer:
|
52
|
-
|
53
|
-
<% RailsAdmin::AbstractModel.all.map do |abstract_model| -%>
|
54
|
-
|
55
|
-
|
56
|
-
### <%= abstract_model.model.model_name %> ###
|
57
|
-
|
58
|
-
# config.model '<%= abstract_model.model.model_name %>' do
|
59
|
-
|
60
|
-
# # You can copy this to a 'rails_admin do ... end' block inside your <%= abstract_model.model.model_name.to_s.underscore %>.rb model definition
|
61
|
-
|
62
|
-
# # Found associations:
|
63
|
-
|
64
|
-
<%= abstract_model.config.export.fields.select{|f| f.association?}.map do |field|
|
65
|
-
%{ # configure #{field.name.inspect}, #{field.type.inspect}#{" # Hidden" unless field.visible?} }
|
66
|
-
end.join("\n") %>
|
67
|
-
|
68
|
-
# # Found columns:
|
69
|
-
|
70
|
-
<%= abstract_model.config.export.fields.select{|f| !f.association?}.map do |field|
|
71
|
-
%{ # configure #{field.name.inspect}, #{field.type.inspect}#{" # Hidden" unless field.visible?} }
|
72
|
-
end.join("\n") %>
|
73
|
-
|
74
|
-
# # Cross-section configuration:
|
75
|
-
|
76
|
-
# # object_label_method :name # Name of the method called for pretty printing an *instance* of ModelName
|
77
|
-
# # label 'My model' # Name of ModelName (smartly defaults to ActiveRecord's I18n API)
|
78
|
-
# # label_plural 'My models' # Same, plural
|
79
|
-
# # weight 0 # Navigation priority. Bigger is higher.
|
80
|
-
# # parent OtherModel # Set parent model for navigation. MyModel will be nested below. OtherModel will be on first position of the dropdown
|
81
|
-
# # navigation_label # Sets dropdown entry's name in navigation. Only for parents!
|
82
|
-
|
83
|
-
# # Section specific configuration:
|
84
|
-
|
85
|
-
# list do
|
86
|
-
# # filters [:id, :name] # Array of field names which filters should be shown by default in the table header
|
87
|
-
# # items_per_page 100 # Override default_items_per_page
|
88
|
-
# # sort_by :id # Sort column (default is primary key)
|
89
|
-
# # sort_reverse true # Sort direction (default is true for primary key, last created first)
|
90
|
-
# end
|
91
|
-
# show do; end
|
92
|
-
# edit do; end
|
93
|
-
# export do; end
|
94
|
-
# # also see the create, update, modal and nested sections, which override edit in specific cases (resp. when creating, updating, modifying from another model in a popup modal or modifying from another model nested form)
|
95
|
-
# # you can override a cross-section field configuration in any section with the same syntax `configure :field_name do ... end`
|
96
|
-
# # using `field` instead of `configure` will exclude all other fields and force the ordering
|
5
|
+
## == Devise ==
|
6
|
+
# config.authenticate_with do
|
7
|
+
# warden.authenticate! scope: :user
|
97
8
|
# end
|
98
|
-
|
99
|
-
|
9
|
+
# config.current_user_method(&:current_user)
|
10
|
+
|
11
|
+
## == Cancan ==
|
12
|
+
# config.authorize_with :cancan
|
13
|
+
|
14
|
+
## == PaperTrail ==
|
15
|
+
# config.audit_with :paper_trail, 'User', 'PaperTrail::Version' # PaperTrail >= 3.0.0
|
16
|
+
|
17
|
+
### More at https://github.com/sferik/rails_admin/wiki/Base-configuration
|
18
|
+
|
19
|
+
config.actions do
|
20
|
+
dashboard # mandatory
|
21
|
+
index # mandatory
|
22
|
+
new
|
23
|
+
export
|
24
|
+
bulk_delete
|
25
|
+
show
|
26
|
+
edit
|
27
|
+
delete
|
28
|
+
show_in_app
|
29
|
+
|
30
|
+
## With an audit adapter, you can add:
|
31
|
+
# history_index
|
32
|
+
# history_show
|
33
|
+
end
|
100
34
|
end
|
@@ -7,24 +7,13 @@ module RailsAdmin
|
|
7
7
|
end
|
8
8
|
|
9
9
|
def ask_for(wording, default_value = nil, override_if_present_value = nil)
|
10
|
-
override_if_present_value.present?
|
11
|
-
display("Using [#{override_if_present_value}] for question '#{wording}'") && override_if_present_value
|
12
|
-
ask(" ? #{wording} Press <enter> for [#{default_value}] >", :yellow).presence || default_value
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
module ClassMethods
|
17
|
-
def next_migration_number(dirname)
|
18
|
-
if ActiveRecord::Base.timestamped_migrations
|
19
|
-
migration_number = Time.now.utc.strftime("%Y%m%d%H%M%S").to_i
|
20
|
-
migration_number += 1
|
21
|
-
migration_number.to_s
|
10
|
+
if override_if_present_value.present?
|
11
|
+
display("Using [#{override_if_present_value}] for question '#{wording}'") && override_if_present_value
|
22
12
|
else
|
23
|
-
"
|
13
|
+
ask(" ? #{wording} Press <enter> for [#{default_value}] >", :yellow).presence || default_value
|
24
14
|
end
|
25
15
|
end
|
26
16
|
end
|
27
17
|
end
|
28
18
|
end
|
29
19
|
end
|
30
|
-
|
data/lib/rails_admin.rb
CHANGED
@@ -25,7 +25,7 @@ module RailsAdmin
|
|
25
25
|
def self.config(entity = nil, &block)
|
26
26
|
if entity
|
27
27
|
RailsAdmin::Config.model(entity, &block)
|
28
|
-
elsif block_given?
|
28
|
+
elsif block_given?
|
29
29
|
block.call(RailsAdmin::Config)
|
30
30
|
else
|
31
31
|
RailsAdmin::Config
|
@@ -9,8 +9,8 @@ module RailsAdmin
|
|
9
9
|
end
|
10
10
|
|
11
11
|
def all(adapter = nil)
|
12
|
-
@@all ||= Config.models_pool.
|
13
|
-
adapter ? @@all.select{|m| m.adapter == adapter} : @@all
|
12
|
+
@@all ||= Config.models_pool.collect { |m| new(m) }.compact
|
13
|
+
adapter ? @@all.select { |m| m.adapter == adapter } : @@all
|
14
14
|
end
|
15
15
|
|
16
16
|
alias_method :old_new, :new
|
@@ -18,7 +18,7 @@ module RailsAdmin
|
|
18
18
|
m = m.constantize unless m.is_a?(Class)
|
19
19
|
(am = old_new(m)).model && am.adapter ? am : nil
|
20
20
|
rescue LoadError, NameError
|
21
|
-
puts "[RailsAdmin] Could not load model #{m}, assuming model is non existing. (#{
|
21
|
+
puts "[RailsAdmin] Could not load model #{m}, assuming model is non existing. (#{$ERROR_INFO})" unless Rails.env.test?
|
22
22
|
nil
|
23
23
|
end
|
24
24
|
|
@@ -27,7 +27,7 @@ module RailsAdmin
|
|
27
27
|
def polymorphic_parents(adapter, model_name, name)
|
28
28
|
@@polymorphic_parents[adapter.to_sym] ||= {}.tap do |hash|
|
29
29
|
all(adapter).each do |am|
|
30
|
-
am.associations.select{|r| r[:as] }.each do |association|
|
30
|
+
am.associations.select { |r| r[:as] }.each do |association|
|
31
31
|
(hash[[association[:model_proc].call.to_s.underscore, association[:as]].join('_').to_sym] ||= []) << am.model
|
32
32
|
end
|
33
33
|
end
|
@@ -43,7 +43,7 @@ module RailsAdmin
|
|
43
43
|
|
44
44
|
def initialize(model_or_model_name)
|
45
45
|
@model_name = model_or_model_name.to_s
|
46
|
-
ancestors = model.ancestors.
|
46
|
+
ancestors = model.ancestors.collect(&:to_s)
|
47
47
|
if ancestors.include?('ActiveRecord::Base') && !model.abstract_class?
|
48
48
|
initialize_active_record
|
49
49
|
elsif ancestors.include?('Mongoid::Document')
|
@@ -65,11 +65,11 @@ module RailsAdmin
|
|
65
65
|
end
|
66
66
|
|
67
67
|
def to_param
|
68
|
-
@model_name.split(
|
68
|
+
@model_name.split('::').collect(&:underscore).join('~')
|
69
69
|
end
|
70
70
|
|
71
71
|
def param_key
|
72
|
-
@model_name.split(
|
72
|
+
@model_name.split('::').collect(&:underscore).join('_')
|
73
73
|
end
|
74
74
|
|
75
75
|
def pretty_name
|
@@ -88,14 +88,14 @@ module RailsAdmin
|
|
88
88
|
yield(association, child)
|
89
89
|
end
|
90
90
|
when :has_many
|
91
|
-
object.send(association[:name]).each do |child|
|
91
|
+
object.send(association[:name]).each do |child| # rubocop:disable ShadowingOuterLocalVariable
|
92
92
|
yield(association, child)
|
93
93
|
end
|
94
94
|
end
|
95
95
|
end
|
96
96
|
end
|
97
97
|
|
98
|
-
|
98
|
+
private
|
99
99
|
|
100
100
|
def initialize_active_record
|
101
101
|
@adapter = :active_record
|
@@ -124,7 +124,7 @@ module RailsAdmin
|
|
124
124
|
build_statement_for_type_generic
|
125
125
|
end
|
126
126
|
|
127
|
-
|
127
|
+
protected
|
128
128
|
|
129
129
|
def get_filtering_duration
|
130
130
|
FilteringDuration.new(@operator, @value).get_duration
|
@@ -132,20 +132,22 @@ module RailsAdmin
|
|
132
132
|
|
133
133
|
def build_statement_for_type_generic
|
134
134
|
build_statement_for_type || case @type
|
135
|
-
|
136
|
-
|
137
|
-
|
135
|
+
when :date
|
136
|
+
build_statement_for_date
|
137
|
+
when :datetime, :timestamp
|
138
|
+
build_statement_for_datetime_or_timestamp
|
139
|
+
end
|
138
140
|
end
|
139
141
|
|
140
142
|
def build_statement_for_type
|
141
|
-
|
143
|
+
fail('You must override build_statement_for_type in your StatementBuilder')
|
142
144
|
end
|
143
145
|
|
144
146
|
def build_statement_for_integer_decimal_or_float
|
145
147
|
case @value
|
146
148
|
when Array then
|
147
|
-
val, range_begin, range_end = *@value.
|
148
|
-
if
|
149
|
+
val, range_begin, range_end = *@value.collect do |v|
|
150
|
+
if v.to_i.to_s == v || v.to_f.to_s == v
|
149
151
|
@type == :integer ? v.to_i : v.to_f
|
150
152
|
end
|
151
153
|
end
|
@@ -174,11 +176,11 @@ module RailsAdmin
|
|
174
176
|
end
|
175
177
|
|
176
178
|
def unary_operators
|
177
|
-
|
179
|
+
fail('You must override unary_operators in your StatementBuilder')
|
178
180
|
end
|
179
181
|
|
180
182
|
def range_filter(min, max)
|
181
|
-
|
183
|
+
fail('You must override range_filter in your StatementBuilder')
|
182
184
|
end
|
183
185
|
|
184
186
|
class FilteringDuration
|
@@ -189,12 +191,12 @@ module RailsAdmin
|
|
189
191
|
|
190
192
|
def get_duration
|
191
193
|
case @operator
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
194
|
+
when 'between' then between
|
195
|
+
when 'today' then today
|
196
|
+
when 'yesterday' then yesterday
|
197
|
+
when 'this_week' then this_week
|
198
|
+
when 'last_week' then last_week
|
199
|
+
else default
|
198
200
|
end
|
199
201
|
end
|
200
202
|
|
@@ -212,7 +214,7 @@ module RailsAdmin
|
|
212
214
|
|
213
215
|
def last_week
|
214
216
|
[1.week.ago.to_date.beginning_of_week,
|
215
|
-
|
217
|
+
1.week.ago.to_date.end_of_week]
|
216
218
|
end
|
217
219
|
|
218
220
|
def between
|
@@ -223,11 +225,11 @@ module RailsAdmin
|
|
223
225
|
[default_date, default_date]
|
224
226
|
end
|
225
227
|
|
226
|
-
|
228
|
+
private
|
227
229
|
|
228
230
|
def date_format
|
229
|
-
I18n.t(
|
230
|
-
|
231
|
+
I18n.t('admin.misc.filter_date_format',
|
232
|
+
default: I18n.t('admin.misc.filter_date_format', locale: :en)).gsub('dd', '%d').gsub('mm', '%m').gsub('yy', '%Y')
|
231
233
|
end
|
232
234
|
|
233
235
|
def convert_to_date(value)
|