html-proofer-mailto_awesome 1.0.6 → 2.0.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: 6774a7d7ae064cad6e905dacdac112cc4bb6d57eb6fb5d73fff581641a9b4ded
4
- data.tar.gz: 74b86c00f139f98be460132271e573e6b20a48ff78bf6be260cf2ce8520e70c5
3
+ metadata.gz: 9833f8b94e76e14326e0f45a5db0231477a8384e0d84496265d94f412078716d
4
+ data.tar.gz: 2ecd2f2141de8b9f56b7a7c85cb11b17ca2f3bc3efb29041217adf019c98c841
5
5
  SHA512:
6
- metadata.gz: 4a2a0bf3339553beff2ce484913a73145f3b9efd8b6176a0412aa730a9830e5979509793c36885902177978d52400afee8629d9271fc7f7e2a5f17ebe03b20bb
7
- data.tar.gz: b487ec54c99e73222191bf38727d93967b8b6bfa15e10cef45815a2bcbc3060e0cc12e9897dccd7aae73b839bcfe4f4f58f02ae26020926fd876a66db5b0d2c1
6
+ metadata.gz: 33c400bd890f48c071815d5d2dfa14d8892e502c7c72617be6c9525c67dabd4bf13c1a6f66052939ae6eaede31050a726a36a20e84dacac0cb71d8dea7306018
7
+ data.tar.gz: 3953271fb34870739b71a4a37976e853c54feb9408a6df6a4355e70d017dd374011e6ce1bd6da9dd2edf9fbca08230f60cae573415d520fbc655f24e09767b3c
data/.github/FUNDING.yml CHANGED
@@ -1,4 +1,4 @@
1
1
  # These are supported funding model platforms
2
2
 
3
3
  github: [fulldecent]
4
- custom: ["https://www.paypal.me/fulldecent", "https://amazon.com/hz/wishlist/ls/EE78A23EEGQB"]
4
+ custom: ["https://www.paypal.me/fulldecent"]
@@ -22,15 +22,13 @@ jobs:
22
22
  runs-on: ubuntu-latest
23
23
  strategy:
24
24
  matrix:
25
- ruby-version: ['2.6', '2.7', '3.0']
26
-
25
+ # Only test currently supported Ruby versions: https://www.ruby-lang.org/en/downloads/branches/
26
+ ruby-version: ['3.1', '3.2', '3.3']
27
+ fail-fast: false
27
28
  steps:
28
- - uses: actions/checkout@v3
29
+ - uses: actions/checkout@v4
29
30
  - name: Set up Ruby
30
- # To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
31
- # change this to (see https://github.com/ruby/setup-ruby#versioning):
32
- # uses: ruby/setup-ruby@v1
33
- uses: ruby/setup-ruby@ee2113536afb7f793eed4ce60e8d3b26db912da4 # v1.127.0
31
+ uses: ruby/setup-ruby@v1
34
32
  with:
35
33
  ruby-version: ${{ matrix.ruby-version }}
36
34
  bundler-cache: true # runs 'bundle install' and caches installed gems automatically
data/Gemfile.lock CHANGED
@@ -1,29 +1,43 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- html-proofer-mailto_awesome (1.0.1)
4
+ html-proofer-mailto_awesome (2.0.0)
5
5
  html-proofer (~> 5.0, >= 5.0.4)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- Ascii85 (1.1.0)
11
- addressable (2.8.1)
12
- public_suffix (>= 2.0.2, < 6.0)
10
+ Ascii85 (2.0.1)
11
+ addressable (2.8.7)
12
+ public_suffix (>= 2.0.2, < 7.0)
13
13
  afm (0.2.2)
14
- async (2.3.1)
15
- console (~> 1.10)
16
- io-event (~> 1.1)
17
- timers (~> 4.1)
18
- console (1.16.2)
19
- fiber-local
20
- diff-lcs (1.5.0)
21
- ethon (0.16.0)
14
+ async (2.21.2)
15
+ console (~> 1.29)
16
+ fiber-annotation
17
+ io-event (~> 1.6, >= 1.6.5)
18
+ base64 (0.3.0)
19
+ bigdecimal (3.2.3)
20
+ console (1.30.2)
21
+ fiber-annotation
22
+ fiber-local (~> 1.1)
23
+ json
24
+ diff-lcs (1.6.2)
25
+ ethon (0.15.0)
22
26
  ffi (>= 1.15.0)
23
- ffi (1.15.5)
24
- fiber-local (1.0.0)
27
+ ffi (1.17.2-aarch64-linux-gnu)
28
+ ffi (1.17.2-aarch64-linux-musl)
29
+ ffi (1.17.2-arm-linux-gnu)
30
+ ffi (1.17.2-arm-linux-musl)
31
+ ffi (1.17.2-arm64-darwin)
32
+ ffi (1.17.2-x86_64-darwin)
33
+ ffi (1.17.2-x86_64-linux-gnu)
34
+ ffi (1.17.2-x86_64-linux-musl)
35
+ fiber-annotation (0.2.0)
36
+ fiber-local (1.1.0)
37
+ fiber-storage
38
+ fiber-storage (1.0.1)
25
39
  hashery (2.1.2)
26
- html-proofer (5.0.4)
40
+ html-proofer (5.0.10)
27
41
  addressable (~> 2.3)
28
42
  async (~> 2.1)
29
43
  nokogiri (~> 1.13)
@@ -32,54 +46,75 @@ GEM
32
46
  typhoeus (~> 1.3)
33
47
  yell (~> 2.0)
34
48
  zeitwerk (~> 2.5)
35
- io-event (1.1.6)
36
- mini_portile2 (2.8.1)
37
- nokogiri (1.14.2)
38
- mini_portile2 (~> 2.8.0)
49
+ io-event (1.11.2)
50
+ json (2.14.1)
51
+ nokogiri (1.18.10-aarch64-linux-gnu)
39
52
  racc (~> 1.4)
40
- pdf-reader (2.11.0)
41
- Ascii85 (~> 1.0)
42
- afm (~> 0.2.1)
53
+ nokogiri (1.18.10-aarch64-linux-musl)
54
+ racc (~> 1.4)
55
+ nokogiri (1.18.10-arm-linux-gnu)
56
+ racc (~> 1.4)
57
+ nokogiri (1.18.10-arm-linux-musl)
58
+ racc (~> 1.4)
59
+ nokogiri (1.18.10-arm64-darwin)
60
+ racc (~> 1.4)
61
+ nokogiri (1.18.10-x86_64-darwin)
62
+ racc (~> 1.4)
63
+ nokogiri (1.18.10-x86_64-linux-gnu)
64
+ racc (~> 1.4)
65
+ nokogiri (1.18.10-x86_64-linux-musl)
66
+ racc (~> 1.4)
67
+ pdf-reader (2.15.0)
68
+ Ascii85 (>= 1.0, < 3.0, != 2.0.0)
69
+ afm (>= 0.2.1, < 2)
43
70
  hashery (~> 2.0)
44
71
  ruby-rc4
45
72
  ttfunk
46
- public_suffix (5.0.1)
47
- racc (1.6.2)
73
+ public_suffix (6.0.2)
74
+ racc (1.8.1)
48
75
  rainbow (3.1.1)
49
- rake (13.0.6)
50
- rspec (3.12.0)
51
- rspec-core (~> 3.12.0)
52
- rspec-expectations (~> 3.12.0)
53
- rspec-mocks (~> 3.12.0)
54
- rspec-core (3.12.1)
55
- rspec-support (~> 3.12.0)
56
- rspec-expectations (3.12.2)
76
+ rake (13.3.0)
77
+ rspec (3.13.1)
78
+ rspec-core (~> 3.13.0)
79
+ rspec-expectations (~> 3.13.0)
80
+ rspec-mocks (~> 3.13.0)
81
+ rspec-core (3.13.5)
82
+ rspec-support (~> 3.13.0)
83
+ rspec-expectations (3.13.5)
57
84
  diff-lcs (>= 1.2.0, < 2.0)
58
- rspec-support (~> 3.12.0)
59
- rspec-mocks (3.12.3)
85
+ rspec-support (~> 3.13.0)
86
+ rspec-mocks (3.13.5)
60
87
  diff-lcs (>= 1.2.0, < 2.0)
61
- rspec-support (~> 3.12.0)
62
- rspec-support (3.12.0)
88
+ rspec-support (~> 3.13.0)
89
+ rspec-support (3.13.6)
63
90
  ruby-rc4 (0.1.5)
64
- timecop (0.9.6)
65
- timers (4.3.5)
66
- ttfunk (1.7.0)
67
- typhoeus (1.4.0)
68
- ethon (>= 0.9.0)
69
- vcr (6.1.0)
91
+ timecop (0.9.10)
92
+ ttfunk (1.8.0)
93
+ bigdecimal (~> 3.1)
94
+ typhoeus (1.5.0)
95
+ ethon (>= 0.9.0, < 0.16.0)
96
+ vcr (6.3.1)
97
+ base64
70
98
  yell (2.2.2)
71
- zeitwerk (2.6.7)
99
+ zeitwerk (2.6.18)
72
100
 
73
101
  PLATFORMS
74
- ruby
102
+ aarch64-linux-gnu
103
+ aarch64-linux-musl
104
+ arm-linux-gnu
105
+ arm-linux-musl
106
+ arm64-darwin
107
+ x86_64-darwin
108
+ x86_64-linux-gnu
109
+ x86_64-linux-musl
75
110
 
76
111
  DEPENDENCIES
77
- bundler (~> 2.0.2)
112
+ bundler (>= 2.0)
78
113
  html-proofer-mailto_awesome!
79
- rake (~> 13.0.6)
80
- rspec (~> 3.12, >= 3.12.0)
81
- timecop (~> 0.9, >= 0.9.6)
82
- vcr (~> 6.1, >= 6.1.0)
114
+ rake (>= 13.0)
115
+ rspec (~> 3.12)
116
+ timecop (~> 0.9)
117
+ vcr (~> 6.1)
83
118
 
84
119
  BUNDLED WITH
85
- 2.0.2
120
+ 2.6.9
data/README.md CHANGED
@@ -7,13 +7,13 @@ A custom [html-proofer](https://github.com/gjtorikian/html-proofer) test that ma
7
7
 
8
8
  We should use awesome links as psychological warfare against users. Users will send us emails with stupid or annoying content that we don't want. At big companies (like Amazon) they have abandoned email altogether because of this reason. So instead we prefill the email with the message we want to receive. It takes active cognitive effort for the user to put in their unwanted message.
9
9
 
10
- For example, this is a not-awesome `mailto` link:
10
+ For example, this is a not-awesome `mailto` link:
11
11
 
12
12
  ```html
13
13
  <a href="mailto:support@pacificmedicaltraining.com">Email us</a>
14
14
  ```
15
15
 
16
- This is an awesome link:
16
+ This is an awesome link:
17
17
 
18
18
  ```html
19
19
  <a href="mailto:support@pacificmedicaltraining.com?subject=Signing up&amp;body=Hello,\nI'd like to sign up for your course, can you please send me more information.">Email us</a>
@@ -77,4 +77,4 @@ gem bump
77
77
  rm html-proofer-mailto_awesome-*.gem
78
78
  gem build html-proofer-mailto_awesome.gemspec
79
79
  gem push html-proofer-mailto_awesome-*.gem
80
- ```
80
+ ```
@@ -21,10 +21,20 @@ Gem::Specification.new do |spec|
21
21
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
22
22
  spec.require_paths = ["lib"]
23
23
 
24
- spec.add_development_dependency "bundler", "~> 2.0.2"
25
- spec.add_development_dependency "rake", "~> 13.0.6"
24
+ # Minimum Ruby version supported by the Ruby project: https://www.ruby-lang.org/en/downloads/branches/
25
+ spec.required_ruby_version = ">= 3.1.0"
26
+
27
+ spec.metadata = {
28
+ "bug_tracker_uri" => "https://github.com/fulldecent/html-proofer-mailto_awesome/issues",
29
+ "source_code_uri" => "https://github.com/fulldecent/html-proofer-mailto_awesome",
30
+ "homepage_uri" => "https://github.com/fulldecent/html-proofer-mailto_awesome",
31
+ "rubygems_mfa_required" => "true"
32
+ }
33
+
34
+ spec.add_development_dependency "bundler", ">= 2.0"
35
+ spec.add_development_dependency "rake", ">= 13.0"
26
36
  spec.add_runtime_dependency 'html-proofer', '~> 5.0', '>= 5.0.4'
27
- spec.add_development_dependency 'rspec', '~> 3.12', '>= 3.12.0'
28
- spec.add_development_dependency 'vcr', '~> 6.1', '>= 6.1.0'
29
- spec.add_development_dependency 'timecop', '~> 0.9', '>= 0.9.6'
37
+ spec.add_development_dependency 'rspec', '~> 3.12'
38
+ spec.add_development_dependency 'vcr', '~> 6.1'
39
+ spec.add_development_dependency 'timecop', '~> 0.9'
30
40
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module MailtoAwesome
2
- VERSION = "1.0.6"
4
+ VERSION = "2.0.0"
3
5
  end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "html/proofer/mailto_awesome/version"
4
+ require_relative "mailto_awesome"
5
+
6
+ module HTMLProofer
7
+ module MailtoAwesome
8
+ class Error < StandardError; end
9
+ end
10
+ end
@@ -1,32 +1,31 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "html/proofer/mailto_awesome/version"
2
4
 
3
- module Html
4
- module Proofer
5
- module MailtoAwesome
6
- class Error < StandardError; end
7
- class MailToAwesome < ::HTMLProofer::Check
8
- def mailto?
9
- return false if @link.ignore? || @link.href.nil?
10
- @link.href.match /^mailto:/i
11
- end
12
-
13
- def awesome?
14
- @link.href.downcase.include? 'subject=' and @link.href.downcase.include? 'body='
15
- end
16
-
17
- def run
18
- return unless @options[:check_mailto_awesome]
19
- @html.css('a').each do |node|
20
- @link = create_element(node)
21
- line = node.line
22
- content = node.to_s
23
-
24
- if mailto? && !awesome?
25
- add_issue("This is a not-awesome mailto link!", line: line, content: content)
26
- end
5
+ module HTMLProofer
6
+ class Check
7
+ class MailtoAwesome < HTMLProofer::Check
8
+ def mailto?
9
+ return false if @link.ignore? || @link.href.nil?
10
+ @link.href.match(/^mailto:/i)
11
+ end
12
+
13
+ def awesome?
14
+ @link.href.downcase.include?('subject=') && @link.href.downcase.include?('body=')
15
+ end
16
+
17
+ def run
18
+ # Check if the mailto awesome check is enabled via runner options
19
+ return unless @runner && @runner.instance_variable_get('@options')&.fetch(:check_mailto_awesome, false)
20
+
21
+ @html.css('a').each do |node|
22
+ @link = create_element(node)
23
+
24
+ if mailto? && !awesome?
25
+ add_failure("This is a not-awesome mailto link!", element: @link)
27
26
  end
28
27
  end
29
- end
28
+ end
30
29
  end
31
30
  end
32
31
  end
metadata CHANGED
@@ -1,43 +1,42 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: html-proofer-mailto_awesome
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.6
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - William Entriken
8
- autorequire:
9
8
  bindir: exe
10
9
  cert_chain: []
11
- date: 2023-02-16 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: bundler
15
14
  requirement: !ruby/object:Gem::Requirement
16
15
  requirements:
17
- - - "~>"
16
+ - - ">="
18
17
  - !ruby/object:Gem::Version
19
- version: 2.0.2
18
+ version: '2.0'
20
19
  type: :development
21
20
  prerelease: false
22
21
  version_requirements: !ruby/object:Gem::Requirement
23
22
  requirements:
24
- - - "~>"
23
+ - - ">="
25
24
  - !ruby/object:Gem::Version
26
- version: 2.0.2
25
+ version: '2.0'
27
26
  - !ruby/object:Gem::Dependency
28
27
  name: rake
29
28
  requirement: !ruby/object:Gem::Requirement
30
29
  requirements:
31
- - - "~>"
30
+ - - ">="
32
31
  - !ruby/object:Gem::Version
33
- version: 13.0.6
32
+ version: '13.0'
34
33
  type: :development
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: 13.0.6
39
+ version: '13.0'
41
40
  - !ruby/object:Gem::Dependency
42
41
  name: html-proofer
43
42
  requirement: !ruby/object:Gem::Requirement
@@ -65,9 +64,6 @@ dependencies:
65
64
  - - "~>"
66
65
  - !ruby/object:Gem::Version
67
66
  version: '3.12'
68
- - - ">="
69
- - !ruby/object:Gem::Version
70
- version: 3.12.0
71
67
  type: :development
72
68
  prerelease: false
73
69
  version_requirements: !ruby/object:Gem::Requirement
@@ -75,9 +71,6 @@ dependencies:
75
71
  - - "~>"
76
72
  - !ruby/object:Gem::Version
77
73
  version: '3.12'
78
- - - ">="
79
- - !ruby/object:Gem::Version
80
- version: 3.12.0
81
74
  - !ruby/object:Gem::Dependency
82
75
  name: vcr
83
76
  requirement: !ruby/object:Gem::Requirement
@@ -85,9 +78,6 @@ dependencies:
85
78
  - - "~>"
86
79
  - !ruby/object:Gem::Version
87
80
  version: '6.1'
88
- - - ">="
89
- - !ruby/object:Gem::Version
90
- version: 6.1.0
91
81
  type: :development
92
82
  prerelease: false
93
83
  version_requirements: !ruby/object:Gem::Requirement
@@ -95,9 +85,6 @@ dependencies:
95
85
  - - "~>"
96
86
  - !ruby/object:Gem::Version
97
87
  version: '6.1'
98
- - - ">="
99
- - !ruby/object:Gem::Version
100
- version: 6.1.0
101
88
  - !ruby/object:Gem::Dependency
102
89
  name: timecop
103
90
  requirement: !ruby/object:Gem::Requirement
@@ -105,9 +92,6 @@ dependencies:
105
92
  - - "~>"
106
93
  - !ruby/object:Gem::Version
107
94
  version: '0.9'
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- version: 0.9.6
111
95
  type: :development
112
96
  prerelease: false
113
97
  version_requirements: !ruby/object:Gem::Requirement
@@ -115,9 +99,6 @@ dependencies:
115
99
  - - "~>"
116
100
  - !ruby/object:Gem::Version
117
101
  version: '0.9'
118
- - - ">="
119
- - !ruby/object:Gem::Version
120
- version: 0.9.6
121
102
  description: A custom html-proofer test that makes your mailto links awesome
122
103
  email: github.com@phor.net
123
104
  executables: []
@@ -136,13 +117,17 @@ files:
136
117
  - bin/console
137
118
  - bin/setup
138
119
  - html-proofer-mailto_awesome.gemspec
120
+ - lib/html-proofer-mailto_awesome.rb
139
121
  - lib/html/proofer/mailto_awesome/version.rb
140
122
  - lib/mailto_awesome.rb
141
123
  homepage: https://github.com/fulldecent/html-proofer-mailto_awesome
142
124
  licenses:
143
125
  - MIT
144
- metadata: {}
145
- post_install_message:
126
+ metadata:
127
+ bug_tracker_uri: https://github.com/fulldecent/html-proofer-mailto_awesome/issues
128
+ source_code_uri: https://github.com/fulldecent/html-proofer-mailto_awesome
129
+ homepage_uri: https://github.com/fulldecent/html-proofer-mailto_awesome
130
+ rubygems_mfa_required: 'true'
146
131
  rdoc_options: []
147
132
  require_paths:
148
133
  - lib
@@ -150,15 +135,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
150
135
  requirements:
151
136
  - - ">="
152
137
  - !ruby/object:Gem::Version
153
- version: '0'
138
+ version: 3.1.0
154
139
  required_rubygems_version: !ruby/object:Gem::Requirement
155
140
  requirements:
156
141
  - - ">="
157
142
  - !ruby/object:Gem::Version
158
143
  version: '0'
159
144
  requirements: []
160
- rubygems_version: 3.3.7
161
- signing_key:
145
+ rubygems_version: 3.6.9
162
146
  specification_version: 4
163
147
  summary: Checker for mailto links
164
148
  test_files: []