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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a5cb16c6591d7822acefa2c9d81be6674c25f7405e072f76cc6e4eeff747ef4b
4
- data.tar.gz: b32091ec4f99b028f72470b0313eb0da6a134478fe79a938fe6ed0829e14a785
3
+ metadata.gz: 795485c5da2f4f87ff8a17abf0418f129be6e3efd5a86f299b71af14d6a956ad
4
+ data.tar.gz: 4cc81b22c81f42c9fabb0efcda193eae62626a7df4ed5c5a619ba07fb648df71
5
5
  SHA512:
6
- metadata.gz: fc77bb466957021a52c69f04f6a1a796c909ebfffd7b36b499f7e2949036d5fbbdaddb47181e98c8be11da03cff4dd275104973f85229dd1373727b353f30e81
7
- data.tar.gz: 6700de733388a439bb43485d49c5a0e97ade800aac7ba596ca7fe3ad36daef2d49b3c46c026d2be075ad10c8188156e953413b414b7b1c5392541799502973cd
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.org/notus-sh/rack-address_munging.svg?branch=master)](https://travis-ci.org/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.3'
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,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['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'
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.10.0'
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.1.3
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: 2021-05-04 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
@@ -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.10.0
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.10.0
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
- - ".gitignore"
133
- - ".rspec"
134
- - ".rubocop.yml"
135
- - ".travis.yml"
136
- - Gemfile
137
- - Gemfile.lock
103
+ - CHANGELOG.md
138
104
  - LICENSE
139
105
  - README.md
140
- - Rakefile
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
- 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
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.6'
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.2.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
@@ -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,11 +0,0 @@
1
- language: ruby
2
- sudo: false
3
- script: "bundle exec rake clean spec"
4
-
5
- rvm:
6
- - 2.6
7
- - 2.7
8
- - 3.0
9
-
10
- gemfile:
11
- - Gemfile
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,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
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