rack-address_munging 0.1.4 → 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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fc7aa408aed89d25080299381a79cc158daccd488813043c241dcd39f94ff33d
4
- data.tar.gz: 54532829e73fa8af7fd2444fbfbaa0e8c16c0db0a19a86c110945be0eb41b49d
3
+ metadata.gz: 795485c5da2f4f87ff8a17abf0418f129be6e3efd5a86f299b71af14d6a956ad
4
+ data.tar.gz: 4cc81b22c81f42c9fabb0efcda193eae62626a7df4ed5c5a619ba07fb648df71
5
5
  SHA512:
6
- metadata.gz: dd740218c6cede41b667a56decabfbbd5d5c72417835892098e6eae8902f4cac9b7bc0e5fe7a5855de02390266844ad46a67f064283aeaf0947f03a1aa860a75
7
- data.tar.gz: 84fbd192b881c390928474be8664642d5b87e266accd640ddfa2c0e3a5281d02d28ee5ef1222c1412ca66b26b14f6404495f176eb2dc7a87a529ca67d70951f7
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
- [![Build Status](https://travis-ci.com/notus-sh/rack-address_munging.svg?branch=master)](https://travis-ci.com/notus-sh/rack-address_munging)
3
+ [![Unit tests](https://github.com/notus-sh/rack-address_munging/actions/workflows/unit-tests.yml/badge.svg?branch=main)](https://github.com/notus-sh/rack-address_munging/actions/workflows/unit-tests.yml)
4
4
  [![Gem Version](https://badge.fury.io/rb/rack-address_munging.svg)](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).
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ source 'https://rubygems.org'
4
+
5
+ gemspec path: '../..'
@@ -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 unless local !~ /^"?\s+"?$/ # Can't be blank
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(/\(at\)/, '@').replace(/[a-z]/gi,function(c){return String.fromCharCode((c<="Z"?90:122)>=(c=c.charCodeAt(0)+13)?c:c-26);});))</script>
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
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Rack
4
4
  class AddressMunging
5
- VERSION = '0.1.4'
5
+ VERSION = '0.2.0'
6
6
  end
7
7
  end
@@ -34,7 +34,7 @@ module Rack
34
34
  private
35
35
 
36
36
  def html?
37
- !(@headers['Content-Type'] =~ /html/).nil?
37
+ @headers['Content-Type'].include?('html')
38
38
  end
39
39
 
40
40
  def mung!
@@ -17,23 +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['allowed_push_host'] = 'https://rubygems.org'
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
- spec.files = `git ls-files -z`.split("\x0").reject do |f|
24
- f.match(%r{^(test|spec|features)/})
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.6'
39
+ spec.required_ruby_version = '>= 3.2'
28
40
 
29
41
  spec.add_dependency 'mail', '> 2.5.0'
30
- spec.add_dependency 'rack', '>= 2.1.4'
31
42
  spec.add_dependency 'net-smtp'
43
+ spec.add_dependency 'rack', '>= 2.1.4'
32
44
 
33
45
  spec.add_development_dependency 'bundler', '~> 2.1'
34
46
  spec.add_development_dependency 'rake', '~> 13.0'
35
- spec.add_development_dependency 'rspec', '~> 3.10.0'
36
- spec.add_development_dependency 'rubocop'
37
- spec.add_development_dependency 'rubocop-rake'
38
- spec.add_development_dependency 'rubocop-rspec'
47
+ spec.add_development_dependency 'rspec', '~> 3.13.0'
39
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.1.4
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: 2022-08-05 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: mail
@@ -25,33 +24,33 @@ dependencies:
25
24
  - !ruby/object:Gem::Version
26
25
  version: 2.5.0
27
26
  - !ruby/object:Gem::Dependency
28
- name: rack
27
+ name: net-smtp
29
28
  requirement: !ruby/object:Gem::Requirement
30
29
  requirements:
31
30
  - - ">="
32
31
  - !ruby/object:Gem::Version
33
- version: 2.1.4
32
+ version: '0'
34
33
  type: :runtime
35
34
  prerelease: false
36
35
  version_requirements: !ruby/object:Gem::Requirement
37
36
  requirements:
38
37
  - - ">="
39
38
  - !ruby/object:Gem::Version
40
- version: 2.1.4
39
+ version: '0'
41
40
  - !ruby/object:Gem::Dependency
42
- name: net-smtp
41
+ name: rack
43
42
  requirement: !ruby/object:Gem::Requirement
44
43
  requirements:
45
44
  - - ">="
46
45
  - !ruby/object:Gem::Version
47
- version: '0'
46
+ version: 2.1.4
48
47
  type: :runtime
49
48
  prerelease: false
50
49
  version_requirements: !ruby/object:Gem::Requirement
51
50
  requirements:
52
51
  - - ">="
53
52
  - !ruby/object:Gem::Version
54
- version: '0'
53
+ version: 2.1.4
55
54
  - !ruby/object:Gem::Dependency
56
55
  name: bundler
57
56
  requirement: !ruby/object:Gem::Requirement
@@ -86,56 +85,14 @@ dependencies:
86
85
  requirements:
87
86
  - - "~>"
88
87
  - !ruby/object:Gem::Version
89
- version: 3.10.0
88
+ version: 3.13.0
90
89
  type: :development
91
90
  prerelease: false
92
91
  version_requirements: !ruby/object:Gem::Requirement
93
92
  requirements:
94
93
  - - "~>"
95
94
  - !ruby/object:Gem::Version
96
- version: 3.10.0
97
- - !ruby/object:Gem::Dependency
98
- name: rubocop
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-rake
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'
125
- - !ruby/object:Gem::Dependency
126
- name: rubocop-rspec
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - ">="
130
- - !ruby/object:Gem::Version
131
- version: '0'
132
- type: :development
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - ">="
137
- - !ruby/object:Gem::Version
138
- version: '0'
95
+ version: 3.13.0
139
96
  description: A Rack middleware for automatic e-mail addresses munging.
140
97
  email:
141
98
  - gael-ian@notus.sh
@@ -143,15 +100,10 @@ executables: []
143
100
  extensions: []
144
101
  extra_rdoc_files: []
145
102
  files:
146
- - ".gitignore"
147
- - ".rspec"
148
- - ".rubocop.yml"
149
- - ".travis.yml"
150
- - Gemfile
151
- - Gemfile.lock
103
+ - CHANGELOG.md
152
104
  - LICENSE
153
105
  - README.md
154
- - Rakefile
106
+ - dev/gemfiles/ci.gemfile
155
107
  - lib/rack/address_munging.rb
156
108
  - lib/rack/address_munging/detection.rb
157
109
  - lib/rack/address_munging/strategy.rb
@@ -164,7 +116,12 @@ licenses:
164
116
  - Apache-2.0
165
117
  metadata:
166
118
  allowed_push_host: https://rubygems.org
167
- post_install_message:
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
168
125
  rdoc_options: []
169
126
  require_paths:
170
127
  - lib
@@ -172,15 +129,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
172
129
  requirements:
173
130
  - - ">="
174
131
  - !ruby/object:Gem::Version
175
- version: '2.6'
132
+ version: '3.2'
176
133
  required_rubygems_version: !ruby/object:Gem::Requirement
177
134
  requirements:
178
135
  - - ">="
179
136
  - !ruby/object:Gem::Version
180
137
  version: '0'
181
138
  requirements: []
182
- rubygems_version: 3.3.7
183
- signing_key:
139
+ rubygems_version: 3.6.9
184
140
  specification_version: 4
185
141
  summary: Rack middleware for automatic address munging.
186
142
  test_files: []
data/.gitignore DELETED
@@ -1,8 +0,0 @@
1
- /.bundle/
2
- /.yardoc
3
- /_yardoc/
4
- /coverage/
5
- /doc/
6
- /pkg/
7
- /spec/reports/
8
- /tmp/
data/.rspec DELETED
@@ -1,2 +0,0 @@
1
- --color
2
- --require spec_helper
data/.rubocop.yml DELETED
@@ -1,8 +0,0 @@
1
- AllCops:
2
- NewCops: enable
3
-
4
- Metrics/LineLength:
5
- Max: 150
6
-
7
- Style/Semicolon:
8
- Enabled: false
data/.travis.yml DELETED
@@ -1,14 +0,0 @@
1
- language: ruby
2
- cache: bundler
3
- rvm:
4
- - 2.6
5
- - 2.7
6
- - 3.0
7
- - 3.1
8
- gemfile:
9
- - Gemfile
10
-
11
- # Force Travis jobs to use the latest version of Bundler
12
- before_install:
13
- - yes | gem update --system --force
14
- - gem install bundler
data/Gemfile DELETED
@@ -1,6 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- source 'https://rubygems.org'
4
-
5
- # Specify your gem's dependencies in rack-address_munging.gemspec
6
- gemspec
data/Gemfile.lock DELETED
@@ -1,79 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- rack-address_munging (0.1.4)
5
- mail (> 2.5.0)
6
- net-smtp
7
- rack (>= 2.1.4)
8
-
9
- GEM
10
- remote: https://rubygems.org/
11
- specs:
12
- ast (2.4.2)
13
- diff-lcs (1.5.0)
14
- digest (3.1.0)
15
- json (2.6.2)
16
- mail (2.7.1)
17
- mini_mime (>= 0.1.1)
18
- mini_mime (1.1.2)
19
- net-protocol (0.1.3)
20
- timeout
21
- net-smtp (0.3.1)
22
- digest
23
- net-protocol
24
- timeout
25
- parallel (1.22.1)
26
- parser (3.1.2.0)
27
- ast (~> 2.4.1)
28
- rack (2.2.4)
29
- rainbow (3.1.1)
30
- rake (13.0.6)
31
- regexp_parser (2.5.0)
32
- rexml (3.2.5)
33
- rspec (3.10.0)
34
- rspec-core (~> 3.10.0)
35
- rspec-expectations (~> 3.10.0)
36
- rspec-mocks (~> 3.10.0)
37
- rspec-core (3.10.2)
38
- rspec-support (~> 3.10.0)
39
- rspec-expectations (3.10.2)
40
- diff-lcs (>= 1.2.0, < 2.0)
41
- rspec-support (~> 3.10.0)
42
- rspec-mocks (3.10.3)
43
- diff-lcs (>= 1.2.0, < 2.0)
44
- rspec-support (~> 3.10.0)
45
- rspec-support (3.10.3)
46
- rubocop (1.33.0)
47
- json (~> 2.3)
48
- parallel (~> 1.10)
49
- parser (>= 3.1.0.0)
50
- rainbow (>= 2.2.2, < 4.0)
51
- regexp_parser (>= 1.8, < 3.0)
52
- rexml (>= 3.2.5, < 4.0)
53
- rubocop-ast (>= 1.19.1, < 2.0)
54
- ruby-progressbar (~> 1.7)
55
- unicode-display_width (>= 1.4.0, < 3.0)
56
- rubocop-ast (1.19.1)
57
- parser (>= 3.1.1.0)
58
- rubocop-rake (0.6.0)
59
- rubocop (~> 1.0)
60
- rubocop-rspec (2.12.1)
61
- rubocop (~> 1.31)
62
- ruby-progressbar (1.11.0)
63
- timeout (0.3.0)
64
- unicode-display_width (2.2.0)
65
-
66
- PLATFORMS
67
- ruby
68
-
69
- DEPENDENCIES
70
- bundler (~> 2.1)
71
- rack-address_munging!
72
- rake (~> 13.0)
73
- rspec (~> 3.10.0)
74
- rubocop
75
- rubocop-rake
76
- rubocop-rspec
77
-
78
- BUNDLED WITH
79
- 2.3.19
data/Rakefile DELETED
@@ -1,11 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'bundler/gem_tasks'
4
-
5
- require 'rspec/core/rake_task'
6
- RSpec::Core::RakeTask.new
7
-
8
- require 'rubocop/rake_task'
9
- RuboCop::RakeTask.new
10
-
11
- task default: :spec