activerecord-sortable 0.0.3 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/activerecord/sortable/acts_as_sortable.rb +7 -7
- data/lib/activerecord/sortable/acts_as_sortable/instance_methods.rb +10 -12
- data/lib/activerecord/sortable/version.rb +1 -1
- data/spec/dummy-3.2/Rakefile +7 -0
- data/spec/dummy-3.2/app/assets/images/rails.png +0 -0
- data/spec/dummy-3.2/app/assets/javascripts/application.js +10 -0
- data/spec/{dummy → dummy-3.2}/app/assets/javascripts/jquery.simulate.js +0 -0
- data/spec/{dummy → dummy-3.2}/app/assets/stylesheets/application.css +0 -0
- data/spec/{dummy → dummy-3.2}/app/controllers/application_controller.rb +0 -0
- data/spec/dummy-3.2/app/controllers/parents_controller.rb +24 -0
- data/spec/{dummy → dummy-3.2}/app/controllers/things_controller.rb +0 -0
- data/spec/{dummy → dummy-3.2}/app/helpers/application_helper.rb +0 -0
- data/spec/dummy-3.2/app/models/child.rb +9 -0
- data/spec/{dummy → dummy-3.2}/app/models/item.rb +0 -0
- data/spec/{dummy → dummy-3.2}/app/models/other_thing.rb +0 -0
- data/spec/dummy-3.2/app/models/parent.rb +7 -0
- data/spec/{dummy → dummy-3.2}/app/models/thing.rb +0 -0
- data/spec/{dummy → dummy-3.2}/app/views/layouts/application.html.erb +0 -0
- data/spec/{dummy → dummy-3.2}/app/views/parents/_form.html.erb +0 -0
- data/spec/{dummy → dummy-3.2}/app/views/parents/new.html.erb +0 -0
- data/spec/{dummy → dummy-3.2}/app/views/parents/show.html.erb +0 -0
- data/spec/{dummy → dummy-3.2}/app/views/things/_thing.html.erb +0 -0
- data/spec/{dummy → dummy-3.2}/app/views/things/index.html.erb +0 -0
- data/spec/{dummy → dummy-3.2}/app/views/things/move.js.erb +0 -0
- data/spec/dummy-3.2/config.ru +4 -0
- data/spec/dummy-3.2/config/application.rb +65 -0
- data/spec/dummy-3.2/config/boot.rb +6 -0
- data/spec/{dummy → dummy-3.2}/config/database.yml +0 -0
- data/spec/dummy-3.2/config/environment.rb +5 -0
- data/spec/dummy-3.2/config/environments/development.rb +32 -0
- data/spec/dummy-3.2/config/environments/production.rb +54 -0
- data/spec/dummy-3.2/config/environments/test.rb +37 -0
- data/spec/{dummy → dummy-3.2}/config/initializers/backtrace_silencers.rb +0 -0
- data/spec/dummy-3.2/config/initializers/inflections.rb +15 -0
- data/spec/{dummy → dummy-3.2}/config/initializers/mime_types.rb +0 -0
- data/spec/dummy-3.2/config/initializers/secret_token.rb +7 -0
- data/spec/dummy-3.2/config/initializers/session_store.rb +8 -0
- data/spec/dummy-3.2/config/initializers/wrap_parameters.rb +14 -0
- data/spec/dummy-3.2/config/locales/en.yml +5 -0
- data/spec/dummy-3.2/config/routes.rb +10 -0
- data/spec/{dummy → dummy-3.2}/db/migrate/20140512100816_create_things.rb +0 -0
- data/spec/{dummy → dummy-3.2}/db/migrate/20140525104834_create_other_things.rb +0 -0
- data/spec/{dummy → dummy-3.2}/db/migrate/20140525111906_create_items.rb +0 -0
- data/spec/{dummy → dummy-3.2}/db/migrate/20140525112123_add_position_to_items.rb +0 -0
- data/spec/{dummy → dummy-3.2}/db/migrate/20140721161028_create_parents.rb +0 -0
- data/spec/{dummy → dummy-3.2}/db/migrate/20140721161122_create_children.rb +0 -0
- data/spec/dummy-3.2/db/schema.rb +55 -0
- data/spec/dummy-3.2/db/seeds.rb +7 -0
- data/spec/{dummy/db/development.sqlite3 → dummy-3.2/db/test.sqlite3} +0 -0
- data/spec/dummy-3.2/log/test.log +36041 -0
- data/spec/dummy-3.2/public/404.html +26 -0
- data/spec/dummy-3.2/public/422.html +26 -0
- data/spec/dummy-3.2/public/500.html +25 -0
- data/spec/{dummy → dummy-3.2}/public/favicon.ico +0 -0
- data/spec/dummy-3.2/public/robots.txt +5 -0
- data/spec/dummy-3.2/script/rails +6 -0
- data/spec/dummy-3.2/tmp/cache/assets/C1D/DC0/sprockets%2Fbd257232b00955899e62111d88f71041 +0 -0
- data/spec/dummy-3.2/tmp/cache/assets/C28/E50/sprockets%2Fcaf21088467d229770a205c793606696 +0 -0
- data/spec/dummy-3.2/tmp/cache/assets/C5F/C30/sprockets%2F84e4e9c827d1814423aef96781130936 +0 -0
- data/spec/dummy-3.2/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953 +0 -0
- data/spec/dummy-3.2/tmp/cache/assets/CF2/E80/sprockets%2F1a6f1c162b9dfb93795797f662d126f5 +0 -0
- data/spec/dummy-3.2/tmp/cache/assets/CFB/D20/sprockets%2F5df6058037c4d659aff637757e6e26e7 +0 -0
- data/spec/dummy-3.2/tmp/cache/assets/CFD/3D0/sprockets%2Ff98a36c3de128188a92b989fe146b597 +0 -0
- data/spec/dummy-3.2/tmp/cache/assets/D0D/4D0/sprockets%2F75ce7784ba307d080147ccc3b8f18b52 +0 -0
- data/spec/dummy-3.2/tmp/cache/assets/D0E/EB0/sprockets%2Ffb491b7b510d8f810fa99e54106f232e +0 -0
- data/spec/dummy-3.2/tmp/cache/assets/D16/490/sprockets%2F9f74f5b15b509b3d296fe3ab392d1591 +0 -0
- data/spec/{dummy/tmp/cache/assets/development/sprockets/b84a4d17f27ef190e1eed6129eaac20b → dummy-3.2/tmp/cache/assets/D17/5F0/sprockets%2Fe36f5b9a442f84c3592c7fb2169a5d15} +0 -0
- data/spec/dummy-3.2/tmp/cache/assets/D1D/2E0/sprockets%2F2823f8b739b392b4df3acc1a59787c39 +0 -0
- data/spec/dummy-3.2/tmp/cache/assets/D2A/090/sprockets%2F11820a6ecc13dd7f7094529f02abab32 +0 -0
- data/spec/dummy-3.2/tmp/cache/assets/D30/020/sprockets%2Fcaf0d6f1b1316a9cb603579bca409318 +0 -0
- data/spec/dummy-3.2/tmp/cache/assets/D31/250/sprockets%2Faf2c32ff2528da1f13a6d630b2475f36 +0 -0
- data/spec/dummy-3.2/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705 +0 -0
- data/spec/dummy-3.2/tmp/cache/assets/D3C/C90/sprockets%2F10910e286e7d2d8870157db2abcafe39 +0 -0
- data/spec/dummy-3.2/tmp/cache/assets/D49/5C0/sprockets%2Fae7d162666d06a17f86cb4e34719dd7e +0 -0
- data/spec/dummy-3.2/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655 +0 -0
- data/spec/dummy-3.2/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6 +0 -0
- data/spec/dummy-3.2/tmp/cache/assets/D62/470/sprockets%2F970fcaaf1f2e080f41516cae13c267e4 +0 -0
- data/spec/{dummy/tmp/cache/assets/development/sprockets/67ad3a3d9a5fa9dd07456e131ce9c2a8 → dummy-3.2/tmp/cache/assets/D69/C30/sprockets%2Fad2bd7e647c68002aaee26990c98da10} +0 -0
- data/spec/dummy-3.2/tmp/cache/assets/D6B/4C0/sprockets%2Fd2c5de321ee505d7989880baceaa1065 +0 -0
- data/spec/dummy-3.2/tmp/cache/assets/D73/900/sprockets%2Fac9267f1f84fd085b4ea4c720b8b6f70 +0 -0
- data/spec/dummy-3.2/tmp/cache/assets/DC8/7B0/sprockets%2Fa00bb25f3c19ec36bd45b9f8f5db42c7 +0 -0
- data/spec/dummy-3.2/tmp/cache/assets/DC9/F90/sprockets%2F09c11bdeef2fe5ba3fb3983de6031f72 +0 -0
- data/spec/dummy-3.2/tmp/cache/assets/DD3/8B0/sprockets%2F0bb2483991c2c5f7f83fde21edafb6a9 +0 -0
- data/spec/dummy-3.2/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994 +0 -0
- data/spec/dummy-3.2/tmp/cache/assets/DE2/810/sprockets%2F02e6da2de0eeda095c3ab81e1033fc1d +0 -0
- data/spec/dummy-3.2/tmp/cache/assets/DFF/FC0/sprockets%2F2cddaa943bba17b89f9db05d6493f7ab +0 -0
- data/spec/dummy-3.2/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af +0 -0
- data/spec/dummy-3.2/tmp/cache/assets/E06/100/sprockets%2Febe17685dedaf8f574dde1463bdea118 +0 -0
- data/spec/dummy-3.2/tmp/cache/assets/E2F/BB0/sprockets%2F7eabb62183b7ca5d57cefb5c558e0cdf +0 -0
- data/spec/dummy-3.2/tmp/cache/assets/E4B/D50/sprockets%2Ff4e214ad5a26cfeb52bf6aa05ecae9a2 +0 -0
- data/spec/dummy-3.2/tmp/cache/assets/E58/A50/sprockets%2F9dabdc14eb4aece9a09cf86c11c52ec6 +0 -0
- data/spec/{dummy → dummy-4.0}/Rakefile +0 -0
- data/spec/{dummy → dummy-4.0}/app/assets/javascripts/application.js +1 -1
- data/spec/dummy-4.0/app/assets/javascripts/jquery.simulate.js +312 -0
- data/spec/dummy-4.0/app/assets/stylesheets/application.css +14 -0
- data/spec/dummy-4.0/app/controllers/application_controller.rb +5 -0
- data/spec/{dummy → dummy-4.0}/app/controllers/parents_controller.rb +0 -0
- data/spec/dummy-4.0/app/controllers/things_controller.rb +10 -0
- data/spec/dummy-4.0/app/helpers/application_helper.rb +2 -0
- data/spec/{dummy → dummy-4.0}/app/models/child.rb +0 -0
- data/spec/dummy-4.0/app/models/item.rb +3 -0
- data/spec/dummy-4.0/app/models/other_thing.rb +5 -0
- data/spec/{dummy → dummy-4.0}/app/models/parent.rb +0 -0
- data/spec/dummy-4.0/app/models/thing.rb +3 -0
- data/spec/dummy-4.0/app/views/layouts/application.html.erb +14 -0
- data/spec/dummy-4.0/app/views/parents/_form.html.erb +18 -0
- data/spec/dummy-4.0/app/views/parents/new.html.erb +3 -0
- data/spec/dummy-4.0/app/views/parents/show.html.erb +9 -0
- data/spec/dummy-4.0/app/views/things/_thing.html.erb +3 -0
- data/spec/dummy-4.0/app/views/things/index.html.erb +11 -0
- data/spec/dummy-4.0/app/views/things/move.js.erb +4 -0
- data/spec/{dummy → dummy-4.0}/bin/bundle +0 -0
- data/spec/{dummy → dummy-4.0}/bin/rails +0 -0
- data/spec/{dummy → dummy-4.0}/bin/rake +0 -0
- data/spec/{dummy → dummy-4.0}/config.ru +0 -0
- data/spec/dummy-4.0/config/application.rb +29 -0
- data/spec/dummy-4.0/config/boot.rb +4 -0
- data/spec/dummy-4.0/config/database.yml +25 -0
- data/spec/{dummy → dummy-4.0}/config/environment.rb +0 -0
- data/spec/dummy-4.0/config/environments/development.rb +28 -0
- data/spec/dummy-4.0/config/environments/production.rb +65 -0
- data/spec/dummy-4.0/config/environments/test.rb +39 -0
- data/spec/dummy-4.0/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/{dummy → dummy-4.0}/config/initializers/filter_parameter_logging.rb +0 -0
- data/spec/{dummy → dummy-4.0}/config/initializers/inflections.rb +0 -0
- data/spec/dummy-4.0/config/initializers/mime_types.rb +5 -0
- data/spec/dummy-4.0/config/initializers/secret_token.rb +12 -0
- data/spec/dummy-4.0/config/initializers/session_store.rb +3 -0
- data/spec/{dummy → dummy-4.0}/config/initializers/wrap_parameters.rb +0 -0
- data/spec/{dummy → dummy-4.0}/config/locales/en.yml +0 -0
- data/spec/{dummy → dummy-4.0}/config/routes.rb +0 -0
- data/spec/dummy-4.0/db/migrate/20140512100816_create_things.rb +10 -0
- data/spec/dummy-4.0/db/migrate/20140525104834_create_other_things.rb +10 -0
- data/spec/dummy-4.0/db/migrate/20140525111906_create_items.rb +7 -0
- data/spec/dummy-4.0/db/migrate/20140525112123_add_position_to_items.rb +13 -0
- data/spec/dummy-4.0/db/migrate/20140721161028_create_parents.rb +7 -0
- data/spec/dummy-4.0/db/migrate/20140721161122_create_children.rb +16 -0
- data/spec/{dummy → dummy-4.0}/db/schema.rb +0 -0
- data/spec/dummy-4.0/db/seeds.rb +7 -0
- data/spec/{dummy → dummy-4.0}/db/test.sqlite3 +0 -0
- data/spec/dummy-4.0/log/test.log +12754 -0
- data/spec/{dummy → dummy-4.0}/public/404.html +0 -0
- data/spec/{dummy → dummy-4.0}/public/422.html +0 -0
- data/spec/{dummy → dummy-4.0}/public/500.html +0 -0
- data/spec/dummy-4.0/public/favicon.ico +0 -0
- data/spec/dummy-4.0/public/robots.txt +5 -0
- data/spec/{dummy/tmp/cache/assets/development/sprockets/485c8ac4edde07df3f326e4f4b9f9106 → dummy-4.0/tmp/cache/assets/test/sprockets/0064817819e876c7ff900af85ee43f56} +0 -0
- data/spec/{dummy → dummy-4.0}/tmp/cache/assets/test/sprockets/02e6da2de0eeda095c3ab81e1033fc1d +0 -0
- data/spec/dummy-4.0/tmp/cache/assets/test/sprockets/04a713519ca48222acdb217c3096698e +0 -0
- data/spec/{dummy/tmp/cache/assets/test/sprockets/fd13af7854ecfb6bedf12ce71539b636 → dummy-4.0/tmp/cache/assets/test/sprockets/09c11bdeef2fe5ba3fb3983de6031f72} +0 -0
- data/spec/{dummy → dummy-4.0}/tmp/cache/assets/test/sprockets/0bb2483991c2c5f7f83fde21edafb6a9 +0 -0
- data/spec/{dummy/tmp/cache/assets/development/sprockets/a2038db6aaa5289fba7fde9aea561a08 → dummy-4.0/tmp/cache/assets/test/sprockets/10910e286e7d2d8870157db2abcafe39} +0 -0
- data/spec/{dummy → dummy-4.0}/tmp/cache/assets/test/sprockets/11820a6ecc13dd7f7094529f02abab32 +0 -0
- data/spec/dummy-4.0/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
- data/spec/{dummy/tmp/cache/assets/test/sprockets/c7e351cd01a8592503c63b37d7d69e4f → dummy-4.0/tmp/cache/assets/test/sprockets/1a6f1c162b9dfb93795797f662d126f5} +0 -0
- data/spec/dummy-4.0/tmp/cache/assets/test/sprockets/1e098f872b206638e45fa1d876911101 +0 -0
- data/spec/{dummy/tmp/cache/assets/test/sprockets/63c434ac472c04632133d9bc2f8ebe44 → dummy-4.0/tmp/cache/assets/test/sprockets/2823f8b739b392b4df3acc1a59787c39} +0 -0
- data/spec/dummy-4.0/tmp/cache/assets/test/sprockets/2b4d2c277d29ebcc820a703775782533 +0 -0
- data/spec/{dummy/tmp/cache/assets/test/sprockets/77088c2f43bec60ff0e030676e96f686 → dummy-4.0/tmp/cache/assets/test/sprockets/2cddaa943bba17b89f9db05d6493f7ab} +0 -0
- data/spec/{dummy/tmp/cache/assets/development → dummy-4.0/tmp/cache/assets/test}/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
- data/spec/dummy-4.0/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
- data/spec/{dummy/tmp/cache/assets/development/sprockets/8b39a75a80c1fb3a07395e674644e2cc → dummy-4.0/tmp/cache/assets/test/sprockets/5df6058037c4d659aff637757e6e26e7} +0 -0
- data/spec/dummy-4.0/tmp/cache/assets/test/sprockets/62c4b0a9f5a12db1adec334b02769b0d +0 -0
- data/spec/dummy-4.0/tmp/cache/assets/test/sprockets/6fd04a935d68f1c60e1a2c81a4fa46e7 +0 -0
- data/spec/dummy-4.0/tmp/cache/assets/test/sprockets/71a89e2084661527bc1382c3060ff905 +0 -0
- data/spec/dummy-4.0/tmp/cache/assets/test/sprockets/75ce7784ba307d080147ccc3b8f18b52 +0 -0
- data/spec/dummy-4.0/tmp/cache/assets/test/sprockets/7d90c7857f7b003f362f23e59da38a39 +0 -0
- data/spec/{dummy/tmp/cache/assets/test/sprockets/d8b62b055a9e2933d39777275cd166f0 → dummy-4.0/tmp/cache/assets/test/sprockets/7eabb62183b7ca5d57cefb5c558e0cdf} +0 -0
- data/spec/dummy-4.0/tmp/cache/assets/test/sprockets/84e4e9c827d1814423aef96781130936 +0 -0
- data/spec/dummy-4.0/tmp/cache/assets/test/sprockets/970fcaaf1f2e080f41516cae13c267e4 +0 -0
- data/spec/dummy-4.0/tmp/cache/assets/test/sprockets/9bef970315f0b5b23ee7eb56386184c3 +0 -0
- data/spec/{dummy/tmp/cache/assets/development/sprockets/80d43205b7942ece8d8b09f859813908 → dummy-4.0/tmp/cache/assets/test/sprockets/9dabdc14eb4aece9a09cf86c11c52ec6} +0 -0
- data/spec/dummy-4.0/tmp/cache/assets/test/sprockets/9dc32bddd6d4c6beb21a47a83d7223bd +0 -0
- data/spec/{dummy/tmp/cache/assets/test/sprockets/405ef6e6ee991e0b2d850f3443245dc8 → dummy-4.0/tmp/cache/assets/test/sprockets/9f74f5b15b509b3d296fe3ab392d1591} +0 -0
- data/spec/{dummy/tmp/cache/assets/development/sprockets/7ed5d11be8a68c295f8833e4961891ff → dummy-4.0/tmp/cache/assets/test/sprockets/a00bb25f3c19ec36bd45b9f8f5db42c7} +0 -0
- data/spec/dummy-4.0/tmp/cache/assets/test/sprockets/ac9267f1f84fd085b4ea4c720b8b6f70 +0 -0
- data/spec/dummy-4.0/tmp/cache/assets/test/sprockets/ad2bd7e647c68002aaee26990c98da10 +0 -0
- data/spec/dummy-4.0/tmp/cache/assets/test/sprockets/ae7d162666d06a17f86cb4e34719dd7e +0 -0
- data/spec/dummy-4.0/tmp/cache/assets/test/sprockets/af2c32ff2528da1f13a6d630b2475f36 +0 -0
- data/spec/dummy-4.0/tmp/cache/assets/test/sprockets/b4cf8f048b47d0f8deebe56ac5e47a9c +0 -0
- data/spec/{dummy/tmp/cache/assets/development/sprockets/c7e351cd01a8592503c63b37d7d69e4f → dummy-4.0/tmp/cache/assets/test/sprockets/bd257232b00955899e62111d88f71041} +0 -0
- data/spec/{dummy/tmp/cache/assets/test/sprockets/a2038db6aaa5289fba7fde9aea561a08 → dummy-4.0/tmp/cache/assets/test/sprockets/caf0d6f1b1316a9cb603579bca409318} +0 -0
- data/spec/{dummy → dummy-4.0}/tmp/cache/assets/test/sprockets/caf21088467d229770a205c793606696 +0 -0
- data/spec/{dummy → dummy-4.0}/tmp/cache/assets/test/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
- data/spec/{dummy/tmp/cache/assets/test/sprockets/67ad3a3d9a5fa9dd07456e131ce9c2a8 → dummy-4.0/tmp/cache/assets/test/sprockets/d2c5de321ee505d7989880baceaa1065} +0 -0
- data/spec/dummy-4.0/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
- data/spec/dummy-4.0/tmp/cache/assets/test/sprockets/e36f5b9a442f84c3592c7fb2169a5d15 +0 -0
- data/spec/{dummy → dummy-4.0}/tmp/cache/assets/test/sprockets/ebe17685dedaf8f574dde1463bdea118 +0 -0
- data/spec/{dummy/tmp/cache/assets/test/sprockets/fba7f1b57d7cc3253cb40677cbbd8f54 → dummy-4.0/tmp/cache/assets/test/sprockets/f4e214ad5a26cfeb52bf6aa05ecae9a2} +0 -0
- data/spec/dummy-4.0/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
- data/spec/{dummy/tmp/cache/assets/development/sprockets/63c434ac472c04632133d9bc2f8ebe44 → dummy-4.0/tmp/cache/assets/test/sprockets/f98a36c3de128188a92b989fe146b597} +0 -0
- data/spec/{dummy/tmp/cache/assets/development/sprockets/fd13af7854ecfb6bedf12ce71539b636 → dummy-4.0/tmp/cache/assets/test/sprockets/fb491b7b510d8f810fa99e54106f232e} +0 -0
- data/spec/dummy-4.0/tmp/cache/assets/test/sprockets/fcfbcdc8cadbbe2d7860d592143b5d67 +0 -0
- data/spec/dummy-4.1/Rakefile +6 -0
- data/spec/dummy-4.1/app/assets/javascripts/application.js +9 -0
- data/spec/dummy-4.1/app/assets/javascripts/jquery.simulate.js +312 -0
- data/spec/dummy-4.1/app/assets/stylesheets/application.css +14 -0
- data/spec/dummy-4.1/app/controllers/application_controller.rb +5 -0
- data/spec/dummy-4.1/app/controllers/parents_controller.rb +31 -0
- data/spec/dummy-4.1/app/controllers/things_controller.rb +10 -0
- data/spec/dummy-4.1/app/helpers/application_helper.rb +2 -0
- data/spec/dummy-4.1/app/models/child.rb +7 -0
- data/spec/dummy-4.1/app/models/item.rb +3 -0
- data/spec/dummy-4.1/app/models/other_thing.rb +5 -0
- data/spec/dummy-4.1/app/models/parent.rb +5 -0
- data/spec/dummy-4.1/app/models/thing.rb +3 -0
- data/spec/dummy-4.1/app/views/layouts/application.html.erb +14 -0
- data/spec/dummy-4.1/app/views/parents/_form.html.erb +18 -0
- data/spec/dummy-4.1/app/views/parents/new.html.erb +3 -0
- data/spec/dummy-4.1/app/views/parents/show.html.erb +9 -0
- data/spec/dummy-4.1/app/views/things/_thing.html.erb +3 -0
- data/spec/dummy-4.1/app/views/things/index.html.erb +11 -0
- data/spec/dummy-4.1/app/views/things/move.js.erb +4 -0
- data/spec/dummy-4.1/bin/bundle +3 -0
- data/spec/dummy-4.1/bin/rails +4 -0
- data/spec/dummy-4.1/bin/rake +4 -0
- data/spec/dummy-4.1/config.ru +4 -0
- data/spec/{dummy → dummy-4.1}/config/application.rb +0 -0
- data/spec/{dummy → dummy-4.1}/config/boot.rb +0 -0
- data/spec/dummy-4.1/config/database.yml +25 -0
- data/spec/dummy-4.1/config/environment.rb +5 -0
- data/spec/{dummy → dummy-4.1}/config/environments/development.rb +0 -0
- data/spec/{dummy → dummy-4.1}/config/environments/production.rb +0 -0
- data/spec/{dummy → dummy-4.1}/config/environments/test.rb +0 -0
- data/spec/dummy-4.1/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/dummy-4.1/config/initializers/filter_parameter_logging.rb +4 -0
- data/spec/dummy-4.1/config/initializers/inflections.rb +16 -0
- data/spec/dummy-4.1/config/initializers/mime_types.rb +5 -0
- data/spec/{dummy → dummy-4.1}/config/initializers/secret_token.rb +0 -0
- data/spec/{dummy → dummy-4.1}/config/initializers/session_store.rb +0 -0
- data/spec/dummy-4.1/config/initializers/wrap_parameters.rb +14 -0
- data/spec/dummy-4.1/config/locales/en.yml +23 -0
- data/spec/dummy-4.1/config/routes.rb +10 -0
- data/spec/dummy-4.1/db/migrate/20140512100816_create_things.rb +10 -0
- data/spec/dummy-4.1/db/migrate/20140525104834_create_other_things.rb +10 -0
- data/spec/dummy-4.1/db/migrate/20140525111906_create_items.rb +7 -0
- data/spec/dummy-4.1/db/migrate/20140525112123_add_position_to_items.rb +13 -0
- data/spec/dummy-4.1/db/migrate/20140721161028_create_parents.rb +7 -0
- data/spec/dummy-4.1/db/migrate/20140721161122_create_children.rb +16 -0
- data/spec/dummy-4.1/db/schema.rb +55 -0
- data/spec/{dummy → dummy-4.1}/db/seeds.rb +0 -0
- data/spec/dummy-4.1/db/test.sqlite3 +0 -0
- data/spec/dummy-4.1/log/test.log +21299 -0
- data/spec/dummy-4.1/public/404.html +58 -0
- data/spec/dummy-4.1/public/422.html +58 -0
- data/spec/dummy-4.1/public/500.html +57 -0
- data/spec/dummy-4.1/public/favicon.ico +0 -0
- data/spec/{dummy/tmp/cache/assets/development → dummy-4.1/tmp/cache/assets/test}/sprockets/02e6da2de0eeda095c3ab81e1033fc1d +0 -0
- data/spec/{dummy/tmp/cache/assets/test/sprockets/bbceab6aa0252d0552d3a37d2d11e98d → dummy-4.1/tmp/cache/assets/test/sprockets/09c11bdeef2fe5ba3fb3983de6031f72} +0 -0
- data/spec/dummy-4.1/tmp/cache/assets/test/sprockets/0bb2483991c2c5f7f83fde21edafb6a9 +0 -0
- data/spec/dummy-4.1/tmp/cache/assets/test/sprockets/10910e286e7d2d8870157db2abcafe39 +0 -0
- data/spec/{dummy/tmp/cache/assets/development → dummy-4.1/tmp/cache/assets/test}/sprockets/11820a6ecc13dd7f7094529f02abab32 +0 -0
- data/spec/{dummy/tmp/cache/assets/development → dummy-4.1/tmp/cache/assets/test}/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
- data/spec/{dummy/tmp/cache/assets/test/sprockets/485c8ac4edde07df3f326e4f4b9f9106 → dummy-4.1/tmp/cache/assets/test/sprockets/1a6f1c162b9dfb93795797f662d126f5} +0 -0
- data/spec/{dummy/tmp/cache/assets/development/sprockets/405ef6e6ee991e0b2d850f3443245dc8 → dummy-4.1/tmp/cache/assets/test/sprockets/2823f8b739b392b4df3acc1a59787c39} +0 -0
- data/spec/{dummy/tmp/cache/assets/development/sprockets/77088c2f43bec60ff0e030676e96f686 → dummy-4.1/tmp/cache/assets/test/sprockets/2cddaa943bba17b89f9db05d6493f7ab} +0 -0
- data/spec/{dummy → dummy-4.1}/tmp/cache/assets/test/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
- data/spec/{dummy/tmp/cache/assets/development → dummy-4.1/tmp/cache/assets/test}/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
- data/spec/dummy-4.1/tmp/cache/assets/test/sprockets/5df6058037c4d659aff637757e6e26e7 +0 -0
- data/spec/dummy-4.1/tmp/cache/assets/test/sprockets/75ce7784ba307d080147ccc3b8f18b52 +0 -0
- data/spec/{dummy/tmp/cache/assets/development/sprockets/d8b62b055a9e2933d39777275cd166f0 → dummy-4.1/tmp/cache/assets/test/sprockets/7eabb62183b7ca5d57cefb5c558e0cdf} +0 -0
- data/spec/dummy-4.1/tmp/cache/assets/test/sprockets/84e4e9c827d1814423aef96781130936 +0 -0
- data/spec/dummy-4.1/tmp/cache/assets/test/sprockets/970fcaaf1f2e080f41516cae13c267e4 +0 -0
- data/spec/{dummy/tmp/cache/assets/test/sprockets/80d43205b7942ece8d8b09f859813908 → dummy-4.1/tmp/cache/assets/test/sprockets/9dabdc14eb4aece9a09cf86c11c52ec6} +0 -0
- data/spec/dummy-4.1/tmp/cache/assets/test/sprockets/9f74f5b15b509b3d296fe3ab392d1591 +0 -0
- data/spec/dummy-4.1/tmp/cache/assets/test/sprockets/a00bb25f3c19ec36bd45b9f8f5db42c7 +0 -0
- data/spec/dummy-4.1/tmp/cache/assets/test/sprockets/ac9267f1f84fd085b4ea4c720b8b6f70 +0 -0
- data/spec/dummy-4.1/tmp/cache/assets/test/sprockets/ad2bd7e647c68002aaee26990c98da10 +0 -0
- data/spec/dummy-4.1/tmp/cache/assets/test/sprockets/ae7d162666d06a17f86cb4e34719dd7e +0 -0
- data/spec/dummy-4.1/tmp/cache/assets/test/sprockets/af2c32ff2528da1f13a6d630b2475f36 +0 -0
- data/spec/dummy-4.1/tmp/cache/assets/test/sprockets/bd257232b00955899e62111d88f71041 +0 -0
- data/spec/dummy-4.1/tmp/cache/assets/test/sprockets/caf0d6f1b1316a9cb603579bca409318 +0 -0
- data/spec/dummy-4.1/tmp/cache/assets/test/sprockets/caf21088467d229770a205c793606696 +0 -0
- data/spec/{dummy/tmp/cache/assets/development → dummy-4.1/tmp/cache/assets/test}/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
- data/spec/dummy-4.1/tmp/cache/assets/test/sprockets/d2c5de321ee505d7989880baceaa1065 +0 -0
- data/spec/{dummy → dummy-4.1}/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
- data/spec/dummy-4.1/tmp/cache/assets/test/sprockets/e36f5b9a442f84c3592c7fb2169a5d15 +0 -0
- data/spec/dummy-4.1/tmp/cache/assets/test/sprockets/ebe17685dedaf8f574dde1463bdea118 +0 -0
- data/spec/dummy-4.1/tmp/cache/assets/test/sprockets/f4e214ad5a26cfeb52bf6aa05ecae9a2 +0 -0
- data/spec/dummy-4.1/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
- data/spec/dummy-4.1/tmp/cache/assets/test/sprockets/f98a36c3de128188a92b989fe146b597 +0 -0
- data/spec/dummy-4.1/tmp/cache/assets/test/sprockets/fb491b7b510d8f810fa99e54106f232e +0 -0
- data/spec/dummy-4.2/Rakefile +6 -0
- data/spec/dummy-4.2/app/assets/javascripts/application.js +9 -0
- data/spec/dummy-4.2/app/assets/javascripts/jquery.simulate.js +312 -0
- data/spec/dummy-4.2/app/assets/stylesheets/application.css +14 -0
- data/spec/dummy-4.2/app/controllers/application_controller.rb +5 -0
- data/spec/dummy-4.2/app/controllers/parents_controller.rb +31 -0
- data/spec/dummy-4.2/app/controllers/things_controller.rb +10 -0
- data/spec/dummy-4.2/app/helpers/application_helper.rb +2 -0
- data/spec/dummy-4.2/app/models/child.rb +7 -0
- data/spec/dummy-4.2/app/models/item.rb +3 -0
- data/spec/dummy-4.2/app/models/other_thing.rb +5 -0
- data/spec/dummy-4.2/app/models/parent.rb +5 -0
- data/spec/dummy-4.2/app/models/thing.rb +3 -0
- data/spec/dummy-4.2/app/views/layouts/application.html.erb +14 -0
- data/spec/dummy-4.2/app/views/parents/_form.html.erb +18 -0
- data/spec/dummy-4.2/app/views/parents/new.html.erb +3 -0
- data/spec/dummy-4.2/app/views/parents/show.html.erb +9 -0
- data/spec/dummy-4.2/app/views/things/_thing.html.erb +3 -0
- data/spec/dummy-4.2/app/views/things/index.html.erb +11 -0
- data/spec/dummy-4.2/app/views/things/move.js.erb +4 -0
- data/spec/dummy-4.2/bin/bundle +3 -0
- data/spec/dummy-4.2/bin/rails +4 -0
- data/spec/dummy-4.2/bin/rake +4 -0
- data/spec/dummy-4.2/bin/setup +29 -0
- data/spec/dummy-4.2/config.ru +4 -0
- data/spec/dummy-4.2/config/application.rb +36 -0
- data/spec/dummy-4.2/config/boot.rb +3 -0
- data/spec/dummy-4.2/config/database.yml +25 -0
- data/spec/dummy-4.2/config/environment.rb +5 -0
- data/spec/dummy-4.2/config/environments/development.rb +28 -0
- data/spec/dummy-4.2/config/environments/production.rb +67 -0
- data/spec/dummy-4.2/config/environments/test.rb +42 -0
- data/spec/dummy-4.2/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/dummy-4.2/config/initializers/cookies_serializer.rb +3 -0
- data/spec/dummy-4.2/config/initializers/filter_parameter_logging.rb +4 -0
- data/spec/dummy-4.2/config/initializers/inflections.rb +16 -0
- data/spec/dummy-4.2/config/initializers/mime_types.rb +4 -0
- data/spec/dummy-4.2/config/initializers/session_store.rb +3 -0
- data/spec/dummy-4.2/config/initializers/wrap_parameters.rb +14 -0
- data/spec/dummy-4.2/config/locales/en.yml +23 -0
- data/spec/dummy-4.2/config/routes.rb +10 -0
- data/spec/dummy-4.2/config/secrets.yml +22 -0
- data/spec/dummy-4.2/db/migrate/20140512100816_create_things.rb +10 -0
- data/spec/dummy-4.2/db/migrate/20140525104834_create_other_things.rb +10 -0
- data/spec/dummy-4.2/db/migrate/20140525111906_create_items.rb +7 -0
- data/spec/dummy-4.2/db/migrate/20140525112123_add_position_to_items.rb +13 -0
- data/spec/dummy-4.2/db/migrate/20140721161028_create_parents.rb +7 -0
- data/spec/dummy-4.2/db/migrate/20140721161122_create_children.rb +16 -0
- data/spec/dummy-4.2/db/schema.rb +55 -0
- data/spec/dummy-4.2/db/seeds.rb +7 -0
- data/spec/dummy-4.2/db/test.sqlite3 +0 -0
- data/spec/dummy-4.2/log/test.log +19722 -0
- data/spec/dummy-4.2/public/404.html +67 -0
- data/spec/dummy-4.2/public/422.html +67 -0
- data/spec/dummy-4.2/public/500.html +66 -0
- data/spec/dummy-4.2/public/favicon.ico +0 -0
- data/spec/dummy-4.2/public/robots.txt +5 -0
- data/spec/dummy-4.2/tmp/cache/assets/test/sprockets/02e6da2de0eeda095c3ab81e1033fc1d +0 -0
- data/spec/dummy-4.2/tmp/cache/assets/test/sprockets/098ee8d0808d837e812642b0e7aedd6c +0 -0
- data/spec/dummy-4.2/tmp/cache/assets/test/sprockets/0bb2483991c2c5f7f83fde21edafb6a9 +0 -0
- data/spec/dummy-4.2/tmp/cache/assets/test/sprockets/10910e286e7d2d8870157db2abcafe39 +0 -0
- data/spec/dummy-4.2/tmp/cache/assets/test/sprockets/11820a6ecc13dd7f7094529f02abab32 +0 -0
- data/spec/{dummy → dummy-4.2}/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
- data/spec/dummy-4.2/tmp/cache/assets/test/sprockets/1a6f1c162b9dfb93795797f662d126f5 +0 -0
- data/spec/dummy-4.2/tmp/cache/assets/test/sprockets/2cddaa943bba17b89f9db05d6493f7ab +0 -0
- data/spec/dummy-4.2/tmp/cache/assets/test/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
- data/spec/{dummy → dummy-4.2}/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
- data/spec/dummy-4.2/tmp/cache/assets/test/sprockets/58b58ea970ac7d5894111f3fe2b9cc77 +0 -0
- data/spec/dummy-4.2/tmp/cache/assets/test/sprockets/75ce7784ba307d080147ccc3b8f18b52 +0 -0
- data/spec/dummy-4.2/tmp/cache/assets/test/sprockets/7eabb62183b7ca5d57cefb5c558e0cdf +0 -0
- data/spec/dummy-4.2/tmp/cache/assets/test/sprockets/87c93f7710db56918b3d0b4fe9794584 +0 -0
- data/spec/dummy-4.2/tmp/cache/assets/test/sprockets/8805137339a3d09aafe1fd64ea4a00e3 +0 -0
- data/spec/dummy-4.2/tmp/cache/assets/test/sprockets/970fcaaf1f2e080f41516cae13c267e4 +0 -0
- data/spec/dummy-4.2/tmp/cache/assets/test/sprockets/9718db5d5f68bc201506dd701c13cf2b +0 -0
- data/spec/dummy-4.2/tmp/cache/assets/test/sprockets/97e84ab0b96056af12525fcdf79820d3 +0 -0
- data/spec/dummy-4.2/tmp/cache/assets/test/sprockets/9dabdc14eb4aece9a09cf86c11c52ec6 +0 -0
- data/spec/dummy-4.2/tmp/cache/assets/test/sprockets/ac9267f1f84fd085b4ea4c720b8b6f70 +0 -0
- data/spec/dummy-4.2/tmp/cache/assets/test/sprockets/ad2bd7e647c68002aaee26990c98da10 +0 -0
- data/spec/dummy-4.2/tmp/cache/assets/test/sprockets/ae7d162666d06a17f86cb4e34719dd7e +0 -0
- data/spec/dummy-4.2/tmp/cache/assets/test/sprockets/af2c32ff2528da1f13a6d630b2475f36 +0 -0
- data/spec/dummy-4.2/tmp/cache/assets/test/sprockets/bd257232b00955899e62111d88f71041 +0 -0
- data/spec/dummy-4.2/tmp/cache/assets/test/sprockets/cac92854b252f44e16e915b2804d40c5 +0 -0
- data/spec/dummy-4.2/tmp/cache/assets/test/sprockets/caf0d6f1b1316a9cb603579bca409318 +0 -0
- data/spec/dummy-4.2/tmp/cache/assets/test/sprockets/caf21088467d229770a205c793606696 +0 -0
- data/spec/dummy-4.2/tmp/cache/assets/test/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
- data/spec/dummy-4.2/tmp/cache/assets/test/sprockets/d2c5de321ee505d7989880baceaa1065 +0 -0
- data/spec/{dummy/tmp/cache/assets/development → dummy-4.2/tmp/cache/assets/test}/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
- data/spec/dummy-4.2/tmp/cache/assets/test/sprockets/e1f2e41ca7f4433bfbd9e632a7359fe8 +0 -0
- data/spec/dummy-4.2/tmp/cache/assets/test/sprockets/e36f5b9a442f84c3592c7fb2169a5d15 +0 -0
- data/spec/dummy-4.2/tmp/cache/assets/test/sprockets/ebe17685dedaf8f574dde1463bdea118 +0 -0
- data/spec/dummy-4.2/tmp/cache/assets/test/sprockets/f4e214ad5a26cfeb52bf6aa05ecae9a2 +0 -0
- data/spec/dummy-4.2/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
- data/spec/dummy_rails_app.rb +31 -0
- data/spec/features/drag_and_drop_spec.rb +40 -18
- data/spec/other_thing_spec.rb +1 -1
- data/spec/spec_helper.rb +4 -2
- data/spec/support/activerecord_sortable.rb +24 -60
- metadata +749 -234
- data/Rakefile +0 -33
- data/spec/dummy/README.rdoc +0 -28
- data/spec/dummy/log/development.log +0 -3806
- data/spec/dummy/log/test.log +0 -57795
- data/spec/dummy/tmp/cache/assets/development/sprockets/30e32f924769f4b2ef4ec2ed78d62f3d +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/402789e80a4ebf130058eeae9bacd1e3 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/743ab64e3ac90ba4734a5a1af916fd93 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/bbceab6aa0252d0552d3a37d2d11e98d +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/d5449ece5f819190ad6dd88c1caccffc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/fba7f1b57d7cc3253cb40677cbbd8f54 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4956bd13ab72e2f0f964c4910fc5ab8b93af7cd4
|
4
|
+
data.tar.gz: a5bf9144ef1c2d9dd40c99f92aa2244922870ecb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b243649509ccb9ef317ed9aa4b1f0e10b12b600f51796fec58cfc254842b92f72a1474a020d09833de2eadf9c2931aad1a5901ea918d6141dca0a63b3f818727
|
7
|
+
data.tar.gz: fafdffeadde9a2bb701345bde5162df130f13e2b402a168f5eaa7e0050c5e7b90d7c517ddcd3c4ad657268d9115b4ba0075f80586fcdfa5186559a61f4d88be3
|
@@ -10,21 +10,21 @@ module ActiveRecord
|
|
10
10
|
module ClassMethods
|
11
11
|
def acts_as_sortable(&block)
|
12
12
|
options = {
|
13
|
-
:
|
14
|
-
:
|
15
|
-
:
|
13
|
+
relation: ->(instance) { instance.class },
|
14
|
+
append: false,
|
15
|
+
position_column: :position
|
16
16
|
}
|
17
17
|
block.call(options) if block_given?
|
18
18
|
|
19
|
-
cattr_accessor :sortable_relation, :
|
20
|
-
cattr_accessor :sortable_append, :
|
21
|
-
cattr_accessor :sortable_position_column, :
|
19
|
+
cattr_accessor :sortable_relation, instance_reader: false, instance_writer: false
|
20
|
+
cattr_accessor :sortable_append, instance_reader: true, instance_writer: false
|
21
|
+
cattr_accessor :sortable_position_column, instance_reader: true, instance_writer: false
|
22
22
|
|
23
23
|
self.sortable_relation = options[:relation]
|
24
24
|
self.sortable_append = options[:append]
|
25
25
|
self.sortable_position_column = options[:position_column]
|
26
26
|
|
27
|
-
scope "ordered_by_#{
|
27
|
+
scope "ordered_by_#{sortable_position_column}_asc".to_sym, -> { order(arel_table[sortable_position_column].asc) }
|
28
28
|
|
29
29
|
before_create :sortable_set_default_position
|
30
30
|
after_destroy :sortable_shift_on_destroy
|
@@ -2,33 +2,31 @@ module ActiveRecord
|
|
2
2
|
module Sortable
|
3
3
|
module ActsAsSortable
|
4
4
|
module InstanceMethods
|
5
|
-
|
6
5
|
def move_to!(new_position)
|
7
6
|
new_position = Integer(new_position)
|
8
7
|
|
9
8
|
transaction do
|
10
|
-
if new_position >
|
9
|
+
if new_position > send(sortable_position_column)
|
11
10
|
sortable_relation_shift_left(new_position)
|
12
11
|
else
|
13
12
|
sortable_relation_shift_right(new_position)
|
14
13
|
end
|
15
14
|
|
16
|
-
|
15
|
+
update_attribute(sortable_position_column, new_position)
|
17
16
|
end
|
18
17
|
end
|
19
18
|
|
20
|
-
|
21
19
|
private
|
22
20
|
|
23
21
|
def sortable_relation_shift_left(new_position)
|
24
22
|
sortable_relation
|
25
|
-
.where(["#{sortable_position_column} > ? AND #{sortable_position_column} <= ?",
|
23
|
+
.where(["#{sortable_position_column} > ? AND #{sortable_position_column} <= ?", send(sortable_position_column), new_position])
|
26
24
|
.update_all sortable_updates_with_timestamps("#{sortable_position_column} = #{sortable_position_column} - 1")
|
27
25
|
end
|
28
26
|
|
29
27
|
def sortable_relation_shift_right(new_position)
|
30
28
|
sortable_relation
|
31
|
-
.where(["#{sortable_position_column} >= ? AND #{sortable_position_column} < ?", new_position,
|
29
|
+
.where(["#{sortable_position_column} >= ? AND #{sortable_position_column} < ?", new_position, send(sortable_position_column)])
|
32
30
|
.update_all sortable_updates_with_timestamps("#{sortable_position_column} = #{sortable_position_column} + 1")
|
33
31
|
end
|
34
32
|
|
@@ -37,7 +35,7 @@ module ActiveRecord
|
|
37
35
|
end
|
38
36
|
|
39
37
|
def sortable_set_default_position
|
40
|
-
sortable_assign_default_position unless
|
38
|
+
sortable_assign_default_position unless send(sortable_position_column).present?
|
41
39
|
|
42
40
|
true
|
43
41
|
end
|
@@ -51,13 +49,13 @@ module ActiveRecord
|
|
51
49
|
end
|
52
50
|
|
53
51
|
def sortable_append_instance
|
54
|
-
next_position = (max_position = sortable_relation.pluck(
|
55
|
-
|
52
|
+
next_position = (max_position = sortable_relation.pluck(sortable_position_column).max).present? ? max_position + 1 : 0
|
53
|
+
send("#{sortable_position_column}=".to_sym, next_position)
|
56
54
|
end
|
57
55
|
|
58
56
|
def sortable_prepend_instance
|
59
57
|
sortable_relation.update_all sortable_updates_with_timestamps("#{sortable_position_column} = #{sortable_position_column} + 1")
|
60
|
-
|
58
|
+
send("#{sortable_position_column}=".to_sym, 0)
|
61
59
|
end
|
62
60
|
|
63
61
|
def sortable_updates_with_timestamps(base_query)
|
@@ -69,11 +67,11 @@ module ActiveRecord
|
|
69
67
|
query_items << "#{attr} = ?"
|
70
68
|
current_time
|
71
69
|
end
|
72
|
-
|
70
|
+
[query_items.join(', ')] + update_values
|
73
71
|
end
|
74
72
|
|
75
73
|
def sortable_shift_on_destroy
|
76
|
-
sortable_relation.where(["#{sortable_position_column} > ?",
|
74
|
+
sortable_relation.where(["#{sortable_position_column} > ?", send(sortable_position_column)]).update_all sortable_updates_with_timestamps("#{sortable_position_column} = #{sortable_position_column} - 1")
|
77
75
|
true
|
78
76
|
end
|
79
77
|
end
|
@@ -0,0 +1,7 @@
|
|
1
|
+
#!/usr/bin/env rake
|
2
|
+
# Add your own tasks in files placed in lib/tasks ending in .rake,
|
3
|
+
# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
|
4
|
+
|
5
|
+
require File.expand_path('../config/application', __FILE__)
|
6
|
+
|
7
|
+
Dummy::Application.load_tasks
|
Binary file
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,24 @@
|
|
1
|
+
class ParentsController < ApplicationController
|
2
|
+
def new
|
3
|
+
@parent = Parent.new
|
4
|
+
3.times do |position|
|
5
|
+
@parent.children.build(
|
6
|
+
:name => "Child #{position}",
|
7
|
+
:position => position
|
8
|
+
)
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
def create
|
13
|
+
@parent = Parent.new params[:parent]
|
14
|
+
if @parent.save
|
15
|
+
redirect_to parent_path(@parent)
|
16
|
+
else
|
17
|
+
render :new
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def show
|
22
|
+
@parent = Parent.find(params[:id])
|
23
|
+
end
|
24
|
+
end
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,65 @@
|
|
1
|
+
require File.expand_path('../boot', __FILE__)
|
2
|
+
|
3
|
+
# Pick the frameworks you want:
|
4
|
+
require "active_record/railtie"
|
5
|
+
require "action_controller/railtie"
|
6
|
+
require "action_mailer/railtie"
|
7
|
+
require "active_resource/railtie"
|
8
|
+
require "sprockets/railtie"
|
9
|
+
# require "rails/test_unit/railtie"
|
10
|
+
|
11
|
+
if defined?(Bundler)
|
12
|
+
# If you precompile assets before deploying to production, use this line
|
13
|
+
Bundler.require(*Rails.groups(:assets => %w(development test)))
|
14
|
+
# If you want your assets lazily compiled in production, use this line
|
15
|
+
# Bundler.require(:default, :assets, Rails.env)
|
16
|
+
end
|
17
|
+
|
18
|
+
module Dummy
|
19
|
+
class Application < Rails::Application
|
20
|
+
# Settings in config/environments/* take precedence over those specified here.
|
21
|
+
# Application configuration should go into files in config/initializers
|
22
|
+
# -- all .rb files in that directory are automatically loaded.
|
23
|
+
|
24
|
+
# Custom directories with classes and modules you want to be autoloadable.
|
25
|
+
# config.autoload_paths += %W(#{config.root}/extras)
|
26
|
+
|
27
|
+
# Only load the plugins named here, in the order given (default is alphabetical).
|
28
|
+
# :all can be used as a placeholder for all plugins not explicitly named.
|
29
|
+
# config.plugins = [ :exception_notification, :ssl_requirement, :all ]
|
30
|
+
|
31
|
+
# Activate observers that should always be running.
|
32
|
+
# config.active_record.observers = :cacher, :garbage_collector, :forum_observer
|
33
|
+
|
34
|
+
# Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
|
35
|
+
# Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.
|
36
|
+
# config.time_zone = 'Central Time (US & Canada)'
|
37
|
+
|
38
|
+
# The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
|
39
|
+
# config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
|
40
|
+
# config.i18n.default_locale = :de
|
41
|
+
|
42
|
+
# Configure the default encoding used in templates for Ruby 1.9.
|
43
|
+
config.encoding = "utf-8"
|
44
|
+
|
45
|
+
config.assets.enabled = true
|
46
|
+
|
47
|
+
# Configure sensitive parameters which will be filtered from the log file.
|
48
|
+
config.filter_parameters += [:password]
|
49
|
+
|
50
|
+
# Enable escaping HTML in JSON.
|
51
|
+
config.active_support.escape_html_entities_in_json = true
|
52
|
+
|
53
|
+
# Use SQL instead of Active Record's schema dumper when creating the database.
|
54
|
+
# This is necessary if your schema can't be completely dumped by the schema dumper,
|
55
|
+
# like if you have constraints or database-specific column types
|
56
|
+
# config.active_record.schema_format = :sql
|
57
|
+
|
58
|
+
# Enforce whitelist mode for mass assignment.
|
59
|
+
# This will create an empty whitelist of attributes available for mass-assignment for all models
|
60
|
+
# in your app. As such, your models will need to explicitly whitelist or blacklist accessible
|
61
|
+
# parameters by using an attr_accessible or attr_protected declaration.
|
62
|
+
config.active_record.whitelist_attributes = true
|
63
|
+
|
64
|
+
end
|
65
|
+
end
|
File without changes
|
@@ -0,0 +1,32 @@
|
|
1
|
+
Dummy::Application.configure do
|
2
|
+
# Settings specified here will take precedence over those in config/application.rb
|
3
|
+
|
4
|
+
# In the development environment your application's code is reloaded on
|
5
|
+
# every request. This slows down response time but is perfect for development
|
6
|
+
# since you don't have to restart the web server when you make code changes.
|
7
|
+
config.cache_classes = false
|
8
|
+
|
9
|
+
# Log error messages when you accidentally call methods on nil.
|
10
|
+
config.whiny_nils = true
|
11
|
+
|
12
|
+
# Show full error reports and disable caching
|
13
|
+
config.consider_all_requests_local = true
|
14
|
+
config.action_controller.perform_caching = false
|
15
|
+
|
16
|
+
# Don't care if the mailer can't send
|
17
|
+
config.action_mailer.raise_delivery_errors = false
|
18
|
+
|
19
|
+
# Print deprecation notices to the Rails logger
|
20
|
+
config.active_support.deprecation = :log
|
21
|
+
|
22
|
+
# Only use best-standards-support built into browsers
|
23
|
+
config.action_dispatch.best_standards_support = :builtin
|
24
|
+
|
25
|
+
# Raise exception on mass assignment protection for Active Record models
|
26
|
+
config.active_record.mass_assignment_sanitizer = :strict
|
27
|
+
|
28
|
+
# Log the query plan for queries taking more than this (works
|
29
|
+
# with SQLite, MySQL, and PostgreSQL)
|
30
|
+
config.active_record.auto_explain_threshold_in_seconds = 0.5
|
31
|
+
|
32
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
Dummy::Application.configure do
|
2
|
+
# Settings specified here will take precedence over those in config/application.rb
|
3
|
+
|
4
|
+
# Code is not reloaded between requests
|
5
|
+
config.cache_classes = true
|
6
|
+
|
7
|
+
# Full error reports are disabled and caching is turned on
|
8
|
+
config.consider_all_requests_local = false
|
9
|
+
config.action_controller.perform_caching = true
|
10
|
+
|
11
|
+
# Disable Rails's static asset server (Apache or nginx will already do this)
|
12
|
+
config.serve_static_assets = false
|
13
|
+
|
14
|
+
|
15
|
+
# Specifies the header that your server uses for sending files
|
16
|
+
# config.action_dispatch.x_sendfile_header = "X-Sendfile" # for apache
|
17
|
+
# config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for nginx
|
18
|
+
|
19
|
+
# Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
|
20
|
+
# config.force_ssl = true
|
21
|
+
|
22
|
+
# See everything in the log (default is :info)
|
23
|
+
# config.log_level = :debug
|
24
|
+
|
25
|
+
# Prepend all log lines with the following tags
|
26
|
+
# config.log_tags = [ :subdomain, :uuid ]
|
27
|
+
|
28
|
+
# Use a different logger for distributed setups
|
29
|
+
# config.logger = ActiveSupport::TaggedLogging.new(SyslogLogger.new)
|
30
|
+
|
31
|
+
# Use a different cache store in production
|
32
|
+
# config.cache_store = :mem_cache_store
|
33
|
+
|
34
|
+
# Enable serving of images, stylesheets, and JavaScripts from an asset server
|
35
|
+
# config.action_controller.asset_host = "http://assets.example.com"
|
36
|
+
|
37
|
+
|
38
|
+
# Disable delivery errors, bad email addresses will be ignored
|
39
|
+
# config.action_mailer.raise_delivery_errors = false
|
40
|
+
|
41
|
+
# Enable threaded mode
|
42
|
+
# config.threadsafe!
|
43
|
+
|
44
|
+
# Enable locale fallbacks for I18n (makes lookups for any locale fall back to
|
45
|
+
# the I18n.default_locale when a translation can not be found)
|
46
|
+
config.i18n.fallbacks = true
|
47
|
+
|
48
|
+
# Send deprecation notices to registered listeners
|
49
|
+
config.active_support.deprecation = :notify
|
50
|
+
|
51
|
+
# Log the query plan for queries taking more than this (works
|
52
|
+
# with SQLite, MySQL, and PostgreSQL)
|
53
|
+
# config.active_record.auto_explain_threshold_in_seconds = 0.5
|
54
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
Dummy::Application.configure do
|
2
|
+
# Settings specified here will take precedence over those in config/application.rb
|
3
|
+
|
4
|
+
# The test environment is used exclusively to run your application's
|
5
|
+
# test suite. You never need to work with it otherwise. Remember that
|
6
|
+
# your test database is "scratch space" for the test suite and is wiped
|
7
|
+
# and recreated between test runs. Don't rely on the data there!
|
8
|
+
config.cache_classes = true
|
9
|
+
|
10
|
+
# Configure static asset server for tests with Cache-Control for performance
|
11
|
+
config.serve_static_assets = true
|
12
|
+
config.static_cache_control = "public, max-age=3600"
|
13
|
+
|
14
|
+
# Log error messages when you accidentally call methods on nil
|
15
|
+
config.whiny_nils = true
|
16
|
+
|
17
|
+
# Show full error reports and disable caching
|
18
|
+
config.consider_all_requests_local = true
|
19
|
+
config.action_controller.perform_caching = false
|
20
|
+
|
21
|
+
# Raise exceptions instead of rendering exception templates
|
22
|
+
config.action_dispatch.show_exceptions = false
|
23
|
+
|
24
|
+
# Disable request forgery protection in test environment
|
25
|
+
config.action_controller.allow_forgery_protection = false
|
26
|
+
|
27
|
+
# Tell Action Mailer not to deliver emails to the real world.
|
28
|
+
# The :test delivery method accumulates sent emails in the
|
29
|
+
# ActionMailer::Base.deliveries array.
|
30
|
+
config.action_mailer.delivery_method = :test
|
31
|
+
|
32
|
+
# Raise exception on mass assignment protection for Active Record models
|
33
|
+
config.active_record.mass_assignment_sanitizer = :strict
|
34
|
+
|
35
|
+
# Print deprecation notices to the stderr
|
36
|
+
config.active_support.deprecation = :stderr
|
37
|
+
end
|