route_downcaser 1.2.2 → 1.2.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (83) hide show
  1. checksums.yaml +5 -5
  2. data/README.rdoc +2 -2
  3. data/Rakefile +1 -5
  4. data/lib/route_downcaser/configuration.rb +0 -1
  5. data/lib/route_downcaser/downcase_route_middleware.rb +9 -10
  6. data/lib/route_downcaser/railtie.rb +1 -1
  7. data/lib/route_downcaser/version.rb +1 -1
  8. data/test/integration/route_middleware_test.rb +16 -14
  9. data/test/rails421/app/assets/config/manifest.js +3 -0
  10. data/test/rails421/app/controllers/hello_controller.rb +1 -1
  11. data/test/rails421/bin/rails +1 -1
  12. data/test/rails421/bin/rake +1 -1
  13. data/test/rails421/bin/setup +8 -8
  14. data/test/rails421/bin/spring +5 -5
  15. data/test/rails421/config/application.rb +6 -6
  16. data/test/rails421/config/environments/test.rb +4 -2
  17. data/test/rails421/config/routes.rb +2 -2
  18. data/test/rails421/log/test.log +611 -645
  19. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/0p/0pLW5uAkYcVMn-L1f008s8QG400BA-CGnjEUCaGLgwA.cache +0 -0
  20. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/1E/1Eq7urfYMOFFaH2_2qtEtAzItryBST0NWI8LjG7_8AY.cache +3 -0
  21. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/1t/1tj8wAl_ygkeV4rjgm17Yabg53-rR_pkntyJe1pnStk.cache +1 -0
  22. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/21/21O83OBXXXSWrKD2yP5QfOt5GdsGKcUvdkHuxGVDCq0.cache +0 -0
  23. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/2V/2VVsM_aqLieq8REU3CAcwO12z7nTUOMDaOG8mfPTlDc.cache +1 -0
  24. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/3K/3KLS9RO9SD43w2m7B37olZz-VRlZVFl3F98EcZ-T6OQ.cache +1 -0
  25. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/6H/6H_SytVX3LrLQVNblKfSUZm9U4zz0Hi3nC7zd2slWgE.cache +0 -0
  26. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/7A/7AfJBOCTRna7lhBueluC9znK0PVnN3Z0wUaxOqGL_A4.cache +3 -0
  27. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/9B/9BuTfVVX9s_SyGNUVwTAliEfEbBaBhN4h3UUAvmaO5w.cache +0 -0
  28. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/9G/9GSHOjw505wesb6iaMzEVqLjrV7bDI8N8MnO892fjkY.cache +1 -0
  29. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/9I/9IPM2vWQgQR4xfKHMKObDvNQpOackOP1Hhf3-GMlZnA.cache +1 -0
  30. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/AD/ADMJimKJauAcBJIneLV5egsXBPBoCjbSP9kY6njR36I.cache +0 -0
  31. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/AH/AHbfhhP0cTEOs-1EBUNUXXyeEHxgK0boxQfplICtNiA.cache +0 -0
  32. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/B5/B5enM7rLQGpvU7rBc2Zu3cO-5FhDDj0_nCVJWZvjX7s.cache +1 -0
  33. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/C5/C5PnkMgUphtk9ABTF6z2KS4sHgpENn8GBLoy-i3E3wo.cache +1 -0
  34. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/CQ/CQ_GqCyDnwt2tUBwsxP1dZHI65ufI-hB9MQ3y1--m9Q.cache +1 -0
  35. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/EL/EL7MuqbmZFKYS_80bdvW6_Wn5UEiX3eu1r6N-7G8UEw.cache +1 -0
  36. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/Fy/FyhhzuND_ItWUB5CEJ3iyuY40AgIG84NRv4zu9Timps.cache +1 -0
  37. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/H-/H-Xq75Ky6CJKbSHsls6b1RlUhAZsCvAsQBp1hEo4SQE.cache +0 -0
  38. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/JD/JDzlonPoUacVM5xof3d6jVjmE61rJg-Om9N6lYAo7ZI.cache +3 -0
  39. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/Jf/JfAkIfafqJLEVZeAwe3NPmILKAxLTIaQMkBDQv9lgRs.cache +0 -0
  40. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/KD/KDZ5JOyifGKCzqVzvh51rBn4-z2waWNs3-ied97ntvk.cache +0 -0
  41. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/KL/KLfhFc73IoPAgk4UqkkweYC0d9WoWDsdFt6tvPk-sH4.cache +1 -0
  42. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/Lr/Lr-IyGH4TR4pHCYggxyAjgjEdL2fA8HQm_WdYfSqivs.cache +3 -0
  43. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/MP/MPkUdTQ18IIRCAqCDpPHC_aLe9EvuxF2rCs0Zi7ormg.cache +3 -0
  44. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/Mk/MkHnY3zJtJQlrbU7VsPIbKzhVht8Kh-jfEbTilENQgA.cache +0 -0
  45. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/NS/NSoASzvu62nmDpGMHQrHaDmhnAtsI4vc8886q8304tk.cache +1 -0
  46. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/Od/Odde9BXdsuh0jKZhRr4e_mzWgRviGF2hraOo-CBT2Uc.cache +1 -0
  47. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/SP/SPGmSZC6qS--XzWg1MdmEEgH6dRyXOgJMe2P9QBYQZY.cache +0 -0
  48. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/UJ/UJ9oV8YAQYl3QXld841M9Q8GDChRm4hq-p_-ub-8Mnw.cache +1 -0
  49. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/Vi/ViNv05i6eMoI4yhVXbPOdOe8uxRNvkjNSYoK5OS99Dw.cache +0 -0
  50. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/Xg/Xg64R_L39P2xqnexdmGDRYDzSTX8azFSAWBFOy2B5lU.cache +1 -0
  51. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/Ys/Ys273n5EbMBrlmQ8NS6qFULe7v3P3HsMJ-7AKvcpUVQ.cache +1 -0
  52. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/bB/bBjLJM-5v5XvzSjbmk6765v1o0j-26cy2yuTD1KXkl0.cache +1 -0
  53. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/iG/iGXSyXK76m1vZahJipVHsBeSuq9a02pimNfRGul6UyE.cache +1 -0
  54. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/jZ/jZck37TJYp10fX7dzwjF6k7-gPhmNdzB5PWayl2lSRQ.cache +0 -0
  55. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/jh/jh8Rd8uXzJsR5P4NG39_-VpLgRemhQ8CxX5_dw6lT8Y.cache +1 -0
  56. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/kh/khKGwmTZNJ3bMZIUHcaMzBFC8ORvLIMmSF735G5h5JA.cache +1 -0
  57. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/p0/p00KopyzwCidTtAuB76KK2QxTXFwOLwu-Ur8rkyHV1Q.cache +1 -0
  58. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/p0/p0AgQcqeMod0Q93wM6Lm_wksgSixervifjXcfre3UNg.cache +0 -0
  59. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/tN/tNMYFw0s6bpMU4Rph9cmm8M-3G0ZCkojT-JjMxvXY5c.cache +1 -0
  60. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/uc/ucpiLQJan6bNoAklPDQXEwdgbK9N_iHcEdcUK3sXfi8.cache +1 -0
  61. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/uw/uw7uS6ON94iLO0V-uIz9HG08EtTXbCsegAx2rsW8ZZw.cache +1 -0
  62. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/v7/v79_HLVOJ_bTUgdWPb3KnIe1Ob_60Lytir4WusrWpQg.cache +3 -0
  63. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/wr/wrx3kO_wdP5NwpV8WnIPmG6582mk1yXcAYXwZECzF1c.cache +0 -0
  64. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/xs/xsXpTMvclkmE9PUtRWGU4l13KsXsf143bqyVpBHalvE.cache +1 -0
  65. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/z5/z5kOnAPBYWOw-zvMXDeGE_yVaZZoO9assTdxLAezanE.cache +1 -0
  66. data/test/rails421/tmp/cache/assets/sprockets/v4.0.0/zi/zi3iTvVQF4pcw9u3GU9UJ6mttFr7TO49bUhRb-pA7sc.cache +1 -0
  67. data/test/rails602/Gemfile.lock +183 -0
  68. data/test/rails602/log/development.log +2 -0
  69. data/test/rails602/log/test.log +642 -0
  70. data/test/rails602/tmp/cache/assets/sprockets/v4.0.0/0a/0akXyz-RvD7ECckO9hP1DJxTo5DmWnfdLxYT8v6iBB0.cache +1 -0
  71. data/test/rails602/tmp/cache/assets/sprockets/v4.0.0/1G/1GDNz0WzrvjCbDFhKGTRB4SqMCVxSD35_Xf7FM-xGyA.cache +2 -0
  72. data/test/rails602/tmp/cache/assets/sprockets/v4.0.0/8A/8Aj0qbTT_8xMiQdT4ay1288JA7cIiscUWqD8v8AhrSo.cache +1 -0
  73. data/test/rails602/tmp/cache/assets/sprockets/v4.0.0/99/99m8UCKl4j8IpsVOK8ltLHyNh8Ae0nHw3GBkC34V_co.cache +2 -0
  74. data/test/rails602/tmp/cache/assets/sprockets/v4.0.0/A9/A90cbULL8Hfbsv-9YOrxkplqpjR3vMl94Ty3mNaytyg.cache +1 -0
  75. data/test/rails602/tmp/cache/assets/sprockets/v4.0.0/B4/B43LeT9Wba4fLvXw-C_kKq-x9HwYZxnBBiltbIufzzQ.cache +2 -0
  76. data/test/rails602/tmp/cache/assets/sprockets/v4.0.0/Qw/QwqNC1B79H6PvmagB1AGJO9I9qeFBpiit-qXaOCDjp8.cache +1 -0
  77. data/test/rails602/tmp/cache/assets/sprockets/v4.0.0/lX/lXQ4hYUaxBbrnZMkw-u9ScABwdSoG7c63G01rUy4FLg.cache +0 -0
  78. data/test/rails602/tmp/cache/assets/sprockets/v4.0.0/sC/sCHJ2HP3o3cxIJWeTGqTYDYOtgzS7Hlcpmz1hBftKTc.cache +0 -0
  79. data/test/rails602/tmp/development_secret.txt +1 -0
  80. data/test/route_downcaser_test.rb +47 -53
  81. data/test/test_helper.rb +6 -6
  82. metadata +127 -5
  83. data/lib/route_downcaser/original_downcase_route_middleware.rb +0 -83
@@ -0,0 +1 @@
1
+ "%��Rm�v�S3.��O�L���ڹc�ƕq�=_j�
@@ -0,0 +1,2 @@
1
+ "%��8�&ێ���_
2
+ ��2����8�PL���}
@@ -0,0 +1 @@
1
+ I"}app/assets/stylesheets/application.css?type=text/css&id=b750ccd6ed16272ae4ff2f55017497d48f37afa42196ed0b9336b0b9da21331d:ET
@@ -0,0 +1,2 @@
1
+ [o:Set:
2
+ @hash} I"environment-version:ETTI"environment-paths;TTI"rails-env;TTI"0processors:type=text/css&file_type=text/css;TTI"9file-digest://app/assets/stylesheets/application.css;TTI">processors:type=text/css&file_type=text/css&pipeline=self;TTI")file-digest://app/assets/stylesheets;TTF
@@ -0,0 +1 @@
1
+ "%��%���?�a>6�(��8���ϥ>j�™aUz
@@ -0,0 +1,2 @@
1
+ [o:Set:
2
+ @hash} I"environment-version:ETTI"environment-paths;TTI"rails-env;TTI">processors:type=text/css&file_type=text/css&pipeline=self;TTI"9file-digest://app/assets/stylesheets/application.css;TTI")file-digest://app/assets/stylesheets;TTF
@@ -0,0 +1 @@
1
+ I"�app/assets/stylesheets/application.css?type=text/css&pipeline=self&id=5f9ddaba0c2138681b88a600b6be6b2cbd38f2569cc0455d738f95947c90934f:ET
@@ -0,0 +1 @@
1
+ d4d03fd364fe80fc1bc74f90260bbc653afe062259d0f5febdb8624b956169c32b53eab87fa321d383e7d615ee04e434f4221240d6e116e15c005f5a0a54a923
@@ -2,14 +2,12 @@ require 'test_helper'
2
2
 
3
3
  class MyMockApp
4
4
  def call(env)
5
- raise "Env nil" if env.blank?
5
+ raise 'Env nil' if env.blank?
6
6
  @env = env.clone
7
- return @env
8
- end
9
-
10
- def env
11
7
  @env
12
8
  end
9
+
10
+ attr_reader :env
13
11
  end
14
12
 
15
13
  class RouteDowncaserTest < ActiveSupport::TestCase
@@ -22,38 +20,37 @@ class RouteDowncaserTest < ActiveSupport::TestCase
22
20
  end
23
21
  end
24
22
 
25
- test "REQUEST_URI path-part is downcased" do
26
- callenv = { 'REQUEST_URI' => "HELLO/WORLD", 'REQUEST_METHOD' => "GET" }
23
+ test 'REQUEST_URI path-part is downcased' do
24
+ callenv = { 'REQUEST_URI' => 'HELLO/WORLD', 'REQUEST_METHOD' => 'GET' }
27
25
  RouteDowncaser::DowncaseRouteMiddleware.new(@app).call(callenv)
28
- assert_equal("hello/world", @app.env['REQUEST_URI'])
26
+ assert_equal('hello/world', @app.env['REQUEST_URI'])
29
27
  end
30
28
 
31
- test "REQUEST_URI querystring parameters are not touched" do
32
- callenv = { 'REQUEST_URI' => "HELLO/WORLD?FOO=BAR", 'REQUEST_METHOD' => "GET" }
29
+ test 'REQUEST_URI querystring parameters are not touched' do
30
+ callenv = { 'REQUEST_URI' => 'HELLO/WORLD?FOO=BAR', 'REQUEST_METHOD' => 'GET' }
33
31
  RouteDowncaser::DowncaseRouteMiddleware.new(@app).call(callenv)
34
- assert_equal("hello/world?FOO=BAR", @app.env['REQUEST_URI'])
32
+ assert_equal('hello/world?FOO=BAR', @app.env['REQUEST_URI'])
35
33
  end
36
34
 
37
- test "REQUEST_URI querystring parameters can contain ?" do
38
- callenv = { 'REQUEST_URI' => "HELLO/WORLD?FOO=BAR?BAZ=BING", 'REQUEST_METHOD' => "GET" }
35
+ test 'REQUEST_URI querystring parameters can contain ?' do
36
+ callenv = { 'REQUEST_URI' => 'HELLO/WORLD?FOO=BAR?BAZ=BING', 'REQUEST_METHOD' => 'GET' }
39
37
  RouteDowncaser::DowncaseRouteMiddleware.new(@app).call(callenv)
40
- assert_equal("hello/world?FOO=BAR?BAZ=BING", @app.env['REQUEST_URI'])
38
+ assert_equal('hello/world?FOO=BAR?BAZ=BING', @app.env['REQUEST_URI'])
41
39
  end
42
40
 
43
- test "entire PATH_INFO is downcased" do
44
- callenv = { 'PATH_INFO' => "HELLO/WORLD", 'REQUEST_METHOD' => "GET" }
41
+ test 'entire PATH_INFO is downcased' do
42
+ callenv = { 'PATH_INFO' => 'HELLO/WORLD', 'REQUEST_METHOD' => 'GET' }
45
43
  RouteDowncaser::DowncaseRouteMiddleware.new(@app).call(callenv)
46
- assert_equal("hello/world", @app.env['PATH_INFO'])
44
+ assert_equal('hello/world', @app.env['PATH_INFO'])
47
45
  end
48
46
 
49
- test "the call environment should always be returned" do
50
- callenv = { 'PATH_INFO' => "HELLO/WORLD", 'REQUEST_METHOD' => "GET" }
47
+ test 'the call environment should always be returned' do
48
+ callenv = { 'PATH_INFO' => 'HELLO/WORLD', 'REQUEST_METHOD' => 'GET' }
51
49
  retval = RouteDowncaser::DowncaseRouteMiddleware.new(@app).call(callenv)
52
- assert_equal({ 'PATH_INFO' => "hello/world", 'REQUEST_METHOD' => "GET" }, retval)
50
+ assert_equal({ 'PATH_INFO' => 'hello/world', 'REQUEST_METHOD' => 'GET' }, retval)
53
51
  end
54
52
  end
55
53
 
56
-
57
54
  class ExcludePatternsTests < ActiveSupport::TestCase
58
55
  setup do
59
56
  @app = MyMockApp.new
@@ -63,26 +60,25 @@ class RouteDowncaserTest < ActiveSupport::TestCase
63
60
  end
64
61
  end
65
62
 
66
- test "when PATH_INFO is found in exclude_patterns, do nothing" do
67
- callenv = { 'PATH_INFO' => "ASSETS/IMAges/SpaceCat.jpeg", 'REQUEST_METHOD' => "GET" }
63
+ test 'when PATH_INFO is found in exclude_patterns, do nothing' do
64
+ callenv = { 'PATH_INFO' => 'ASSETS/IMAges/SpaceCat.jpeg', 'REQUEST_METHOD' => 'GET' }
68
65
  RouteDowncaser::DowncaseRouteMiddleware.new(@app).call(callenv)
69
- assert_equal("ASSETS/IMAges/SpaceCat.jpeg", @app.env['PATH_INFO'])
66
+ assert_equal('ASSETS/IMAges/SpaceCat.jpeg', @app.env['PATH_INFO'])
70
67
  end
71
68
 
72
- test "when REQUEST_URI is found in exclude_patterns, do nothing" do
73
- callenv = { 'REQUEST_URI' => "ASSETS/IMAges/SpaceCat.jpeg", 'REQUEST_METHOD' => "GET" }
69
+ test 'when REQUEST_URI is found in exclude_patterns, do nothing' do
70
+ callenv = { 'REQUEST_URI' => 'ASSETS/IMAges/SpaceCat.jpeg', 'REQUEST_METHOD' => 'GET' }
74
71
  RouteDowncaser::DowncaseRouteMiddleware.new(@app).call(callenv)
75
- assert_equal("ASSETS/IMAges/SpaceCat.jpeg", @app.env['REQUEST_URI'])
72
+ assert_equal('ASSETS/IMAges/SpaceCat.jpeg', @app.env['REQUEST_URI'])
76
73
  end
77
74
 
78
- test "the call environment should always be returned" do
79
- callenv = { 'REQUEST_URI' => "ASSETS/IMAges/SpaceCat.jpeg", 'REQUEST_METHOD' => "GET" }
75
+ test 'the call environment should always be returned' do
76
+ callenv = { 'REQUEST_URI' => 'ASSETS/IMAges/SpaceCat.jpeg', 'REQUEST_METHOD' => 'GET' }
80
77
  retval = RouteDowncaser::DowncaseRouteMiddleware.new(@app).call(callenv)
81
78
  assert_equal(callenv, retval)
82
79
  end
83
80
  end
84
81
 
85
-
86
82
  class RedirectTrueTests < ActiveSupport::TestCase
87
83
  setup do
88
84
  @app = MyMockApp.new
@@ -92,24 +88,23 @@ class RouteDowncaserTest < ActiveSupport::TestCase
92
88
  end
93
89
  end
94
90
 
95
- test "when redirect is true it redirects REQUEST_URI" do
96
- callenv = { 'REQUEST_URI' => "HELLO/WORLD", 'REQUEST_METHOD' => "GET" }
91
+ test 'when redirect is true it redirects REQUEST_URI' do
92
+ callenv = { 'REQUEST_URI' => 'HELLO/WORLD', 'REQUEST_METHOD' => 'GET' }
97
93
  assert_equal(
98
- [301, {'Location' => "hello/world", 'Content-Type' => 'text/html'}, []],
94
+ [301, { 'Location' => 'hello/world', 'Content-Type' => 'text/html' }, []],
99
95
  RouteDowncaser::DowncaseRouteMiddleware.new(@app).call(callenv)
100
96
  )
101
97
  end
102
98
 
103
- test "when redirect is true it redirects PATH_INFO" do
104
- callenv = { 'PATH_INFO' => "HELLO/WORLD", 'REQUEST_METHOD' => "GET" }
99
+ test 'when redirect is true it redirects PATH_INFO' do
100
+ callenv = { 'PATH_INFO' => 'HELLO/WORLD', 'REQUEST_METHOD' => 'GET' }
105
101
  assert_equal(
106
- [301, {'Location' => "hello/world", 'Content-Type' => 'text/html'}, []],
102
+ [301, { 'Location' => 'hello/world', 'Content-Type' => 'text/html' }, []],
107
103
  RouteDowncaser::DowncaseRouteMiddleware.new(@app).call(callenv)
108
104
  )
109
105
  end
110
106
  end
111
107
 
112
-
113
108
  class RedirectTrueExcludePatternsTests < ActiveSupport::TestCase
114
109
  setup do
115
110
  @app = MyMockApp.new
@@ -119,20 +114,19 @@ class RouteDowncaserTest < ActiveSupport::TestCase
119
114
  end
120
115
  end
121
116
 
122
- test "when redirect is true it does not redirect, if REQUEST_URI match exclude patterns" do
123
- callenv = { 'REQUEST_URI' => "fonts/Icons.woff", 'REQUEST_METHOD' => "GET" }
117
+ test 'when redirect is true it does not redirect, if REQUEST_URI match exclude patterns' do
118
+ callenv = { 'REQUEST_URI' => 'fonts/Icons.woff', 'REQUEST_METHOD' => 'GET' }
124
119
  RouteDowncaser::DowncaseRouteMiddleware.new(@app).call(callenv)
125
- assert_equal("fonts/Icons.woff", @app.env['REQUEST_URI'])
120
+ assert_equal('fonts/Icons.woff', @app.env['REQUEST_URI'])
126
121
  end
127
122
 
128
- test "when redirect is true it does not redirect, if PATH_INFO match exclude patterns" do
129
- callenv = { 'PATH_INFO' => "fonts/Icons.woff", 'REQUEST_METHOD' => "GET" }
123
+ test 'when redirect is true it does not redirect, if PATH_INFO match exclude patterns' do
124
+ callenv = { 'PATH_INFO' => 'fonts/Icons.woff', 'REQUEST_METHOD' => 'GET' }
130
125
  RouteDowncaser::DowncaseRouteMiddleware.new(@app).call(callenv)
131
- assert_equal("fonts/Icons.woff", @app.env['PATH_INFO'])
126
+ assert_equal('fonts/Icons.woff', @app.env['PATH_INFO'])
132
127
  end
133
128
  end
134
129
 
135
-
136
130
  class MultibyteTests < ActiveSupport::TestCase
137
131
  setup do
138
132
  @app = MyMockApp.new
@@ -142,22 +136,22 @@ class RouteDowncaserTest < ActiveSupport::TestCase
142
136
  end
143
137
  end
144
138
 
145
- test "Multibyte REQUEST_URI path-part is downcased" do
146
- callenv = { 'REQUEST_URI' => "ШУРШАЩАЯ ЗМЕЯ", 'REQUEST_METHOD' => "GET" }
139
+ test 'Multibyte REQUEST_URI path-part is downcased' do
140
+ callenv = { 'REQUEST_URI' => 'ШУРШАЩАЯ ЗМЕЯ', 'REQUEST_METHOD' => 'GET' }
147
141
  RouteDowncaser::DowncaseRouteMiddleware.new(@app).call(callenv)
148
- assert_equal("шуршащая змея", @app.env['REQUEST_URI'])
142
+ assert_equal('шуршащая змея', @app.env['REQUEST_URI'])
149
143
  end
150
144
 
151
- test "Multibyte PATH_INFO is downcased" do
152
- callenv = { 'PATH_INFO' => "ВЕЛОСИПЕД", 'REQUEST_METHOD' => "GET" }
145
+ test 'Multibyte PATH_INFO is downcased' do
146
+ callenv = { 'PATH_INFO' => 'ВЕЛОСИПЕД', 'REQUEST_METHOD' => 'GET' }
153
147
  RouteDowncaser::DowncaseRouteMiddleware.new(@app).call(callenv)
154
- assert_equal("велосипед", @app.env['PATH_INFO'])
148
+ assert_equal('велосипед', @app.env['PATH_INFO'])
155
149
  end
156
150
 
157
- test "Additional multibyte downcase tests" do
158
- callenv = { 'REQUEST_URI' => "ПИВО", 'REQUEST_METHOD' => "GET" }
151
+ test 'Additional multibyte downcase tests' do
152
+ callenv = { 'REQUEST_URI' => 'ПИВО', 'REQUEST_METHOD' => 'GET' }
159
153
  RouteDowncaser::DowncaseRouteMiddleware.new(@app).call(callenv)
160
- assert_equal("пиво", @app.env['REQUEST_URI'])
154
+ assert_equal('пиво', @app.env['REQUEST_URI'])
161
155
  end
162
156
  end
163
157
 
@@ -1,12 +1,12 @@
1
- require "simplecov"
1
+ require 'simplecov'
2
2
  SimpleCov.start
3
3
 
4
4
  # Configure Rails Environment
5
- ENV["RAILS_ENV"] = "test"
5
+ ENV['RAILS_ENV'] = 'test'
6
6
 
7
- #require File.expand_path("../dummy/config/environment.rb", __FILE__)
8
- require File.expand_path("../rails421/config/environment.rb", __FILE__)
9
- require "rails/test_help"
7
+ # require File.expand_path("../dummy/config/environment.rb", __FILE__)
8
+ require File.expand_path('../rails421/config/environment.rb', __FILE__)
9
+ require 'rails/test_help'
10
10
 
11
11
  Rails.backtrace_cleaner.remove_silencers!
12
12
 
@@ -15,5 +15,5 @@ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
15
15
 
16
16
  # Load fixtures from the engine
17
17
  if ActiveSupport::TestCase.method_defined?(:fixture_path=)
18
- ActiveSupport::TestCase.fixture_path = File.expand_path("../fixtures", __FILE__)
18
+ ActiveSupport::TestCase.fixture_path = File.expand_path('../fixtures', __FILE__)
19
19
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: route_downcaser
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.2
4
+ version: 1.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Carsten Gehling
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-05-10 00:00:00.000000000 Z
11
+ date: 2020-02-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -39,12 +39,12 @@ files:
39
39
  - lib/route_downcaser.rb
40
40
  - lib/route_downcaser/configuration.rb
41
41
  - lib/route_downcaser/downcase_route_middleware.rb
42
- - lib/route_downcaser/original_downcase_route_middleware.rb
43
42
  - lib/route_downcaser/railtie.rb
44
43
  - lib/route_downcaser/version.rb
45
44
  - lib/tasks/route_downcaser_tasks.rake
46
45
  - test/integration/route_middleware_test.rb
47
46
  - test/rails421/Rakefile
47
+ - test/rails421/app/assets/config/manifest.js
48
48
  - test/rails421/app/assets/javascripts/application.js
49
49
  - test/rails421/app/assets/stylesheets/application.css
50
50
  - test/rails421/app/controllers/application_controller.rb
@@ -158,6 +158,67 @@ files:
158
158
  - test/rails421/tmp/cache/assets/sprockets/v3.0/xu/xuHg3Ok3I6Ioa8MvbTYwIrYE_ECmwnU6iG9oIqi9Kw0.cache
159
159
  - test/rails421/tmp/cache/assets/sprockets/v3.0/y3/y397xgx0zBU7JiqxnZxg555Z1CcnrG1svhgwJvZA6Fs.cache
160
160
  - test/rails421/tmp/cache/assets/sprockets/v3.0/y5/y5VE9EjY2KAk8NIkbwOZzYod3U0KM5Q5ZqJ_J0CmJIs.cache
161
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/0p/0pLW5uAkYcVMn-L1f008s8QG400BA-CGnjEUCaGLgwA.cache
162
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/1E/1Eq7urfYMOFFaH2_2qtEtAzItryBST0NWI8LjG7_8AY.cache
163
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/1t/1tj8wAl_ygkeV4rjgm17Yabg53-rR_pkntyJe1pnStk.cache
164
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/21/21O83OBXXXSWrKD2yP5QfOt5GdsGKcUvdkHuxGVDCq0.cache
165
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/2V/2VVsM_aqLieq8REU3CAcwO12z7nTUOMDaOG8mfPTlDc.cache
166
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/3K/3KLS9RO9SD43w2m7B37olZz-VRlZVFl3F98EcZ-T6OQ.cache
167
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/6H/6H_SytVX3LrLQVNblKfSUZm9U4zz0Hi3nC7zd2slWgE.cache
168
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/7A/7AfJBOCTRna7lhBueluC9znK0PVnN3Z0wUaxOqGL_A4.cache
169
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/9B/9BuTfVVX9s_SyGNUVwTAliEfEbBaBhN4h3UUAvmaO5w.cache
170
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/9G/9GSHOjw505wesb6iaMzEVqLjrV7bDI8N8MnO892fjkY.cache
171
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/9I/9IPM2vWQgQR4xfKHMKObDvNQpOackOP1Hhf3-GMlZnA.cache
172
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/AD/ADMJimKJauAcBJIneLV5egsXBPBoCjbSP9kY6njR36I.cache
173
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/AH/AHbfhhP0cTEOs-1EBUNUXXyeEHxgK0boxQfplICtNiA.cache
174
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/B5/B5enM7rLQGpvU7rBc2Zu3cO-5FhDDj0_nCVJWZvjX7s.cache
175
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/C5/C5PnkMgUphtk9ABTF6z2KS4sHgpENn8GBLoy-i3E3wo.cache
176
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/CQ/CQ_GqCyDnwt2tUBwsxP1dZHI65ufI-hB9MQ3y1--m9Q.cache
177
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/EL/EL7MuqbmZFKYS_80bdvW6_Wn5UEiX3eu1r6N-7G8UEw.cache
178
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/Fy/FyhhzuND_ItWUB5CEJ3iyuY40AgIG84NRv4zu9Timps.cache
179
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/H-/H-Xq75Ky6CJKbSHsls6b1RlUhAZsCvAsQBp1hEo4SQE.cache
180
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/JD/JDzlonPoUacVM5xof3d6jVjmE61rJg-Om9N6lYAo7ZI.cache
181
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/Jf/JfAkIfafqJLEVZeAwe3NPmILKAxLTIaQMkBDQv9lgRs.cache
182
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/KD/KDZ5JOyifGKCzqVzvh51rBn4-z2waWNs3-ied97ntvk.cache
183
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/KL/KLfhFc73IoPAgk4UqkkweYC0d9WoWDsdFt6tvPk-sH4.cache
184
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/Lr/Lr-IyGH4TR4pHCYggxyAjgjEdL2fA8HQm_WdYfSqivs.cache
185
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/MP/MPkUdTQ18IIRCAqCDpPHC_aLe9EvuxF2rCs0Zi7ormg.cache
186
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/Mk/MkHnY3zJtJQlrbU7VsPIbKzhVht8Kh-jfEbTilENQgA.cache
187
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/NS/NSoASzvu62nmDpGMHQrHaDmhnAtsI4vc8886q8304tk.cache
188
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/Od/Odde9BXdsuh0jKZhRr4e_mzWgRviGF2hraOo-CBT2Uc.cache
189
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/SP/SPGmSZC6qS--XzWg1MdmEEgH6dRyXOgJMe2P9QBYQZY.cache
190
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/UJ/UJ9oV8YAQYl3QXld841M9Q8GDChRm4hq-p_-ub-8Mnw.cache
191
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/Vi/ViNv05i6eMoI4yhVXbPOdOe8uxRNvkjNSYoK5OS99Dw.cache
192
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/Xg/Xg64R_L39P2xqnexdmGDRYDzSTX8azFSAWBFOy2B5lU.cache
193
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/Ys/Ys273n5EbMBrlmQ8NS6qFULe7v3P3HsMJ-7AKvcpUVQ.cache
194
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/bB/bBjLJM-5v5XvzSjbmk6765v1o0j-26cy2yuTD1KXkl0.cache
195
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/iG/iGXSyXK76m1vZahJipVHsBeSuq9a02pimNfRGul6UyE.cache
196
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/jZ/jZck37TJYp10fX7dzwjF6k7-gPhmNdzB5PWayl2lSRQ.cache
197
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/jh/jh8Rd8uXzJsR5P4NG39_-VpLgRemhQ8CxX5_dw6lT8Y.cache
198
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/kh/khKGwmTZNJ3bMZIUHcaMzBFC8ORvLIMmSF735G5h5JA.cache
199
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/p0/p00KopyzwCidTtAuB76KK2QxTXFwOLwu-Ur8rkyHV1Q.cache
200
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/p0/p0AgQcqeMod0Q93wM6Lm_wksgSixervifjXcfre3UNg.cache
201
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/tN/tNMYFw0s6bpMU4Rph9cmm8M-3G0ZCkojT-JjMxvXY5c.cache
202
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/uc/ucpiLQJan6bNoAklPDQXEwdgbK9N_iHcEdcUK3sXfi8.cache
203
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/uw/uw7uS6ON94iLO0V-uIz9HG08EtTXbCsegAx2rsW8ZZw.cache
204
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/v7/v79_HLVOJ_bTUgdWPb3KnIe1Ob_60Lytir4WusrWpQg.cache
205
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/wr/wrx3kO_wdP5NwpV8WnIPmG6582mk1yXcAYXwZECzF1c.cache
206
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/xs/xsXpTMvclkmE9PUtRWGU4l13KsXsf143bqyVpBHalvE.cache
207
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/z5/z5kOnAPBYWOw-zvMXDeGE_yVaZZoO9assTdxLAezanE.cache
208
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/zi/zi3iTvVQF4pcw9u3GU9UJ6mttFr7TO49bUhRb-pA7sc.cache
209
+ - test/rails602/Gemfile.lock
210
+ - test/rails602/log/development.log
211
+ - test/rails602/log/test.log
212
+ - test/rails602/tmp/cache/assets/sprockets/v4.0.0/0a/0akXyz-RvD7ECckO9hP1DJxTo5DmWnfdLxYT8v6iBB0.cache
213
+ - test/rails602/tmp/cache/assets/sprockets/v4.0.0/1G/1GDNz0WzrvjCbDFhKGTRB4SqMCVxSD35_Xf7FM-xGyA.cache
214
+ - test/rails602/tmp/cache/assets/sprockets/v4.0.0/8A/8Aj0qbTT_8xMiQdT4ay1288JA7cIiscUWqD8v8AhrSo.cache
215
+ - test/rails602/tmp/cache/assets/sprockets/v4.0.0/99/99m8UCKl4j8IpsVOK8ltLHyNh8Ae0nHw3GBkC34V_co.cache
216
+ - test/rails602/tmp/cache/assets/sprockets/v4.0.0/A9/A90cbULL8Hfbsv-9YOrxkplqpjR3vMl94Ty3mNaytyg.cache
217
+ - test/rails602/tmp/cache/assets/sprockets/v4.0.0/B4/B43LeT9Wba4fLvXw-C_kKq-x9HwYZxnBBiltbIufzzQ.cache
218
+ - test/rails602/tmp/cache/assets/sprockets/v4.0.0/Qw/QwqNC1B79H6PvmagB1AGJO9I9qeFBpiit-qXaOCDjp8.cache
219
+ - test/rails602/tmp/cache/assets/sprockets/v4.0.0/lX/lXQ4hYUaxBbrnZMkw-u9ScABwdSoG7c63G01rUy4FLg.cache
220
+ - test/rails602/tmp/cache/assets/sprockets/v4.0.0/sC/sCHJ2HP3o3cxIJWeTGqTYDYOtgzS7Hlcpmz1hBftKTc.cache
221
+ - test/rails602/tmp/development_secret.txt
161
222
  - test/route_downcaser_test.rb
162
223
  - test/test_helper.rb
163
224
  homepage: https://github.com/carstengehling/route_downcaser
@@ -179,8 +240,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
179
240
  - !ruby/object:Gem::Version
180
241
  version: '0'
181
242
  requirements: []
182
- rubyforge_project:
183
- rubygems_version: 2.6.14
243
+ rubygems_version: 3.0.6
184
244
  signing_key:
185
245
  specification_version: 4
186
246
  summary: Makes routing in Rails case-insensitive
@@ -189,6 +249,7 @@ test_files:
189
249
  - test/rails421/app/controllers/application_controller.rb
190
250
  - test/rails421/app/controllers/hello_controller.rb
191
251
  - test/rails421/app/views/layouts/application.html.erb
252
+ - test/rails421/app/assets/config/manifest.js
192
253
  - test/rails421/app/assets/javascripts/application.js
193
254
  - test/rails421/app/assets/stylesheets/application.css
194
255
  - test/rails421/app/helpers/application_helper.rb
@@ -222,6 +283,54 @@ test_files:
222
283
  - test/rails421/public/404.html
223
284
  - test/rails421/public/robots.txt
224
285
  - test/rails421/log/test.log
286
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/3K/3KLS9RO9SD43w2m7B37olZz-VRlZVFl3F98EcZ-T6OQ.cache
287
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/9B/9BuTfVVX9s_SyGNUVwTAliEfEbBaBhN4h3UUAvmaO5w.cache
288
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/SP/SPGmSZC6qS--XzWg1MdmEEgH6dRyXOgJMe2P9QBYQZY.cache
289
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/6H/6H_SytVX3LrLQVNblKfSUZm9U4zz0Hi3nC7zd2slWgE.cache
290
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/z5/z5kOnAPBYWOw-zvMXDeGE_yVaZZoO9assTdxLAezanE.cache
291
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/v7/v79_HLVOJ_bTUgdWPb3KnIe1Ob_60Lytir4WusrWpQg.cache
292
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/Vi/ViNv05i6eMoI4yhVXbPOdOe8uxRNvkjNSYoK5OS99Dw.cache
293
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/0p/0pLW5uAkYcVMn-L1f008s8QG400BA-CGnjEUCaGLgwA.cache
294
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/KD/KDZ5JOyifGKCzqVzvh51rBn4-z2waWNs3-ied97ntvk.cache
295
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/B5/B5enM7rLQGpvU7rBc2Zu3cO-5FhDDj0_nCVJWZvjX7s.cache
296
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/AD/ADMJimKJauAcBJIneLV5egsXBPBoCjbSP9kY6njR36I.cache
297
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/bB/bBjLJM-5v5XvzSjbmk6765v1o0j-26cy2yuTD1KXkl0.cache
298
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/NS/NSoASzvu62nmDpGMHQrHaDmhnAtsI4vc8886q8304tk.cache
299
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/KL/KLfhFc73IoPAgk4UqkkweYC0d9WoWDsdFt6tvPk-sH4.cache
300
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/jZ/jZck37TJYp10fX7dzwjF6k7-gPhmNdzB5PWayl2lSRQ.cache
301
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/Jf/JfAkIfafqJLEVZeAwe3NPmILKAxLTIaQMkBDQv9lgRs.cache
302
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/EL/EL7MuqbmZFKYS_80bdvW6_Wn5UEiX3eu1r6N-7G8UEw.cache
303
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/jh/jh8Rd8uXzJsR5P4NG39_-VpLgRemhQ8CxX5_dw6lT8Y.cache
304
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/iG/iGXSyXK76m1vZahJipVHsBeSuq9a02pimNfRGul6UyE.cache
305
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/Od/Odde9BXdsuh0jKZhRr4e_mzWgRviGF2hraOo-CBT2Uc.cache
306
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/Fy/FyhhzuND_ItWUB5CEJ3iyuY40AgIG84NRv4zu9Timps.cache
307
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/1t/1tj8wAl_ygkeV4rjgm17Yabg53-rR_pkntyJe1pnStk.cache
308
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/Xg/Xg64R_L39P2xqnexdmGDRYDzSTX8azFSAWBFOy2B5lU.cache
309
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/21/21O83OBXXXSWrKD2yP5QfOt5GdsGKcUvdkHuxGVDCq0.cache
310
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/xs/xsXpTMvclkmE9PUtRWGU4l13KsXsf143bqyVpBHalvE.cache
311
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/UJ/UJ9oV8YAQYl3QXld841M9Q8GDChRm4hq-p_-ub-8Mnw.cache
312
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/p0/p0AgQcqeMod0Q93wM6Lm_wksgSixervifjXcfre3UNg.cache
313
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/p0/p00KopyzwCidTtAuB76KK2QxTXFwOLwu-Ur8rkyHV1Q.cache
314
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/zi/zi3iTvVQF4pcw9u3GU9UJ6mttFr7TO49bUhRb-pA7sc.cache
315
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/uc/ucpiLQJan6bNoAklPDQXEwdgbK9N_iHcEdcUK3sXfi8.cache
316
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/Ys/Ys273n5EbMBrlmQ8NS6qFULe7v3P3HsMJ-7AKvcpUVQ.cache
317
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/9I/9IPM2vWQgQR4xfKHMKObDvNQpOackOP1Hhf3-GMlZnA.cache
318
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/9G/9GSHOjw505wesb6iaMzEVqLjrV7bDI8N8MnO892fjkY.cache
319
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/uw/uw7uS6ON94iLO0V-uIz9HG08EtTXbCsegAx2rsW8ZZw.cache
320
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/Mk/MkHnY3zJtJQlrbU7VsPIbKzhVht8Kh-jfEbTilENQgA.cache
321
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/H-/H-Xq75Ky6CJKbSHsls6b1RlUhAZsCvAsQBp1hEo4SQE.cache
322
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/MP/MPkUdTQ18IIRCAqCDpPHC_aLe9EvuxF2rCs0Zi7ormg.cache
323
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/AH/AHbfhhP0cTEOs-1EBUNUXXyeEHxgK0boxQfplICtNiA.cache
324
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/kh/khKGwmTZNJ3bMZIUHcaMzBFC8ORvLIMmSF735G5h5JA.cache
325
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/CQ/CQ_GqCyDnwt2tUBwsxP1dZHI65ufI-hB9MQ3y1--m9Q.cache
326
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/Lr/Lr-IyGH4TR4pHCYggxyAjgjEdL2fA8HQm_WdYfSqivs.cache
327
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/C5/C5PnkMgUphtk9ABTF6z2KS4sHgpENn8GBLoy-i3E3wo.cache
328
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/JD/JDzlonPoUacVM5xof3d6jVjmE61rJg-Om9N6lYAo7ZI.cache
329
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/wr/wrx3kO_wdP5NwpV8WnIPmG6582mk1yXcAYXwZECzF1c.cache
330
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/1E/1Eq7urfYMOFFaH2_2qtEtAzItryBST0NWI8LjG7_8AY.cache
331
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/2V/2VVsM_aqLieq8REU3CAcwO12z7nTUOMDaOG8mfPTlDc.cache
332
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/tN/tNMYFw0s6bpMU4Rph9cmm8M-3G0ZCkojT-JjMxvXY5c.cache
333
+ - test/rails421/tmp/cache/assets/sprockets/v4.0.0/7A/7AfJBOCTRna7lhBueluC9znK0PVnN3Z0wUaxOqGL_A4.cache
225
334
  - test/rails421/tmp/cache/assets/sprockets/v3.0/3K/3KLS9RO9SD43w2m7B37olZz-VRlZVFl3F98EcZ-T6OQ.cache
226
335
  - test/rails421/tmp/cache/assets/sprockets/v3.0/YY/YYg4F7MwALcoY2sRAE6hl0-2rtVq5V-9JixAGfbxLF0.cache
227
336
  - test/rails421/tmp/cache/assets/sprockets/v3.0/y5/y5VE9EjY2KAk8NIkbwOZzYod3U0KM5Q5ZqJ_J0CmJIs.cache
@@ -300,5 +409,18 @@ test_files:
300
409
  - test/rails421/tmp/cache/assets/sprockets/v3.0/8b/8bGxiI7b1E3sXm_6Main4IVaCaNunTCJECvMivc6vao.cache
301
410
  - test/rails421/tmp/cache/assets/sprockets/v3.0/tn/tnnlCZmqi-M2TWOY6xMLnGBbKqxvkwkMHVJ8kHRBmik.cache
302
411
  - test/rails421/tmp/cache/assets/sprockets/v3.0/7a/7aucnxDrWU2Wq9Gv2-MzRJ-TODqCU9XYtPF9yUAxzrA.cache
412
+ - test/rails602/log/test.log
413
+ - test/rails602/log/development.log
414
+ - test/rails602/Gemfile.lock
415
+ - test/rails602/tmp/development_secret.txt
416
+ - test/rails602/tmp/cache/assets/sprockets/v4.0.0/sC/sCHJ2HP3o3cxIJWeTGqTYDYOtgzS7Hlcpmz1hBftKTc.cache
417
+ - test/rails602/tmp/cache/assets/sprockets/v4.0.0/B4/B43LeT9Wba4fLvXw-C_kKq-x9HwYZxnBBiltbIufzzQ.cache
418
+ - test/rails602/tmp/cache/assets/sprockets/v4.0.0/lX/lXQ4hYUaxBbrnZMkw-u9ScABwdSoG7c63G01rUy4FLg.cache
419
+ - test/rails602/tmp/cache/assets/sprockets/v4.0.0/8A/8Aj0qbTT_8xMiQdT4ay1288JA7cIiscUWqD8v8AhrSo.cache
420
+ - test/rails602/tmp/cache/assets/sprockets/v4.0.0/1G/1GDNz0WzrvjCbDFhKGTRB4SqMCVxSD35_Xf7FM-xGyA.cache
421
+ - test/rails602/tmp/cache/assets/sprockets/v4.0.0/99/99m8UCKl4j8IpsVOK8ltLHyNh8Ae0nHw3GBkC34V_co.cache
422
+ - test/rails602/tmp/cache/assets/sprockets/v4.0.0/0a/0akXyz-RvD7ECckO9hP1DJxTo5DmWnfdLxYT8v6iBB0.cache
423
+ - test/rails602/tmp/cache/assets/sprockets/v4.0.0/A9/A90cbULL8Hfbsv-9YOrxkplqpjR3vMl94Ty3mNaytyg.cache
424
+ - test/rails602/tmp/cache/assets/sprockets/v4.0.0/Qw/QwqNC1B79H6PvmagB1AGJO9I9qeFBpiit-qXaOCDjp8.cache
303
425
  - test/route_downcaser_test.rb
304
426
  - test/test_helper.rb
@@ -1,83 +0,0 @@
1
- module RouteDowncaser
2
- class OriginalDowncaseRouteMiddleware
3
- def initialize(app)
4
- @app = app
5
- end
6
-
7
- def call(env)
8
- dup._call(env)
9
- end
10
-
11
- def _call(env)
12
- request_uri = env['REQUEST_URI']
13
- path_info = env['PATH_INFO']
14
-
15
- # Don't touch anything, if uri/path is part of exclude_patterns
16
- return @app.call(env) if excluded?([request_uri, path_info])
17
-
18
- # Downcase request_uri and/or path_info if applicable
19
- request_uri = downcased_uri(request_uri)
20
- path_info = downcased_uri(path_info)
21
-
22
- # If redirect configured, then return redirect request,
23
- # if either request_uri or path_info has changed
24
- if RouteDowncaser.redirect && env['REQUEST_METHOD'] == 'GET'
25
- if request_uri.present? && request_uri != env['REQUEST_URI']
26
- return redirect_header(request_uri)
27
- end
28
-
29
- if path_info.present? && path_info != env['PATH_INFO']
30
- return redirect_header(path_info)
31
- end
32
- end
33
-
34
- env['PATH_INFO'] = path_info.to_s if path_info
35
- env['REQUEST_URI'] = request_uri.to_s if request_uri
36
-
37
- # Default just move to next chain in Rack callstack
38
- # calling with downcased uri if needed
39
- @app.call(env)
40
- end
41
-
42
- private
43
-
44
- def exclude_patterns_match?(uri)
45
- uri.match(Regexp.union(RouteDowncaser.exclude_patterns)) if uri && RouteDowncaser.exclude_patterns
46
- end
47
-
48
- def excluded?(paths)
49
- paths.any? do |path|
50
- exclude_patterns_match?(path)
51
- end
52
- end
53
-
54
- def downcased_uri(uri)
55
- return nil unless uri.present?
56
- if has_querystring?(uri)
57
- "#{path(uri).mb_chars.downcase}?#{querystring(uri)}"
58
- else
59
- path(uri).mb_chars.downcase
60
- end
61
- end
62
-
63
- def path(uri)
64
- uri_items(uri).first
65
- end
66
-
67
- def querystring(uri)
68
- uri_items(uri).last
69
- end
70
-
71
- def has_querystring?(uri)
72
- uri_items(uri).length > 1
73
- end
74
-
75
- def uri_items(uri)
76
- uri.split('?')
77
- end
78
-
79
- def redirect_header(uri)
80
- [301, { 'Location' => uri, 'Content-Type' => 'text/html' }, []]
81
- end
82
- end
83
- end