route_downcaser 1.2.3 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.rdoc +3 -3
- data/Rakefile +16 -14
- data/lib/route_downcaser/configuration.rb +20 -16
- data/lib/route_downcaser/downcase_route_middleware.rb +24 -23
- data/lib/route_downcaser/railtie.rb +3 -1
- data/lib/route_downcaser/version.rb +3 -1
- data/lib/route_downcaser.rb +6 -4
- data/lib/tasks/route_downcaser_tasks.rake +1 -0
- metadata +24 -367
- data/test/integration/route_middleware_test.rb +0 -57
- data/test/rails421/Rakefile +0 -6
- data/test/rails421/app/assets/config/manifest.js +0 -3
- data/test/rails421/app/assets/javascripts/application.js +0 -5
- data/test/rails421/app/assets/stylesheets/application.css +0 -15
- data/test/rails421/app/controllers/application_controller.rb +0 -5
- data/test/rails421/app/controllers/hello_controller.rb +0 -5
- data/test/rails421/app/helpers/application_helper.rb +0 -2
- data/test/rails421/app/views/layouts/application.html.erb +0 -14
- data/test/rails421/bin/bundle +0 -3
- data/test/rails421/bin/rails +0 -8
- data/test/rails421/bin/rake +0 -8
- data/test/rails421/bin/setup +0 -29
- data/test/rails421/bin/spring +0 -15
- data/test/rails421/config/application.rb +0 -29
- data/test/rails421/config/boot.rb +0 -3
- data/test/rails421/config/environment.rb +0 -5
- data/test/rails421/config/environments/development.rb +0 -41
- data/test/rails421/config/environments/production.rb +0 -79
- data/test/rails421/config/environments/test.rb +0 -44
- data/test/rails421/config/initializers/assets.rb +0 -11
- data/test/rails421/config/initializers/backtrace_silencers.rb +0 -7
- data/test/rails421/config/initializers/cookies_serializer.rb +0 -3
- data/test/rails421/config/initializers/filter_parameter_logging.rb +0 -4
- data/test/rails421/config/initializers/inflections.rb +0 -16
- data/test/rails421/config/initializers/mime_types.rb +0 -4
- data/test/rails421/config/initializers/session_store.rb +0 -3
- data/test/rails421/config/initializers/wrap_parameters.rb +0 -14
- data/test/rails421/config/locales/en.yml +0 -23
- data/test/rails421/config/routes.rb +0 -59
- data/test/rails421/config/secrets.yml +0 -22
- data/test/rails421/config.ru +0 -4
- data/test/rails421/log/test.log +0 -1014
- data/test/rails421/public/404.html +0 -67
- data/test/rails421/public/422.html +0 -67
- data/test/rails421/public/500.html +0 -66
- data/test/rails421/public/favicon.ico +0 -0
- data/test/rails421/public/robots.txt +0 -5
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/-B/-Bgmyr63R89_vIyXN9mCNapfDXapBpDRck9XmKhL5CA.cache +0 -0
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/-W/-WQ3FNnhW7tLBOxo4aGnRb2Fve0zgOnoMYj6wqTNkbM.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/0E/0EDP1-KVZYBKHTAmflqiPVViMAVEG0SC-kK_5oEVZn0.cache +0 -0
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/0g/0gWM2CTzhg2x8y4_UP-Py0W4B9A-zr06u8OBmue8X1k.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/3K/3KLS9RO9SD43w2m7B37olZz-VRlZVFl3F98EcZ-T6OQ.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/3O/3OqO1F9b_ZzzrtlAoCMgvevQgZnwcUOgeLR8rv3IEic.cache +0 -0
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/4r/4rAedh6S2USq6-0-HuB_CCVHHLcpx52AIjXhD_2ZBGg.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/5C/5CT_8kIrhxIJ83JBc79GdAhqzTv5yYzmjQTu_6ALk50.cache +0 -0
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/5J/5Jhq8lUXayqrSHgYM1Q5MHGn-TiHuMjRmK_XV4M3UyI.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/5t/5tiqCRpLfxs-Y6ybOzuDwipvuUFossP-XvncvDt1beA.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/6H/6H_SytVX3LrLQVNblKfSUZm9U4zz0Hi3nC7zd2slWgE.cache +0 -0
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/7a/7aucnxDrWU2Wq9Gv2-MzRJ-TODqCU9XYtPF9yUAxzrA.cache +0 -3
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/7j/7jspo8CcT9uFS4H8PqxscgE3AlgXB7pTQyQIhMJPVg0.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/8b/8bGxiI7b1E3sXm_6Main4IVaCaNunTCJECvMivc6vao.cache +0 -0
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/91/91xRePltaCv1RzwqjVg8J1eDPpMSQzAP2xE0NfHN790.cache +0 -0
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/Ag/AgHzzOWYl7FCzWVoy3hK75zrV0K8Fb-_06edGSVp2Ow.cache +0 -0
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/Cf/CflQs9dwKZXgCIWoyonGUgbz8uPXLgmyP_FlcJScD7o.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/Cg/CgOhJxWpn75PUgDhTSfe1qt0yvhVyPToVq13nv5zuZQ.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/EL/EL7MuqbmZFKYS_80bdvW6_Wn5UEiX3eu1r6N-7G8UEw.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/FV/FV8nUPacNnUiza7kOCqckUSyEGBdphbSPSuZtJUy8tE.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/GP/GPlQQXNQ-w_dTZRfo4-FYNUzSGE1cEKrXjS7crmzVG0.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/Ig/Igg0gxUZFtM3hQ7W6dbvFXdZpIbV6tOiVPR2vEmQYXI.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/Jf/JfAkIfafqJLEVZeAwe3NPmILKAxLTIaQMkBDQv9lgRs.cache +0 -0
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/Jg/Jgz4YtR2FGBSwxB6thNOJDk7klfksp2yQy2XkBjht4g.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/Ki/KiL7BwSVbz_z5w4y93R2R4LCkyj0b19GujTz6XIiarY.cache +0 -0
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/LU/LUAozPg7QdzK21QBqXW25-a5gN_7zLRAqQSupvkblSg.cache +0 -0
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/Ln/LnFnKRPLxutlTQ7fOvRsapfgXEw5btGpLwFPbpRzRlM.cache +0 -0
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/Ls/LsZJopR7cTyB7JsVfz5aSomahT3jHGL6Pa2CICmFoQg.cache +0 -3
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/PK/PKl6w1pmCXwfusuCnKunu1GYOTLNPwF7_K8p3ytcTgg.cache +0 -3
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/Pi/PitG24Ap6XHTl1N62RP6JfNqaWJFxaUoe59hR-YXKPE.cache +0 -3
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/Pm/PmYoMk9-uw3hPLN-bvhDGLKg6cTarLI8BYk3DhheO1k.cache +0 -3
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/SP/SPGmSZC6qS--XzWg1MdmEEgH6dRyXOgJMe2P9QBYQZY.cache +0 -0
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/V4/V440s0_NvNOTLoVbZrUe2eeHjF7uUg4OPlf9swcXXDA.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/WS/WSBIVButxIEVKNZe-7Nc4vJqenDzrMKArSNbIy7H8Cs.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/Xg/Xg64R_L39P2xqnexdmGDRYDzSTX8azFSAWBFOy2B5lU.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/YY/YYg4F7MwALcoY2sRAE6hl0-2rtVq5V-9JixAGfbxLF0.cache +0 -2
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/ZU/ZUn7d2k8KPMHyjjf6lnKTGwGfn2BO-IdyYXQ8wfkVIM.cache +0 -0
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/_n/_nYxMUNBMU9KjdTucuCyGutY4g7x8eJjbF9NwXdn1po.cache +0 -0
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/aW/aWW6yUInnVq44DuXVWtVU0Uu6MVqbDk_31S2NWl7K74.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/ap/aprbFEg82SGajctPy-pfnM30hK8PtEZrmsgk9pgRHRk.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/cy/cy6FSlBMXEvsU2hDor-RFfO7au2LngZ3WqI2vqa1r8U.cache +0 -0
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/du/duFUmZ4ysy7RyIkeiWtvwe6BtTfBJhNMuO2oRfkfoVo.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/ed/edkFBPusn0eAqYUpbC3hk4dVs45tYZg3w4p50PKPokk.cache +0 -0
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/fC/fCrT0zlSV767KPzO87GqdHMO_QsiEr19LLDZb0XFHfc.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/g3/g3DI9kbhIoXd-w_hDm4y5teEzaSmtyBGpP1zd-JWcek.cache +0 -0
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/g6/g6fovXx3tOX2i7BAnBDxcViTe4leaTm9Kkrfdl8wMQA.cache +0 -0
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/go/gorAkyJ6oqUlHs8L907X6eA5ORKpX19iQIIz85e1Om4.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/hD/hDxUuofMAs4S7GXborJiutJawcnl4o2LNudaxNbN4ec.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/hQ/hQj6p2AFknE_MgYgHnwoPOe91PEUgpn6Z_FiuyaJ82k.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/hw/hwHQHMDHwgnbAp8O9R8o4Q5POdU6sxLG89slbhtkmEk.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/iH/iH1r3bm_cqwvpfoFfd5cI3E2iqgJtmIed8lCZKieHx8.cache +0 -2
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/is/isbz3mXXlcEL2HMerIcSsLWpTN3D4lHiK2HOygFzss8.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/iw/iwUWP-Z82gbzpNgNohj70sxyUtc3xNWla6RKzVYItxg.cache +0 -0
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/j9/j9dS7uGziRYgnlks5CDCYPt1e_REM0RIz9UpIgMKgdg.cache +0 -0
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/jY/jYVt_HA9ZEkn6SDsjj7OSswwgRzN39gj7oCIcNhw6G4.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/jh/jh8Rd8uXzJsR5P4NG39_-VpLgRemhQ8CxX5_dw6lT8Y.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/kU/kUhgMRj0dXypOCVx0_3_wrOtw53hBixKcGLLqSxuw6w.cache +0 -3
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/ni/niGBqsssmceju94eXn6eko8N-B_Wd_TfuVca3esL0PA.cache +0 -0
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/oB/oBw4u1I-YHiDLfqGBonN5VMbTkmFJCA2IZIWABuZCZY.cache +0 -0
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/oN/oNYh-Q08FfdNyVFqXISNg8_l67G5FeBHokHp5greQLo.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/p0/p00KopyzwCidTtAuB76KK2QxTXFwOLwu-Ur8rkyHV1Q.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/pR/pRAbQ3DoSMCVan9vdc4o6gLmg2MfGWD_yjv6SwBjomc.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/pS/pSRyIy0fylBzoBIXuPbSt6NPfrO26fTTJ91cnBiYV5c.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/qy/qy5ffSUvVTPRKpXNBphBzko8sGj8Ce4dDXBu8rCvA_k.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/rj/rj9TDm5Ag9No-NQsnf_1jVYYLtMtHzwzJz0DBSS0JA0.cache +0 -0
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/sk/skD9Azvu31NegSi2oQtxsOd9ghnyKi7-4FHq4WwvWtE.cache +0 -0
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/sn/SnvXlg8cBOz55_kauZGh-V4IC5Zauq8JVhOlzJ02iSU.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/sn/snbk_vUdpRIi6RfNIaIjl1NOO3pWiCe6KFWZ30k1XL8.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/tn/tnnlCZmqi-M2TWOY6xMLnGBbKqxvkwkMHVJ8kHRBmik.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/u1/u1WQc8AMAiOmt_v_5_2yi3XbEaUf9yC4itiSk53jRGg.cache +0 -0
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/uH/uH1B6_PPjBQ_4l8KBo3b9ewINago1_K8JKjG1w0YKH4.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/v5/v56pz21chnsTcHF9GlXTNEdYxkn5O1M9WyIVgb17pzo.cache +0 -2
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/vS/vSW7CsUHjw-gbleWbQODWkGxCP7xL776KWz12vIsn5U.cache +0 -2
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/vm/vm9hQSEhxR6wE0cFbLeqVjYZax2SwNkord1DCAzA2xg.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/wi/wiOYNLAxWSE-RcUp0e8yyvwlXcrlSD3c8Hf_9mLum00.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/xu/xuHg3Ok3I6Ioa8MvbTYwIrYE_ECmwnU6iG9oIqi9Kw0.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/y3/y397xgx0zBU7JiqxnZxg555Z1CcnrG1svhgwJvZA6Fs.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v3.0/y5/y5VE9EjY2KAk8NIkbwOZzYod3U0KM5Q5ZqJ_J0CmJIs.cache +0 -0
- data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/0p/0pLW5uAkYcVMn-L1f008s8QG400BA-CGnjEUCaGLgwA.cache +0 -0
- data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/1E/1Eq7urfYMOFFaH2_2qtEtAzItryBST0NWI8LjG7_8AY.cache +0 -3
- data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/1t/1tj8wAl_ygkeV4rjgm17Yabg53-rR_pkntyJe1pnStk.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/21/21O83OBXXXSWrKD2yP5QfOt5GdsGKcUvdkHuxGVDCq0.cache +0 -0
- data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/2V/2VVsM_aqLieq8REU3CAcwO12z7nTUOMDaOG8mfPTlDc.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/3K/3KLS9RO9SD43w2m7B37olZz-VRlZVFl3F98EcZ-T6OQ.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/6H/6H_SytVX3LrLQVNblKfSUZm9U4zz0Hi3nC7zd2slWgE.cache +0 -0
- data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/7A/7AfJBOCTRna7lhBueluC9znK0PVnN3Z0wUaxOqGL_A4.cache +0 -3
- data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/9B/9BuTfVVX9s_SyGNUVwTAliEfEbBaBhN4h3UUAvmaO5w.cache +0 -0
- data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/9G/9GSHOjw505wesb6iaMzEVqLjrV7bDI8N8MnO892fjkY.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/9I/9IPM2vWQgQR4xfKHMKObDvNQpOackOP1Hhf3-GMlZnA.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/AD/ADMJimKJauAcBJIneLV5egsXBPBoCjbSP9kY6njR36I.cache +0 -0
- data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/AH/AHbfhhP0cTEOs-1EBUNUXXyeEHxgK0boxQfplICtNiA.cache +0 -0
- data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/B5/B5enM7rLQGpvU7rBc2Zu3cO-5FhDDj0_nCVJWZvjX7s.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/C5/C5PnkMgUphtk9ABTF6z2KS4sHgpENn8GBLoy-i3E3wo.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/CQ/CQ_GqCyDnwt2tUBwsxP1dZHI65ufI-hB9MQ3y1--m9Q.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/EL/EL7MuqbmZFKYS_80bdvW6_Wn5UEiX3eu1r6N-7G8UEw.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/Fy/FyhhzuND_ItWUB5CEJ3iyuY40AgIG84NRv4zu9Timps.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/H-/H-Xq75Ky6CJKbSHsls6b1RlUhAZsCvAsQBp1hEo4SQE.cache +0 -0
- data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/JD/JDzlonPoUacVM5xof3d6jVjmE61rJg-Om9N6lYAo7ZI.cache +0 -3
- data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/Jf/JfAkIfafqJLEVZeAwe3NPmILKAxLTIaQMkBDQv9lgRs.cache +0 -0
- data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/KD/KDZ5JOyifGKCzqVzvh51rBn4-z2waWNs3-ied97ntvk.cache +0 -0
- data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/KL/KLfhFc73IoPAgk4UqkkweYC0d9WoWDsdFt6tvPk-sH4.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/Lr/Lr-IyGH4TR4pHCYggxyAjgjEdL2fA8HQm_WdYfSqivs.cache +0 -3
- data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/MP/MPkUdTQ18IIRCAqCDpPHC_aLe9EvuxF2rCs0Zi7ormg.cache +0 -3
- data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/Mk/MkHnY3zJtJQlrbU7VsPIbKzhVht8Kh-jfEbTilENQgA.cache +0 -0
- data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/NS/NSoASzvu62nmDpGMHQrHaDmhnAtsI4vc8886q8304tk.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/Od/Odde9BXdsuh0jKZhRr4e_mzWgRviGF2hraOo-CBT2Uc.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/SP/SPGmSZC6qS--XzWg1MdmEEgH6dRyXOgJMe2P9QBYQZY.cache +0 -0
- data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/UJ/UJ9oV8YAQYl3QXld841M9Q8GDChRm4hq-p_-ub-8Mnw.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/Vi/ViNv05i6eMoI4yhVXbPOdOe8uxRNvkjNSYoK5OS99Dw.cache +0 -0
- data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/Xg/Xg64R_L39P2xqnexdmGDRYDzSTX8azFSAWBFOy2B5lU.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/Ys/Ys273n5EbMBrlmQ8NS6qFULe7v3P3HsMJ-7AKvcpUVQ.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/bB/bBjLJM-5v5XvzSjbmk6765v1o0j-26cy2yuTD1KXkl0.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/iG/iGXSyXK76m1vZahJipVHsBeSuq9a02pimNfRGul6UyE.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/jZ/jZck37TJYp10fX7dzwjF6k7-gPhmNdzB5PWayl2lSRQ.cache +0 -0
- data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/jh/jh8Rd8uXzJsR5P4NG39_-VpLgRemhQ8CxX5_dw6lT8Y.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/kh/khKGwmTZNJ3bMZIUHcaMzBFC8ORvLIMmSF735G5h5JA.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/p0/p00KopyzwCidTtAuB76KK2QxTXFwOLwu-Ur8rkyHV1Q.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/p0/p0AgQcqeMod0Q93wM6Lm_wksgSixervifjXcfre3UNg.cache +0 -0
- data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/tN/tNMYFw0s6bpMU4Rph9cmm8M-3G0ZCkojT-JjMxvXY5c.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/uc/ucpiLQJan6bNoAklPDQXEwdgbK9N_iHcEdcUK3sXfi8.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/uw/uw7uS6ON94iLO0V-uIz9HG08EtTXbCsegAx2rsW8ZZw.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/v7/v79_HLVOJ_bTUgdWPb3KnIe1Ob_60Lytir4WusrWpQg.cache +0 -3
- data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/wr/wrx3kO_wdP5NwpV8WnIPmG6582mk1yXcAYXwZECzF1c.cache +0 -0
- data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/xs/xsXpTMvclkmE9PUtRWGU4l13KsXsf143bqyVpBHalvE.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/z5/z5kOnAPBYWOw-zvMXDeGE_yVaZZoO9assTdxLAezanE.cache +0 -1
- data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/zi/zi3iTvVQF4pcw9u3GU9UJ6mttFr7TO49bUhRb-pA7sc.cache +0 -1
- data/test/rails602/Gemfile.lock +0 -183
- data/test/rails602/log/development.log +0 -2
- data/test/rails602/log/test.log +0 -642
- data/test/rails602/tmp/cache/assets/sprockets/v4.0.0/0a/0akXyz-RvD7ECckO9hP1DJxTo5DmWnfdLxYT8v6iBB0.cache +0 -1
- data/test/rails602/tmp/cache/assets/sprockets/v4.0.0/1G/1GDNz0WzrvjCbDFhKGTRB4SqMCVxSD35_Xf7FM-xGyA.cache +0 -2
- data/test/rails602/tmp/cache/assets/sprockets/v4.0.0/8A/8Aj0qbTT_8xMiQdT4ay1288JA7cIiscUWqD8v8AhrSo.cache +0 -1
- data/test/rails602/tmp/cache/assets/sprockets/v4.0.0/99/99m8UCKl4j8IpsVOK8ltLHyNh8Ae0nHw3GBkC34V_co.cache +0 -2
- data/test/rails602/tmp/cache/assets/sprockets/v4.0.0/A9/A90cbULL8Hfbsv-9YOrxkplqpjR3vMl94Ty3mNaytyg.cache +0 -1
- data/test/rails602/tmp/cache/assets/sprockets/v4.0.0/B4/B43LeT9Wba4fLvXw-C_kKq-x9HwYZxnBBiltbIufzzQ.cache +0 -2
- data/test/rails602/tmp/cache/assets/sprockets/v4.0.0/Qw/QwqNC1B79H6PvmagB1AGJO9I9qeFBpiit-qXaOCDjp8.cache +0 -1
- data/test/rails602/tmp/cache/assets/sprockets/v4.0.0/lX/lXQ4hYUaxBbrnZMkw-u9ScABwdSoG7c63G01rUy4FLg.cache +0 -0
- data/test/rails602/tmp/cache/assets/sprockets/v4.0.0/sC/sCHJ2HP3o3cxIJWeTGqTYDYOtgzS7Hlcpmz1hBftKTc.cache +0 -0
- data/test/rails602/tmp/development_secret.txt +0 -1
- data/test/route_downcaser_test.rb +0 -189
- data/test/test_helper.rb +0 -19
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0e8631f4a49f8535fa5447c8f7cd6cf559f0815db563275206ff61545d794c7f
|
4
|
+
data.tar.gz: 39668ddbeb37b4531d737db52f45abffd90154caf7d1b20cd7cef6fbf6aa1c64
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 362a09827152918e502adc28ff921f1e3943605d8e2dc2de7ebba7f0ef996999f393927bd3e52a65e355a3231c0ec4a5e25c72362a45633b1784a55de452833f
|
7
|
+
data.tar.gz: 62f7e618aa30b3d012b467c40f8624d7bf9d2dfe15ec52d567cd18da0f46e836b8569d2c2fbdbb31d8a9181e6a7695320a90fc6d9846852843e9d83bc18a49f4
|
data/README.rdoc
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
= RouteDowncaser
|
2
2
|
|
3
|
-
{<img src="https://travis-ci.org/substancelab/route_downcaser.svg?branch=master" alt="Build Status" />}[https://travis-ci.org/substancelab/route_downcaser] {<img src="https://codeclimate.com/github/substancelab/route_downcaser/badges/gpa.svg" />}[https://codeclimate.com/github/substancelab/route_downcaser]
|
4
|
-
|
5
3
|
Makes routing in Rails case-insensitive (and other Rack-servers like Sinatra)
|
6
4
|
|
7
5
|
This gem hooks into the Rack middleware of Rails. This way all paths are downcased before dispatching to Rails' routing mechanism. Querystring parameters and asset paths are not changed in any way.
|
8
6
|
|
9
7
|
== Requirements
|
10
8
|
|
11
|
-
This gem is tested with 5.
|
9
|
+
This gem is tested with 5.2.x, 6.x, 7.x. It reportedly also works with Sinatra, although I do not use Sinatra myself. Sinatra test-cases will be most welcome.
|
10
|
+
|
11
|
+
It has previously worked - and I presume still works - in Rails 5.0.x and 5.1.x.
|
12
12
|
|
13
13
|
If you want this functionality in a Rails 2.x-3.0 application, please refer to {this blog post}[http://gehling.dk/2010/02/how-to-make-rails-routing-case-insensitive]. If you need it for Rails 3.1.x or 4.x version 1.2.2 should serve you just fine.
|
14
14
|
|
data/Rakefile
CHANGED
@@ -1,33 +1,35 @@
|
|
1
1
|
#!/usr/bin/env rake
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
2
4
|
begin
|
3
|
-
require
|
5
|
+
require "bundler/setup"
|
4
6
|
rescue LoadError
|
5
|
-
puts
|
7
|
+
puts "You must `gem install bundler` and `bundle install` to run rake tasks"
|
6
8
|
end
|
7
9
|
begin
|
8
|
-
require
|
10
|
+
require "rdoc/task"
|
9
11
|
rescue LoadError
|
10
|
-
require
|
11
|
-
require
|
12
|
+
require "rdoc/rdoc"
|
13
|
+
require "rake/rdoctask"
|
12
14
|
RDoc::Task = Rake::RDocTask
|
13
15
|
end
|
14
16
|
|
15
17
|
RDoc::Task.new(:rdoc) do |rdoc|
|
16
|
-
rdoc.rdoc_dir =
|
17
|
-
rdoc.title
|
18
|
-
rdoc.options <<
|
19
|
-
rdoc.rdoc_files.include(
|
20
|
-
rdoc.rdoc_files.include(
|
18
|
+
rdoc.rdoc_dir = "rdoc"
|
19
|
+
rdoc.title = "RouteDowncaser"
|
20
|
+
rdoc.options << "--line-numbers"
|
21
|
+
rdoc.rdoc_files.include("README.rdoc")
|
22
|
+
rdoc.rdoc_files.include("lib/**/*.rb")
|
21
23
|
end
|
22
24
|
|
23
25
|
Bundler::GemHelper.install_tasks
|
24
26
|
|
25
|
-
require
|
27
|
+
require "rake/testtask"
|
26
28
|
|
27
29
|
Rake::TestTask.new(:test) do |t|
|
28
|
-
t.libs <<
|
29
|
-
t.libs <<
|
30
|
-
t.pattern =
|
30
|
+
t.libs << "lib"
|
31
|
+
t.libs << "test"
|
32
|
+
t.pattern = "test/**/*_test.rb"
|
31
33
|
t.verbose = false
|
32
34
|
end
|
33
35
|
|
@@ -1,25 +1,29 @@
|
|
1
|
-
|
2
|
-
def configuration
|
3
|
-
yield self
|
4
|
-
end
|
5
|
-
|
6
|
-
def define_setting(name, default = nil)
|
7
|
-
class_variable_set("@@#{name}", default)
|
1
|
+
# frozen_string_literal: true
|
8
2
|
|
9
|
-
|
10
|
-
|
3
|
+
module RouteDowncaser
|
4
|
+
module Configuration
|
5
|
+
def configuration
|
6
|
+
yield self
|
11
7
|
end
|
12
8
|
|
13
|
-
|
14
|
-
|
9
|
+
def define_setting(name, default = nil)
|
10
|
+
class_variable_set("@@#{name}", default)
|
11
|
+
|
12
|
+
define_class_method "#{name}=" do |value|
|
13
|
+
class_variable_set("@@#{name}", value)
|
14
|
+
end
|
15
|
+
|
16
|
+
define_class_method name do
|
17
|
+
class_variable_get("@@#{name}")
|
18
|
+
end
|
15
19
|
end
|
16
|
-
end
|
17
20
|
|
18
|
-
|
21
|
+
private
|
19
22
|
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
+
def define_class_method(name, &block)
|
24
|
+
(class << self; self; end).instance_eval do
|
25
|
+
define_method name, &block
|
26
|
+
end
|
23
27
|
end
|
24
28
|
end
|
25
29
|
end
|
@@ -1,5 +1,6 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require "active_support/core_ext/object/blank"
|
2
|
-
require "active_support/core_ext/string/multibyte"
|
3
4
|
|
4
5
|
module RouteDowncaser
|
5
6
|
class DowncaseRouteMiddleware
|
@@ -12,30 +13,21 @@ module RouteDowncaser
|
|
12
13
|
end
|
13
14
|
|
14
15
|
def _call(env)
|
15
|
-
|
16
|
-
path_info = env['PATH_INFO']
|
16
|
+
path_info = env["PATH_INFO"]
|
17
17
|
|
18
|
-
# Don't touch anything, if
|
19
|
-
return @app.call(env) if excluded?([
|
18
|
+
# Don't touch anything, if path is part of exclude_patterns
|
19
|
+
return @app.call(env) if excluded?([path_info])
|
20
20
|
|
21
|
-
# Downcase
|
22
|
-
request_uri = downcased_uri(request_uri)
|
21
|
+
# Downcase path_info if applicable
|
23
22
|
path_info = downcased_uri(path_info)
|
24
23
|
|
25
|
-
# If redirect configured, then return redirect request,
|
26
|
-
#
|
27
|
-
if RouteDowncaser.redirect && env[
|
28
|
-
if
|
29
|
-
return redirect_header(request_uri)
|
30
|
-
end
|
31
|
-
|
32
|
-
if path_info.present? && path_info != env['PATH_INFO']
|
33
|
-
return redirect_header(path_info)
|
34
|
-
end
|
24
|
+
# If redirect configured, then return redirect request, if either
|
25
|
+
# path_info has changed
|
26
|
+
if RouteDowncaser.redirect && env["REQUEST_METHOD"] == "GET"
|
27
|
+
return redirect_header(path_info) if path_info.present? && path_info != env["PATH_INFO"]
|
35
28
|
end
|
36
29
|
|
37
|
-
env[
|
38
|
-
env['REQUEST_URI'] = request_uri.to_s if request_uri
|
30
|
+
env["PATH_INFO"] = path_info.to_s if path_info
|
39
31
|
|
40
32
|
# Default just move to next chain in Rack callstack
|
41
33
|
# calling with downcased uri if needed
|
@@ -56,13 +48,22 @@ module RouteDowncaser
|
|
56
48
|
|
57
49
|
def downcased_uri(uri)
|
58
50
|
return nil unless uri.present?
|
51
|
+
|
59
52
|
if has_querystring?(uri)
|
60
|
-
"#{
|
53
|
+
"#{downcased_path(uri)}?#{querystring(uri)}"
|
61
54
|
else
|
62
|
-
|
55
|
+
downcased_path(uri)
|
63
56
|
end
|
64
57
|
end
|
65
58
|
|
59
|
+
def downcased_path(uri)
|
60
|
+
path(uri).split("/").map(&method(:downcase_path_segment)).join("/")
|
61
|
+
end
|
62
|
+
|
63
|
+
def downcase_path_segment(segment)
|
64
|
+
URI.encode_www_form_component(URI.decode_www_form_component(segment).downcase)
|
65
|
+
end
|
66
|
+
|
66
67
|
def path(uri)
|
67
68
|
uri_items(uri).first
|
68
69
|
end
|
@@ -76,11 +77,11 @@ module RouteDowncaser
|
|
76
77
|
end
|
77
78
|
|
78
79
|
def uri_items(uri)
|
79
|
-
uri.split(
|
80
|
+
uri.split("?", 2)
|
80
81
|
end
|
81
82
|
|
82
83
|
def redirect_header(uri)
|
83
|
-
[301, {
|
84
|
+
[301, {"Location" => uri.to_s, "Content-Type" => "text/html"}, []]
|
84
85
|
end
|
85
86
|
end
|
86
87
|
end
|
@@ -1,6 +1,8 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module RouteDowncaser
|
2
4
|
class Railtie < Rails::Railtie
|
3
|
-
initializer
|
5
|
+
initializer "add_downcase_route_middleware" do |app|
|
4
6
|
app.config.middleware.use RouteDowncaser::DowncaseRouteMiddleware
|
5
7
|
end
|
6
8
|
end
|
data/lib/route_downcaser.rb
CHANGED
@@ -1,10 +1,12 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
require
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "route_downcaser/downcase_route_middleware"
|
4
|
+
require "route_downcaser/railtie" if defined? Rails
|
5
|
+
require "route_downcaser/configuration"
|
4
6
|
|
5
7
|
module RouteDowncaser
|
6
8
|
extend RouteDowncaser::Configuration
|
7
9
|
|
8
10
|
define_setting :redirect, false
|
9
|
-
define_setting :exclude_patterns, [/
|
11
|
+
define_setting :exclude_patterns, [%r{assets/}i]
|
10
12
|
end
|