rack-address_munging 0.1.3 → 0.2.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 +4 -4
- data/CHANGELOG.md +57 -0
- data/README.md +1 -1
- data/dev/gemfiles/ci.gemfile +5 -0
- data/lib/rack/address_munging/detection.rb +1 -1
- data/lib/rack/address_munging/strategy/rot13js.rb +1 -1
- data/lib/rack/address_munging/version.rb +1 -1
- data/lib/rack/address_munging.rb +1 -1
- data/rack-address_munging.gemspec +18 -8
- metadata +28 -58
- data/.gitignore +0 -8
- data/.rspec +0 -2
- data/.rubocop.yml +0 -8
- data/.travis.yml +0 -11
- data/Gemfile +0 -6
- data/Gemfile.lock +0 -69
- data/Rakefile +0 -11
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 795485c5da2f4f87ff8a17abf0418f129be6e3efd5a86f299b71af14d6a956ad
|
|
4
|
+
data.tar.gz: 4cc81b22c81f42c9fabb0efcda193eae62626a7df4ed5c5a619ba07fb648df71
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 50b2ad76a7d8e77304d0f1ea2ac714f6ab607edd8f131608f2fbd02efdbbd0786a2a5515e9ae9fc6c5ee1347dcd460b4bb03450fae6c9fd709cf6b9cb09ad57c
|
|
7
|
+
data.tar.gz: a970056ab0c1cff254d3dab88a8f9f3cd8aa0737b289b69b1411fb8ff8848a9492ccd4c88075fc82ec5bae1b9508752c90d5fa0c4c9b2ceaaa4f5002ce0e0e15
|
data/CHANGELOG.md
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
6
|
+
|
|
7
|
+
## [Unreleased]
|
|
8
|
+
|
|
9
|
+
## Version 0.2.0 (2025-10-23)
|
|
10
|
+
|
|
11
|
+
### Changed
|
|
12
|
+
|
|
13
|
+
* Drop support for rubies < 3.2 (#28)
|
|
14
|
+
* Configure Dependabot to automatically update Github Actions (#26)
|
|
15
|
+
* Remove Ruby 3.0 and Ruby 3.1 from the test matrix (#22)
|
|
16
|
+
* Add Ruby 3.4 to the test matrix (#19)
|
|
17
|
+
* Update test matrix (#13)
|
|
18
|
+
Add Ruby 3.3. Drop Ruby 2.6 and Ruby 2.7
|
|
19
|
+
* Migrate from Travis CI to Github Actions
|
|
20
|
+
* Add Ruby 3.2 to the test matrix
|
|
21
|
+
* Introduce `rubocop-performance` and simplify configuration
|
|
22
|
+
|
|
23
|
+
## Version 0.1.4 (2022-08-05)
|
|
24
|
+
|
|
25
|
+
* Add support for Ruby 3.1
|
|
26
|
+
|
|
27
|
+
## Version 0.1.3 (2021-04-04)
|
|
28
|
+
|
|
29
|
+
### Breaking changes
|
|
30
|
+
|
|
31
|
+
* Drop support for Ruby < 2.6
|
|
32
|
+
|
|
33
|
+
### Other changes
|
|
34
|
+
|
|
35
|
+
* Add support for Ruby 3.0
|
|
36
|
+
|
|
37
|
+
## Version 0.1.2 (2020-11-02)
|
|
38
|
+
|
|
39
|
+
### Security
|
|
40
|
+
|
|
41
|
+
* Drop support for Rack < 2.1.4
|
|
42
|
+
|
|
43
|
+
### Breaking changes
|
|
44
|
+
|
|
45
|
+
* Drop support for Ruby < 2.5
|
|
46
|
+
|
|
47
|
+
### Other changes
|
|
48
|
+
|
|
49
|
+
* Introduce RuboCop to validate code style
|
|
50
|
+
|
|
51
|
+
## Version 0.1.1 (2018-03-13)
|
|
52
|
+
|
|
53
|
+
* Allow this gem to be released only on rubygems.org
|
|
54
|
+
|
|
55
|
+
## Version 0.1.0
|
|
56
|
+
|
|
57
|
+
Initial release.
|
data/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Rack::AddressMunging
|
|
2
2
|
|
|
3
|
-
[](https://github.com/notus-sh/rack-address_munging/actions/workflows/unit-tests.yml)
|
|
4
4
|
[](https://badge.fury.io/rb/rack-address_munging)
|
|
5
5
|
|
|
6
6
|
`Rack::AddressMunging` is a Rack middleware for automatic [e-mail addresses munging](https://en.wikipedia.org/wiki/Address_munging).
|
|
@@ -28,7 +28,7 @@ module Rack
|
|
|
28
28
|
def valid_local?(local)
|
|
29
29
|
return false if local.include?('..') # Can't contain ..
|
|
30
30
|
return false if local.include?('@') # Can't contain an @
|
|
31
|
-
return false
|
|
31
|
+
return false if /^"?\s+"?$/.match?(local) # Can't be blank
|
|
32
32
|
|
|
33
33
|
true
|
|
34
34
|
end
|
|
@@ -34,7 +34,7 @@ module Rack
|
|
|
34
34
|
|
|
35
35
|
def encode(str)
|
|
36
36
|
<<-ENCODED.strip
|
|
37
|
-
<script type="text/javascript">document.write("#{to_s(str).tr('A-Za-z', 'N-ZA-Mn-za-m').gsub('@', '(at)')}".replace(
|
|
37
|
+
<script type="text/javascript">document.write("#{to_s(str).tr('A-Za-z', 'N-ZA-Mn-za-m').gsub('@', '(at)')}".replace(/(at)/, '@').replace(/[a-z]/gi,function(c){return String.fromCharCode((c<="Z"?90:122)>=(c=c.charCodeAt(0)+13)?c:c-26);});))</script>
|
|
38
38
|
ENCODED
|
|
39
39
|
end
|
|
40
40
|
|
data/lib/rack/address_munging.rb
CHANGED
|
@@ -17,22 +17,32 @@ Gem::Specification.new do |spec|
|
|
|
17
17
|
|
|
18
18
|
raise 'RubyGems 2.0 or newer is required.' unless spec.respond_to?(:metadata)
|
|
19
19
|
|
|
20
|
-
spec.metadata
|
|
20
|
+
spec.metadata = {
|
|
21
|
+
'allowed_push_host' => 'https://rubygems.org',
|
|
22
|
+
'rubygems_mfa_required' => 'true',
|
|
23
|
+
|
|
24
|
+
'bug_tracker_uri' => 'https://github.com/notus-sh/rack-address_munging/issues',
|
|
25
|
+
'changelog_uri' => 'https://github.com/notus-sh/rack-address_munging/blob/main/CHANGELOG.md',
|
|
26
|
+
'homepage_uri' => 'https://github.com/notus-sh/rack-address_munging',
|
|
27
|
+
'source_code_uri' => 'https://github.com/notus-sh/rack-address_munging',
|
|
28
|
+
'funding_uri' => 'https://opencollective.com/notus-sh'
|
|
29
|
+
}
|
|
21
30
|
|
|
22
31
|
spec.require_paths = ['lib']
|
|
23
|
-
|
|
24
|
-
|
|
32
|
+
|
|
33
|
+
excluded_dirs = %r{^(.github|spec)/}
|
|
34
|
+
excluded_files = %w[.gitignore .rspec .rubocop.yml Gemfile Gemfile.lock Rakefile]
|
|
35
|
+
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
|
36
|
+
f.match(excluded_dirs) || excluded_files.include?(f)
|
|
25
37
|
end
|
|
26
38
|
|
|
27
|
-
spec.required_ruby_version = '>= 2
|
|
39
|
+
spec.required_ruby_version = '>= 3.2'
|
|
28
40
|
|
|
29
41
|
spec.add_dependency 'mail', '> 2.5.0'
|
|
42
|
+
spec.add_dependency 'net-smtp'
|
|
30
43
|
spec.add_dependency 'rack', '>= 2.1.4'
|
|
31
44
|
|
|
32
45
|
spec.add_development_dependency 'bundler', '~> 2.1'
|
|
33
46
|
spec.add_development_dependency 'rake', '~> 13.0'
|
|
34
|
-
spec.add_development_dependency 'rspec', '~> 3.
|
|
35
|
-
spec.add_development_dependency 'rubocop'
|
|
36
|
-
spec.add_development_dependency 'rubocop-rake'
|
|
37
|
-
spec.add_development_dependency 'rubocop-rspec'
|
|
47
|
+
spec.add_development_dependency 'rspec', '~> 3.13.0'
|
|
38
48
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: rack-address_munging
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Gaël-Ian Havard
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: bin
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
13
|
name: mail
|
|
@@ -24,6 +23,20 @@ dependencies:
|
|
|
24
23
|
- - ">"
|
|
25
24
|
- !ruby/object:Gem::Version
|
|
26
25
|
version: 2.5.0
|
|
26
|
+
- !ruby/object:Gem::Dependency
|
|
27
|
+
name: net-smtp
|
|
28
|
+
requirement: !ruby/object:Gem::Requirement
|
|
29
|
+
requirements:
|
|
30
|
+
- - ">="
|
|
31
|
+
- !ruby/object:Gem::Version
|
|
32
|
+
version: '0'
|
|
33
|
+
type: :runtime
|
|
34
|
+
prerelease: false
|
|
35
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
36
|
+
requirements:
|
|
37
|
+
- - ">="
|
|
38
|
+
- !ruby/object:Gem::Version
|
|
39
|
+
version: '0'
|
|
27
40
|
- !ruby/object:Gem::Dependency
|
|
28
41
|
name: rack
|
|
29
42
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -72,56 +85,14 @@ dependencies:
|
|
|
72
85
|
requirements:
|
|
73
86
|
- - "~>"
|
|
74
87
|
- !ruby/object:Gem::Version
|
|
75
|
-
version: 3.
|
|
88
|
+
version: 3.13.0
|
|
76
89
|
type: :development
|
|
77
90
|
prerelease: false
|
|
78
91
|
version_requirements: !ruby/object:Gem::Requirement
|
|
79
92
|
requirements:
|
|
80
93
|
- - "~>"
|
|
81
94
|
- !ruby/object:Gem::Version
|
|
82
|
-
version: 3.
|
|
83
|
-
- !ruby/object:Gem::Dependency
|
|
84
|
-
name: rubocop
|
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
|
86
|
-
requirements:
|
|
87
|
-
- - ">="
|
|
88
|
-
- !ruby/object:Gem::Version
|
|
89
|
-
version: '0'
|
|
90
|
-
type: :development
|
|
91
|
-
prerelease: false
|
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
93
|
-
requirements:
|
|
94
|
-
- - ">="
|
|
95
|
-
- !ruby/object:Gem::Version
|
|
96
|
-
version: '0'
|
|
97
|
-
- !ruby/object:Gem::Dependency
|
|
98
|
-
name: rubocop-rake
|
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
|
100
|
-
requirements:
|
|
101
|
-
- - ">="
|
|
102
|
-
- !ruby/object:Gem::Version
|
|
103
|
-
version: '0'
|
|
104
|
-
type: :development
|
|
105
|
-
prerelease: false
|
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
107
|
-
requirements:
|
|
108
|
-
- - ">="
|
|
109
|
-
- !ruby/object:Gem::Version
|
|
110
|
-
version: '0'
|
|
111
|
-
- !ruby/object:Gem::Dependency
|
|
112
|
-
name: rubocop-rspec
|
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
|
114
|
-
requirements:
|
|
115
|
-
- - ">="
|
|
116
|
-
- !ruby/object:Gem::Version
|
|
117
|
-
version: '0'
|
|
118
|
-
type: :development
|
|
119
|
-
prerelease: false
|
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
121
|
-
requirements:
|
|
122
|
-
- - ">="
|
|
123
|
-
- !ruby/object:Gem::Version
|
|
124
|
-
version: '0'
|
|
95
|
+
version: 3.13.0
|
|
125
96
|
description: A Rack middleware for automatic e-mail addresses munging.
|
|
126
97
|
email:
|
|
127
98
|
- gael-ian@notus.sh
|
|
@@ -129,15 +100,10 @@ executables: []
|
|
|
129
100
|
extensions: []
|
|
130
101
|
extra_rdoc_files: []
|
|
131
102
|
files:
|
|
132
|
-
-
|
|
133
|
-
- ".rspec"
|
|
134
|
-
- ".rubocop.yml"
|
|
135
|
-
- ".travis.yml"
|
|
136
|
-
- Gemfile
|
|
137
|
-
- Gemfile.lock
|
|
103
|
+
- CHANGELOG.md
|
|
138
104
|
- LICENSE
|
|
139
105
|
- README.md
|
|
140
|
-
-
|
|
106
|
+
- dev/gemfiles/ci.gemfile
|
|
141
107
|
- lib/rack/address_munging.rb
|
|
142
108
|
- lib/rack/address_munging/detection.rb
|
|
143
109
|
- lib/rack/address_munging/strategy.rb
|
|
@@ -150,7 +116,12 @@ licenses:
|
|
|
150
116
|
- Apache-2.0
|
|
151
117
|
metadata:
|
|
152
118
|
allowed_push_host: https://rubygems.org
|
|
153
|
-
|
|
119
|
+
rubygems_mfa_required: 'true'
|
|
120
|
+
bug_tracker_uri: https://github.com/notus-sh/rack-address_munging/issues
|
|
121
|
+
changelog_uri: https://github.com/notus-sh/rack-address_munging/blob/main/CHANGELOG.md
|
|
122
|
+
homepage_uri: https://github.com/notus-sh/rack-address_munging
|
|
123
|
+
source_code_uri: https://github.com/notus-sh/rack-address_munging
|
|
124
|
+
funding_uri: https://opencollective.com/notus-sh
|
|
154
125
|
rdoc_options: []
|
|
155
126
|
require_paths:
|
|
156
127
|
- lib
|
|
@@ -158,15 +129,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
158
129
|
requirements:
|
|
159
130
|
- - ">="
|
|
160
131
|
- !ruby/object:Gem::Version
|
|
161
|
-
version: '2
|
|
132
|
+
version: '3.2'
|
|
162
133
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
163
134
|
requirements:
|
|
164
135
|
- - ">="
|
|
165
136
|
- !ruby/object:Gem::Version
|
|
166
137
|
version: '0'
|
|
167
138
|
requirements: []
|
|
168
|
-
rubygems_version: 3.
|
|
169
|
-
signing_key:
|
|
139
|
+
rubygems_version: 3.6.9
|
|
170
140
|
specification_version: 4
|
|
171
141
|
summary: Rack middleware for automatic address munging.
|
|
172
142
|
test_files: []
|
data/.gitignore
DELETED
data/.rspec
DELETED
data/.rubocop.yml
DELETED
data/.travis.yml
DELETED
data/Gemfile
DELETED
data/Gemfile.lock
DELETED
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
PATH
|
|
2
|
-
remote: .
|
|
3
|
-
specs:
|
|
4
|
-
rack-address_munging (0.1.3)
|
|
5
|
-
mail (> 2.5.0)
|
|
6
|
-
rack (>= 2.1.4)
|
|
7
|
-
|
|
8
|
-
GEM
|
|
9
|
-
remote: https://rubygems.org/
|
|
10
|
-
specs:
|
|
11
|
-
ast (2.4.2)
|
|
12
|
-
diff-lcs (1.4.4)
|
|
13
|
-
mail (2.7.1)
|
|
14
|
-
mini_mime (>= 0.1.1)
|
|
15
|
-
mini_mime (1.1.0)
|
|
16
|
-
parallel (1.20.1)
|
|
17
|
-
parser (3.0.1.1)
|
|
18
|
-
ast (~> 2.4.1)
|
|
19
|
-
rack (2.2.3)
|
|
20
|
-
rainbow (3.0.0)
|
|
21
|
-
rake (13.0.3)
|
|
22
|
-
regexp_parser (2.1.1)
|
|
23
|
-
rexml (3.2.5)
|
|
24
|
-
rspec (3.10.0)
|
|
25
|
-
rspec-core (~> 3.10.0)
|
|
26
|
-
rspec-expectations (~> 3.10.0)
|
|
27
|
-
rspec-mocks (~> 3.10.0)
|
|
28
|
-
rspec-core (3.10.1)
|
|
29
|
-
rspec-support (~> 3.10.0)
|
|
30
|
-
rspec-expectations (3.10.1)
|
|
31
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
|
32
|
-
rspec-support (~> 3.10.0)
|
|
33
|
-
rspec-mocks (3.10.2)
|
|
34
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
|
35
|
-
rspec-support (~> 3.10.0)
|
|
36
|
-
rspec-support (3.10.2)
|
|
37
|
-
rubocop (1.13.0)
|
|
38
|
-
parallel (~> 1.10)
|
|
39
|
-
parser (>= 3.0.0.0)
|
|
40
|
-
rainbow (>= 2.2.2, < 4.0)
|
|
41
|
-
regexp_parser (>= 1.8, < 3.0)
|
|
42
|
-
rexml
|
|
43
|
-
rubocop-ast (>= 1.2.0, < 2.0)
|
|
44
|
-
ruby-progressbar (~> 1.7)
|
|
45
|
-
unicode-display_width (>= 1.4.0, < 3.0)
|
|
46
|
-
rubocop-ast (1.5.0)
|
|
47
|
-
parser (>= 3.0.1.1)
|
|
48
|
-
rubocop-rake (0.5.1)
|
|
49
|
-
rubocop
|
|
50
|
-
rubocop-rspec (2.3.0)
|
|
51
|
-
rubocop (~> 1.0)
|
|
52
|
-
rubocop-ast (>= 1.1.0)
|
|
53
|
-
ruby-progressbar (1.11.0)
|
|
54
|
-
unicode-display_width (2.0.0)
|
|
55
|
-
|
|
56
|
-
PLATFORMS
|
|
57
|
-
ruby
|
|
58
|
-
|
|
59
|
-
DEPENDENCIES
|
|
60
|
-
bundler (~> 2.1)
|
|
61
|
-
rack-address_munging!
|
|
62
|
-
rake (~> 13.0)
|
|
63
|
-
rspec (~> 3.10.0)
|
|
64
|
-
rubocop
|
|
65
|
-
rubocop-rake
|
|
66
|
-
rubocop-rspec
|
|
67
|
-
|
|
68
|
-
BUNDLED WITH
|
|
69
|
-
2.2.3
|