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.
Files changed (189) hide show
  1. checksums.yaml +4 -4
  2. data/README.rdoc +3 -3
  3. data/Rakefile +16 -14
  4. data/lib/route_downcaser/configuration.rb +20 -16
  5. data/lib/route_downcaser/downcase_route_middleware.rb +24 -23
  6. data/lib/route_downcaser/railtie.rb +3 -1
  7. data/lib/route_downcaser/version.rb +3 -1
  8. data/lib/route_downcaser.rb +6 -4
  9. data/lib/tasks/route_downcaser_tasks.rake +1 -0
  10. metadata +24 -367
  11. data/test/integration/route_middleware_test.rb +0 -57
  12. data/test/rails421/Rakefile +0 -6
  13. data/test/rails421/app/assets/config/manifest.js +0 -3
  14. data/test/rails421/app/assets/javascripts/application.js +0 -5
  15. data/test/rails421/app/assets/stylesheets/application.css +0 -15
  16. data/test/rails421/app/controllers/application_controller.rb +0 -5
  17. data/test/rails421/app/controllers/hello_controller.rb +0 -5
  18. data/test/rails421/app/helpers/application_helper.rb +0 -2
  19. data/test/rails421/app/views/layouts/application.html.erb +0 -14
  20. data/test/rails421/bin/bundle +0 -3
  21. data/test/rails421/bin/rails +0 -8
  22. data/test/rails421/bin/rake +0 -8
  23. data/test/rails421/bin/setup +0 -29
  24. data/test/rails421/bin/spring +0 -15
  25. data/test/rails421/config/application.rb +0 -29
  26. data/test/rails421/config/boot.rb +0 -3
  27. data/test/rails421/config/environment.rb +0 -5
  28. data/test/rails421/config/environments/development.rb +0 -41
  29. data/test/rails421/config/environments/production.rb +0 -79
  30. data/test/rails421/config/environments/test.rb +0 -44
  31. data/test/rails421/config/initializers/assets.rb +0 -11
  32. data/test/rails421/config/initializers/backtrace_silencers.rb +0 -7
  33. data/test/rails421/config/initializers/cookies_serializer.rb +0 -3
  34. data/test/rails421/config/initializers/filter_parameter_logging.rb +0 -4
  35. data/test/rails421/config/initializers/inflections.rb +0 -16
  36. data/test/rails421/config/initializers/mime_types.rb +0 -4
  37. data/test/rails421/config/initializers/session_store.rb +0 -3
  38. data/test/rails421/config/initializers/wrap_parameters.rb +0 -14
  39. data/test/rails421/config/locales/en.yml +0 -23
  40. data/test/rails421/config/routes.rb +0 -59
  41. data/test/rails421/config/secrets.yml +0 -22
  42. data/test/rails421/config.ru +0 -4
  43. data/test/rails421/log/test.log +0 -1014
  44. data/test/rails421/public/404.html +0 -67
  45. data/test/rails421/public/422.html +0 -67
  46. data/test/rails421/public/500.html +0 -66
  47. data/test/rails421/public/favicon.ico +0 -0
  48. data/test/rails421/public/robots.txt +0 -5
  49. data/test/rails421/tmp/cache/assets/sprockets/v3.0/-B/-Bgmyr63R89_vIyXN9mCNapfDXapBpDRck9XmKhL5CA.cache +0 -0
  50. data/test/rails421/tmp/cache/assets/sprockets/v3.0/-W/-WQ3FNnhW7tLBOxo4aGnRb2Fve0zgOnoMYj6wqTNkbM.cache +0 -1
  51. data/test/rails421/tmp/cache/assets/sprockets/v3.0/0E/0EDP1-KVZYBKHTAmflqiPVViMAVEG0SC-kK_5oEVZn0.cache +0 -0
  52. data/test/rails421/tmp/cache/assets/sprockets/v3.0/0g/0gWM2CTzhg2x8y4_UP-Py0W4B9A-zr06u8OBmue8X1k.cache +0 -1
  53. data/test/rails421/tmp/cache/assets/sprockets/v3.0/3K/3KLS9RO9SD43w2m7B37olZz-VRlZVFl3F98EcZ-T6OQ.cache +0 -1
  54. data/test/rails421/tmp/cache/assets/sprockets/v3.0/3O/3OqO1F9b_ZzzrtlAoCMgvevQgZnwcUOgeLR8rv3IEic.cache +0 -0
  55. data/test/rails421/tmp/cache/assets/sprockets/v3.0/4r/4rAedh6S2USq6-0-HuB_CCVHHLcpx52AIjXhD_2ZBGg.cache +0 -1
  56. data/test/rails421/tmp/cache/assets/sprockets/v3.0/5C/5CT_8kIrhxIJ83JBc79GdAhqzTv5yYzmjQTu_6ALk50.cache +0 -0
  57. data/test/rails421/tmp/cache/assets/sprockets/v3.0/5J/5Jhq8lUXayqrSHgYM1Q5MHGn-TiHuMjRmK_XV4M3UyI.cache +0 -1
  58. data/test/rails421/tmp/cache/assets/sprockets/v3.0/5t/5tiqCRpLfxs-Y6ybOzuDwipvuUFossP-XvncvDt1beA.cache +0 -1
  59. data/test/rails421/tmp/cache/assets/sprockets/v3.0/6H/6H_SytVX3LrLQVNblKfSUZm9U4zz0Hi3nC7zd2slWgE.cache +0 -0
  60. data/test/rails421/tmp/cache/assets/sprockets/v3.0/7a/7aucnxDrWU2Wq9Gv2-MzRJ-TODqCU9XYtPF9yUAxzrA.cache +0 -3
  61. data/test/rails421/tmp/cache/assets/sprockets/v3.0/7j/7jspo8CcT9uFS4H8PqxscgE3AlgXB7pTQyQIhMJPVg0.cache +0 -1
  62. data/test/rails421/tmp/cache/assets/sprockets/v3.0/8b/8bGxiI7b1E3sXm_6Main4IVaCaNunTCJECvMivc6vao.cache +0 -0
  63. data/test/rails421/tmp/cache/assets/sprockets/v3.0/91/91xRePltaCv1RzwqjVg8J1eDPpMSQzAP2xE0NfHN790.cache +0 -0
  64. data/test/rails421/tmp/cache/assets/sprockets/v3.0/Ag/AgHzzOWYl7FCzWVoy3hK75zrV0K8Fb-_06edGSVp2Ow.cache +0 -0
  65. data/test/rails421/tmp/cache/assets/sprockets/v3.0/Cf/CflQs9dwKZXgCIWoyonGUgbz8uPXLgmyP_FlcJScD7o.cache +0 -1
  66. data/test/rails421/tmp/cache/assets/sprockets/v3.0/Cg/CgOhJxWpn75PUgDhTSfe1qt0yvhVyPToVq13nv5zuZQ.cache +0 -1
  67. data/test/rails421/tmp/cache/assets/sprockets/v3.0/EL/EL7MuqbmZFKYS_80bdvW6_Wn5UEiX3eu1r6N-7G8UEw.cache +0 -1
  68. data/test/rails421/tmp/cache/assets/sprockets/v3.0/FV/FV8nUPacNnUiza7kOCqckUSyEGBdphbSPSuZtJUy8tE.cache +0 -1
  69. data/test/rails421/tmp/cache/assets/sprockets/v3.0/GP/GPlQQXNQ-w_dTZRfo4-FYNUzSGE1cEKrXjS7crmzVG0.cache +0 -1
  70. data/test/rails421/tmp/cache/assets/sprockets/v3.0/Ig/Igg0gxUZFtM3hQ7W6dbvFXdZpIbV6tOiVPR2vEmQYXI.cache +0 -1
  71. data/test/rails421/tmp/cache/assets/sprockets/v3.0/Jf/JfAkIfafqJLEVZeAwe3NPmILKAxLTIaQMkBDQv9lgRs.cache +0 -0
  72. data/test/rails421/tmp/cache/assets/sprockets/v3.0/Jg/Jgz4YtR2FGBSwxB6thNOJDk7klfksp2yQy2XkBjht4g.cache +0 -1
  73. data/test/rails421/tmp/cache/assets/sprockets/v3.0/Ki/KiL7BwSVbz_z5w4y93R2R4LCkyj0b19GujTz6XIiarY.cache +0 -0
  74. data/test/rails421/tmp/cache/assets/sprockets/v3.0/LU/LUAozPg7QdzK21QBqXW25-a5gN_7zLRAqQSupvkblSg.cache +0 -0
  75. data/test/rails421/tmp/cache/assets/sprockets/v3.0/Ln/LnFnKRPLxutlTQ7fOvRsapfgXEw5btGpLwFPbpRzRlM.cache +0 -0
  76. data/test/rails421/tmp/cache/assets/sprockets/v3.0/Ls/LsZJopR7cTyB7JsVfz5aSomahT3jHGL6Pa2CICmFoQg.cache +0 -3
  77. data/test/rails421/tmp/cache/assets/sprockets/v3.0/PK/PKl6w1pmCXwfusuCnKunu1GYOTLNPwF7_K8p3ytcTgg.cache +0 -3
  78. data/test/rails421/tmp/cache/assets/sprockets/v3.0/Pi/PitG24Ap6XHTl1N62RP6JfNqaWJFxaUoe59hR-YXKPE.cache +0 -3
  79. data/test/rails421/tmp/cache/assets/sprockets/v3.0/Pm/PmYoMk9-uw3hPLN-bvhDGLKg6cTarLI8BYk3DhheO1k.cache +0 -3
  80. data/test/rails421/tmp/cache/assets/sprockets/v3.0/SP/SPGmSZC6qS--XzWg1MdmEEgH6dRyXOgJMe2P9QBYQZY.cache +0 -0
  81. data/test/rails421/tmp/cache/assets/sprockets/v3.0/V4/V440s0_NvNOTLoVbZrUe2eeHjF7uUg4OPlf9swcXXDA.cache +0 -1
  82. data/test/rails421/tmp/cache/assets/sprockets/v3.0/WS/WSBIVButxIEVKNZe-7Nc4vJqenDzrMKArSNbIy7H8Cs.cache +0 -1
  83. data/test/rails421/tmp/cache/assets/sprockets/v3.0/Xg/Xg64R_L39P2xqnexdmGDRYDzSTX8azFSAWBFOy2B5lU.cache +0 -1
  84. data/test/rails421/tmp/cache/assets/sprockets/v3.0/YY/YYg4F7MwALcoY2sRAE6hl0-2rtVq5V-9JixAGfbxLF0.cache +0 -2
  85. data/test/rails421/tmp/cache/assets/sprockets/v3.0/ZU/ZUn7d2k8KPMHyjjf6lnKTGwGfn2BO-IdyYXQ8wfkVIM.cache +0 -0
  86. data/test/rails421/tmp/cache/assets/sprockets/v3.0/_n/_nYxMUNBMU9KjdTucuCyGutY4g7x8eJjbF9NwXdn1po.cache +0 -0
  87. data/test/rails421/tmp/cache/assets/sprockets/v3.0/aW/aWW6yUInnVq44DuXVWtVU0Uu6MVqbDk_31S2NWl7K74.cache +0 -1
  88. data/test/rails421/tmp/cache/assets/sprockets/v3.0/ap/aprbFEg82SGajctPy-pfnM30hK8PtEZrmsgk9pgRHRk.cache +0 -1
  89. data/test/rails421/tmp/cache/assets/sprockets/v3.0/cy/cy6FSlBMXEvsU2hDor-RFfO7au2LngZ3WqI2vqa1r8U.cache +0 -0
  90. data/test/rails421/tmp/cache/assets/sprockets/v3.0/du/duFUmZ4ysy7RyIkeiWtvwe6BtTfBJhNMuO2oRfkfoVo.cache +0 -1
  91. data/test/rails421/tmp/cache/assets/sprockets/v3.0/ed/edkFBPusn0eAqYUpbC3hk4dVs45tYZg3w4p50PKPokk.cache +0 -0
  92. data/test/rails421/tmp/cache/assets/sprockets/v3.0/fC/fCrT0zlSV767KPzO87GqdHMO_QsiEr19LLDZb0XFHfc.cache +0 -1
  93. data/test/rails421/tmp/cache/assets/sprockets/v3.0/g3/g3DI9kbhIoXd-w_hDm4y5teEzaSmtyBGpP1zd-JWcek.cache +0 -0
  94. data/test/rails421/tmp/cache/assets/sprockets/v3.0/g6/g6fovXx3tOX2i7BAnBDxcViTe4leaTm9Kkrfdl8wMQA.cache +0 -0
  95. data/test/rails421/tmp/cache/assets/sprockets/v3.0/go/gorAkyJ6oqUlHs8L907X6eA5ORKpX19iQIIz85e1Om4.cache +0 -1
  96. data/test/rails421/tmp/cache/assets/sprockets/v3.0/hD/hDxUuofMAs4S7GXborJiutJawcnl4o2LNudaxNbN4ec.cache +0 -1
  97. data/test/rails421/tmp/cache/assets/sprockets/v3.0/hQ/hQj6p2AFknE_MgYgHnwoPOe91PEUgpn6Z_FiuyaJ82k.cache +0 -1
  98. data/test/rails421/tmp/cache/assets/sprockets/v3.0/hw/hwHQHMDHwgnbAp8O9R8o4Q5POdU6sxLG89slbhtkmEk.cache +0 -1
  99. data/test/rails421/tmp/cache/assets/sprockets/v3.0/iH/iH1r3bm_cqwvpfoFfd5cI3E2iqgJtmIed8lCZKieHx8.cache +0 -2
  100. data/test/rails421/tmp/cache/assets/sprockets/v3.0/is/isbz3mXXlcEL2HMerIcSsLWpTN3D4lHiK2HOygFzss8.cache +0 -1
  101. data/test/rails421/tmp/cache/assets/sprockets/v3.0/iw/iwUWP-Z82gbzpNgNohj70sxyUtc3xNWla6RKzVYItxg.cache +0 -0
  102. data/test/rails421/tmp/cache/assets/sprockets/v3.0/j9/j9dS7uGziRYgnlks5CDCYPt1e_REM0RIz9UpIgMKgdg.cache +0 -0
  103. data/test/rails421/tmp/cache/assets/sprockets/v3.0/jY/jYVt_HA9ZEkn6SDsjj7OSswwgRzN39gj7oCIcNhw6G4.cache +0 -1
  104. data/test/rails421/tmp/cache/assets/sprockets/v3.0/jh/jh8Rd8uXzJsR5P4NG39_-VpLgRemhQ8CxX5_dw6lT8Y.cache +0 -1
  105. data/test/rails421/tmp/cache/assets/sprockets/v3.0/kU/kUhgMRj0dXypOCVx0_3_wrOtw53hBixKcGLLqSxuw6w.cache +0 -3
  106. data/test/rails421/tmp/cache/assets/sprockets/v3.0/ni/niGBqsssmceju94eXn6eko8N-B_Wd_TfuVca3esL0PA.cache +0 -0
  107. data/test/rails421/tmp/cache/assets/sprockets/v3.0/oB/oBw4u1I-YHiDLfqGBonN5VMbTkmFJCA2IZIWABuZCZY.cache +0 -0
  108. data/test/rails421/tmp/cache/assets/sprockets/v3.0/oN/oNYh-Q08FfdNyVFqXISNg8_l67G5FeBHokHp5greQLo.cache +0 -1
  109. data/test/rails421/tmp/cache/assets/sprockets/v3.0/p0/p00KopyzwCidTtAuB76KK2QxTXFwOLwu-Ur8rkyHV1Q.cache +0 -1
  110. data/test/rails421/tmp/cache/assets/sprockets/v3.0/pR/pRAbQ3DoSMCVan9vdc4o6gLmg2MfGWD_yjv6SwBjomc.cache +0 -1
  111. data/test/rails421/tmp/cache/assets/sprockets/v3.0/pS/pSRyIy0fylBzoBIXuPbSt6NPfrO26fTTJ91cnBiYV5c.cache +0 -1
  112. data/test/rails421/tmp/cache/assets/sprockets/v3.0/qy/qy5ffSUvVTPRKpXNBphBzko8sGj8Ce4dDXBu8rCvA_k.cache +0 -1
  113. data/test/rails421/tmp/cache/assets/sprockets/v3.0/rj/rj9TDm5Ag9No-NQsnf_1jVYYLtMtHzwzJz0DBSS0JA0.cache +0 -0
  114. data/test/rails421/tmp/cache/assets/sprockets/v3.0/sk/skD9Azvu31NegSi2oQtxsOd9ghnyKi7-4FHq4WwvWtE.cache +0 -0
  115. data/test/rails421/tmp/cache/assets/sprockets/v3.0/sn/SnvXlg8cBOz55_kauZGh-V4IC5Zauq8JVhOlzJ02iSU.cache +0 -1
  116. data/test/rails421/tmp/cache/assets/sprockets/v3.0/sn/snbk_vUdpRIi6RfNIaIjl1NOO3pWiCe6KFWZ30k1XL8.cache +0 -1
  117. data/test/rails421/tmp/cache/assets/sprockets/v3.0/tn/tnnlCZmqi-M2TWOY6xMLnGBbKqxvkwkMHVJ8kHRBmik.cache +0 -1
  118. data/test/rails421/tmp/cache/assets/sprockets/v3.0/u1/u1WQc8AMAiOmt_v_5_2yi3XbEaUf9yC4itiSk53jRGg.cache +0 -0
  119. data/test/rails421/tmp/cache/assets/sprockets/v3.0/uH/uH1B6_PPjBQ_4l8KBo3b9ewINago1_K8JKjG1w0YKH4.cache +0 -1
  120. data/test/rails421/tmp/cache/assets/sprockets/v3.0/v5/v56pz21chnsTcHF9GlXTNEdYxkn5O1M9WyIVgb17pzo.cache +0 -2
  121. data/test/rails421/tmp/cache/assets/sprockets/v3.0/vS/vSW7CsUHjw-gbleWbQODWkGxCP7xL776KWz12vIsn5U.cache +0 -2
  122. data/test/rails421/tmp/cache/assets/sprockets/v3.0/vm/vm9hQSEhxR6wE0cFbLeqVjYZax2SwNkord1DCAzA2xg.cache +0 -1
  123. data/test/rails421/tmp/cache/assets/sprockets/v3.0/wi/wiOYNLAxWSE-RcUp0e8yyvwlXcrlSD3c8Hf_9mLum00.cache +0 -1
  124. data/test/rails421/tmp/cache/assets/sprockets/v3.0/xu/xuHg3Ok3I6Ioa8MvbTYwIrYE_ECmwnU6iG9oIqi9Kw0.cache +0 -1
  125. data/test/rails421/tmp/cache/assets/sprockets/v3.0/y3/y397xgx0zBU7JiqxnZxg555Z1CcnrG1svhgwJvZA6Fs.cache +0 -1
  126. data/test/rails421/tmp/cache/assets/sprockets/v3.0/y5/y5VE9EjY2KAk8NIkbwOZzYod3U0KM5Q5ZqJ_J0CmJIs.cache +0 -0
  127. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/0p/0pLW5uAkYcVMn-L1f008s8QG400BA-CGnjEUCaGLgwA.cache +0 -0
  128. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/1E/1Eq7urfYMOFFaH2_2qtEtAzItryBST0NWI8LjG7_8AY.cache +0 -3
  129. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/1t/1tj8wAl_ygkeV4rjgm17Yabg53-rR_pkntyJe1pnStk.cache +0 -1
  130. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/21/21O83OBXXXSWrKD2yP5QfOt5GdsGKcUvdkHuxGVDCq0.cache +0 -0
  131. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/2V/2VVsM_aqLieq8REU3CAcwO12z7nTUOMDaOG8mfPTlDc.cache +0 -1
  132. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/3K/3KLS9RO9SD43w2m7B37olZz-VRlZVFl3F98EcZ-T6OQ.cache +0 -1
  133. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/6H/6H_SytVX3LrLQVNblKfSUZm9U4zz0Hi3nC7zd2slWgE.cache +0 -0
  134. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/7A/7AfJBOCTRna7lhBueluC9znK0PVnN3Z0wUaxOqGL_A4.cache +0 -3
  135. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/9B/9BuTfVVX9s_SyGNUVwTAliEfEbBaBhN4h3UUAvmaO5w.cache +0 -0
  136. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/9G/9GSHOjw505wesb6iaMzEVqLjrV7bDI8N8MnO892fjkY.cache +0 -1
  137. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/9I/9IPM2vWQgQR4xfKHMKObDvNQpOackOP1Hhf3-GMlZnA.cache +0 -1
  138. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/AD/ADMJimKJauAcBJIneLV5egsXBPBoCjbSP9kY6njR36I.cache +0 -0
  139. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/AH/AHbfhhP0cTEOs-1EBUNUXXyeEHxgK0boxQfplICtNiA.cache +0 -0
  140. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/B5/B5enM7rLQGpvU7rBc2Zu3cO-5FhDDj0_nCVJWZvjX7s.cache +0 -1
  141. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/C5/C5PnkMgUphtk9ABTF6z2KS4sHgpENn8GBLoy-i3E3wo.cache +0 -1
  142. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/CQ/CQ_GqCyDnwt2tUBwsxP1dZHI65ufI-hB9MQ3y1--m9Q.cache +0 -1
  143. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/EL/EL7MuqbmZFKYS_80bdvW6_Wn5UEiX3eu1r6N-7G8UEw.cache +0 -1
  144. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/Fy/FyhhzuND_ItWUB5CEJ3iyuY40AgIG84NRv4zu9Timps.cache +0 -1
  145. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/H-/H-Xq75Ky6CJKbSHsls6b1RlUhAZsCvAsQBp1hEo4SQE.cache +0 -0
  146. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/JD/JDzlonPoUacVM5xof3d6jVjmE61rJg-Om9N6lYAo7ZI.cache +0 -3
  147. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/Jf/JfAkIfafqJLEVZeAwe3NPmILKAxLTIaQMkBDQv9lgRs.cache +0 -0
  148. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/KD/KDZ5JOyifGKCzqVzvh51rBn4-z2waWNs3-ied97ntvk.cache +0 -0
  149. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/KL/KLfhFc73IoPAgk4UqkkweYC0d9WoWDsdFt6tvPk-sH4.cache +0 -1
  150. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/Lr/Lr-IyGH4TR4pHCYggxyAjgjEdL2fA8HQm_WdYfSqivs.cache +0 -3
  151. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/MP/MPkUdTQ18IIRCAqCDpPHC_aLe9EvuxF2rCs0Zi7ormg.cache +0 -3
  152. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/Mk/MkHnY3zJtJQlrbU7VsPIbKzhVht8Kh-jfEbTilENQgA.cache +0 -0
  153. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/NS/NSoASzvu62nmDpGMHQrHaDmhnAtsI4vc8886q8304tk.cache +0 -1
  154. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/Od/Odde9BXdsuh0jKZhRr4e_mzWgRviGF2hraOo-CBT2Uc.cache +0 -1
  155. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/SP/SPGmSZC6qS--XzWg1MdmEEgH6dRyXOgJMe2P9QBYQZY.cache +0 -0
  156. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/UJ/UJ9oV8YAQYl3QXld841M9Q8GDChRm4hq-p_-ub-8Mnw.cache +0 -1
  157. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/Vi/ViNv05i6eMoI4yhVXbPOdOe8uxRNvkjNSYoK5OS99Dw.cache +0 -0
  158. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/Xg/Xg64R_L39P2xqnexdmGDRYDzSTX8azFSAWBFOy2B5lU.cache +0 -1
  159. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/Ys/Ys273n5EbMBrlmQ8NS6qFULe7v3P3HsMJ-7AKvcpUVQ.cache +0 -1
  160. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/bB/bBjLJM-5v5XvzSjbmk6765v1o0j-26cy2yuTD1KXkl0.cache +0 -1
  161. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/iG/iGXSyXK76m1vZahJipVHsBeSuq9a02pimNfRGul6UyE.cache +0 -1
  162. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/jZ/jZck37TJYp10fX7dzwjF6k7-gPhmNdzB5PWayl2lSRQ.cache +0 -0
  163. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/jh/jh8Rd8uXzJsR5P4NG39_-VpLgRemhQ8CxX5_dw6lT8Y.cache +0 -1
  164. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/kh/khKGwmTZNJ3bMZIUHcaMzBFC8ORvLIMmSF735G5h5JA.cache +0 -1
  165. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/p0/p00KopyzwCidTtAuB76KK2QxTXFwOLwu-Ur8rkyHV1Q.cache +0 -1
  166. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/p0/p0AgQcqeMod0Q93wM6Lm_wksgSixervifjXcfre3UNg.cache +0 -0
  167. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/tN/tNMYFw0s6bpMU4Rph9cmm8M-3G0ZCkojT-JjMxvXY5c.cache +0 -1
  168. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/uc/ucpiLQJan6bNoAklPDQXEwdgbK9N_iHcEdcUK3sXfi8.cache +0 -1
  169. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/uw/uw7uS6ON94iLO0V-uIz9HG08EtTXbCsegAx2rsW8ZZw.cache +0 -1
  170. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/v7/v79_HLVOJ_bTUgdWPb3KnIe1Ob_60Lytir4WusrWpQg.cache +0 -3
  171. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/wr/wrx3kO_wdP5NwpV8WnIPmG6582mk1yXcAYXwZECzF1c.cache +0 -0
  172. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/xs/xsXpTMvclkmE9PUtRWGU4l13KsXsf143bqyVpBHalvE.cache +0 -1
  173. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/z5/z5kOnAPBYWOw-zvMXDeGE_yVaZZoO9assTdxLAezanE.cache +0 -1
  174. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/zi/zi3iTvVQF4pcw9u3GU9UJ6mttFr7TO49bUhRb-pA7sc.cache +0 -1
  175. data/test/rails602/Gemfile.lock +0 -183
  176. data/test/rails602/log/development.log +0 -2
  177. data/test/rails602/log/test.log +0 -642
  178. data/test/rails602/tmp/cache/assets/sprockets/v4.0.0/0a/0akXyz-RvD7ECckO9hP1DJxTo5DmWnfdLxYT8v6iBB0.cache +0 -1
  179. data/test/rails602/tmp/cache/assets/sprockets/v4.0.0/1G/1GDNz0WzrvjCbDFhKGTRB4SqMCVxSD35_Xf7FM-xGyA.cache +0 -2
  180. data/test/rails602/tmp/cache/assets/sprockets/v4.0.0/8A/8Aj0qbTT_8xMiQdT4ay1288JA7cIiscUWqD8v8AhrSo.cache +0 -1
  181. data/test/rails602/tmp/cache/assets/sprockets/v4.0.0/99/99m8UCKl4j8IpsVOK8ltLHyNh8Ae0nHw3GBkC34V_co.cache +0 -2
  182. data/test/rails602/tmp/cache/assets/sprockets/v4.0.0/A9/A90cbULL8Hfbsv-9YOrxkplqpjR3vMl94Ty3mNaytyg.cache +0 -1
  183. data/test/rails602/tmp/cache/assets/sprockets/v4.0.0/B4/B43LeT9Wba4fLvXw-C_kKq-x9HwYZxnBBiltbIufzzQ.cache +0 -2
  184. data/test/rails602/tmp/cache/assets/sprockets/v4.0.0/Qw/QwqNC1B79H6PvmagB1AGJO9I9qeFBpiit-qXaOCDjp8.cache +0 -1
  185. data/test/rails602/tmp/cache/assets/sprockets/v4.0.0/lX/lXQ4hYUaxBbrnZMkw-u9ScABwdSoG7c63G01rUy4FLg.cache +0 -0
  186. data/test/rails602/tmp/cache/assets/sprockets/v4.0.0/sC/sCHJ2HP3o3cxIJWeTGqTYDYOtgzS7Hlcpmz1hBftKTc.cache +0 -0
  187. data/test/rails602/tmp/development_secret.txt +0 -1
  188. data/test/route_downcaser_test.rb +0 -189
  189. data/test/test_helper.rb +0 -19
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2a5efc21342424589e2db66e54ef1b758ce9747805c98d2ccadaa86f163b8111
4
- data.tar.gz: b56e8a49da5fcb869b2609683e97d4ee7bd647d7cc4b4d8498c8659a6dd622e8
3
+ metadata.gz: 0e8631f4a49f8535fa5447c8f7cd6cf559f0815db563275206ff61545d794c7f
4
+ data.tar.gz: 39668ddbeb37b4531d737db52f45abffd90154caf7d1b20cd7cef6fbf6aa1c64
5
5
  SHA512:
6
- metadata.gz: e3286854a140421f292623de5b4cf6bd954b1ade7fd552a45f67e7c990111a44d2537bca9562932ebaa744f8b95f3021de6d7398e81fe4933b3ebe5212c7bc78
7
- data.tar.gz: 1108ddc8f75a27577154a63b93dc8f32e80c8895a20d9df79df5cfaf929d9259563360f427786238d024f01c9300c9524454761d5b35ba60e04d4c4297613fb7
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.0.x, 5.1.x, 5.2.x. It reportedly also works with Sinata, although I do not use Sinatra myself. Sinatra test-cases will be most welcome.
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 'bundler/setup'
5
+ require "bundler/setup"
4
6
  rescue LoadError
5
- puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
7
+ puts "You must `gem install bundler` and `bundle install` to run rake tasks"
6
8
  end
7
9
  begin
8
- require 'rdoc/task'
10
+ require "rdoc/task"
9
11
  rescue LoadError
10
- require 'rdoc/rdoc'
11
- require 'rake/rdoctask'
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 = 'rdoc'
17
- rdoc.title = 'RouteDowncaser'
18
- rdoc.options << '--line-numbers'
19
- rdoc.rdoc_files.include('README.rdoc')
20
- rdoc.rdoc_files.include('lib/**/*.rb')
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 'rake/testtask'
27
+ require "rake/testtask"
26
28
 
27
29
  Rake::TestTask.new(:test) do |t|
28
- t.libs << 'lib'
29
- t.libs << 'test'
30
- t.pattern = 'test/**/*_test.rb'
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
- module RouteDowncaser::Configuration
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
- define_class_method "#{name}=" do |value|
10
- class_variable_set("@@#{name}", value)
3
+ module RouteDowncaser
4
+ module Configuration
5
+ def configuration
6
+ yield self
11
7
  end
12
8
 
13
- define_class_method name do
14
- class_variable_get("@@#{name}")
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
- private
21
+ private
19
22
 
20
- def define_class_method(name, &block)
21
- (class << self; self; end).instance_eval do
22
- define_method name, &block
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
- request_uri = env['REQUEST_URI']
16
- path_info = env['PATH_INFO']
16
+ path_info = env["PATH_INFO"]
17
17
 
18
- # Don't touch anything, if uri/path is part of exclude_patterns
19
- return @app.call(env) if excluded?([request_uri, path_info])
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 request_uri and/or path_info if applicable
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
- # if either request_uri or path_info has changed
27
- if RouteDowncaser.redirect && env['REQUEST_METHOD'] == 'GET'
28
- if request_uri.present? && request_uri != env['REQUEST_URI']
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['PATH_INFO'] = path_info.to_s if path_info
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
- "#{path(uri).mb_chars.downcase}?#{querystring(uri)}"
53
+ "#{downcased_path(uri)}?#{querystring(uri)}"
61
54
  else
62
- path(uri).mb_chars.downcase
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('?', 2)
80
+ uri.split("?", 2)
80
81
  end
81
82
 
82
83
  def redirect_header(uri)
83
- [301, { 'Location' => uri.to_s, 'Content-Type' => 'text/html' }, []]
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 'add_downcase_route_middleware' do |app|
5
+ initializer "add_downcase_route_middleware" do |app|
4
6
  app.config.middleware.use RouteDowncaser::DowncaseRouteMiddleware
5
7
  end
6
8
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RouteDowncaser
2
- VERSION = '1.2.3'.freeze
4
+ VERSION = "2.0.0"
3
5
  end
@@ -1,10 +1,12 @@
1
- require 'route_downcaser/downcase_route_middleware'
2
- require 'route_downcaser/railtie' if defined? Rails
3
- require 'route_downcaser/configuration'
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, [/assets\//i]
11
+ define_setting :exclude_patterns, [%r{assets/}i]
10
12
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # desc "Explaining what the task does"
2
3
  # task :route_downcaser do
3
4
  # # Task goes here