route_downcaser 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0e8631f4a49f8535fa5447c8f7cd6cf559f0815db563275206ff61545d794c7f
4
- data.tar.gz: 39668ddbeb37b4531d737db52f45abffd90154caf7d1b20cd7cef6fbf6aa1c64
3
+ metadata.gz: 7726460c1e166c885efb556d78a0f91bee3dee42fd38adce7b5be19115cda0dd
4
+ data.tar.gz: af90e28fb8775a805b436173748c75698c515583dc8a5a1a0ac50757c7b2f08f
5
5
  SHA512:
6
- metadata.gz: 362a09827152918e502adc28ff921f1e3943605d8e2dc2de7ebba7f0ef996999f393927bd3e52a65e355a3231c0ec4a5e25c72362a45633b1784a55de452833f
7
- data.tar.gz: 62f7e618aa30b3d012b467c40f8624d7bf9d2dfe15ec52d567cd18da0f46e836b8569d2c2fbdbb31d8a9181e6a7695320a90fc6d9846852843e9d83bc18a49f4
6
+ metadata.gz: c703a3c12c20eeaa948284c6969b7f0b48a60074cd893e9000df26668b2a6576d028aecfba92490bf6c3d7a89610ae6eb0c70123d925eac8e0a76ffef5bd21e6
7
+ data.tar.gz: 90446388282474f65f74fdf27257518ea672806810f58a257830910827dab46cab7df2e51ab348a55e7179a0cbdf07ea78c44ff75a08f860d272581cc754063e
@@ -7,14 +7,14 @@ module RouteDowncaser
7
7
  end
8
8
 
9
9
  def define_setting(name, default = nil)
10
- class_variable_set("@@#{name}", default)
10
+ class_variable_set(:"@@#{name}", default)
11
11
 
12
12
  define_class_method "#{name}=" do |value|
13
- class_variable_set("@@#{name}", value)
13
+ class_variable_set(:"@@#{name}", value)
14
14
  end
15
15
 
16
16
  define_class_method name do
17
- class_variable_get("@@#{name}")
17
+ class_variable_get(:"@@#{name}")
18
18
  end
19
19
  end
20
20
 
@@ -20,6 +20,7 @@ module RouteDowncaser
20
20
 
21
21
  # Downcase path_info if applicable
22
22
  path_info = downcased_uri(path_info)
23
+ path_info = path_info.gsub("%7E", "~") if path_info
23
24
 
24
25
  # If redirect configured, then return redirect request, if either
25
26
  # path_info has changed
@@ -61,7 +62,7 @@ module RouteDowncaser
61
62
  end
62
63
 
63
64
  def downcase_path_segment(segment)
64
- URI.encode_www_form_component(URI.decode_www_form_component(segment).downcase)
65
+ uri_encode(uri_decode(segment).downcase)
65
66
  end
66
67
 
67
68
  def path(uri)
@@ -76,6 +77,14 @@ module RouteDowncaser
76
77
  uri_items(uri).length > 1
77
78
  end
78
79
 
80
+ def uri_decode(uri_segment)
81
+ URI.decode_www_form_component(uri_segment)
82
+ end
83
+
84
+ def uri_encode(uri_segment)
85
+ URI.encode_www_form_component(uri_segment)
86
+ end
87
+
79
88
  def uri_items(uri)
80
89
  uri.split("?", 2)
81
90
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RouteDowncaser
4
- VERSION = "2.0.0"
4
+ VERSION = "2.1.0"
5
5
  end
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  # desc "Explaining what the task does"
3
4
  # task :route_downcaser do
4
5
  # # Task goes here
metadata CHANGED
@@ -1,15 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: route_downcaser
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Carsten Gehling
8
8
  - Jakob Skjerning
9
- autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2023-12-01 00:00:00.000000000 Z
11
+ date: 1980-01-02 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: activesupport
@@ -61,7 +60,6 @@ homepage: https://github.com/substancelab/route_downcaser
61
60
  licenses:
62
61
  - MIT
63
62
  metadata: {}
64
- post_install_message:
65
63
  rdoc_options: []
66
64
  require_paths:
67
65
  - lib
@@ -76,8 +74,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
76
74
  - !ruby/object:Gem::Version
77
75
  version: '0'
78
76
  requirements: []
79
- rubygems_version: 3.2.22
80
- signing_key:
77
+ rubygems_version: 3.6.9
81
78
  specification_version: 4
82
79
  summary: Makes routing in Rails case-insensitive
83
80
  test_files: []