webmention 7.0.0 → 8.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 +4 -4
- data/CHANGELOG.md +3 -0
- data/CONTRIBUTING.md +7 -7
- data/README.md +9 -15
- data/USAGE.md +9 -9
- data/lib/webmention/client.rb +15 -10
- data/lib/webmention/error_response.rb +1 -1
- data/lib/webmention/parsers/html_parser.rb +13 -12
- data/lib/webmention/parsers/json_parser.rb +1 -1
- data/lib/webmention/parsers/plaintext_parser.rb +1 -1
- data/lib/webmention/request.rb +4 -5
- data/lib/webmention/response.rb +1 -1
- data/lib/webmention/url.rb +1 -1
- data/lib/webmention/verification.rb +7 -6
- data/lib/webmention/version.rb +1 -1
- data/lib/webmention.rb +15 -15
- data/webmention.gemspec +21 -20
- metadata +12 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e4443988ec11a8c807bcaefa41a2838d7b9bfe9943ae9f53e28a155a9c6d7c68
|
4
|
+
data.tar.gz: 77147bbffe3370285afcc0e49f016912efd65d7e4904f67bd0ac802f72077385
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 26283df86f92e3e3f29d601878d3f604a92ae7e31af52d8d153d6c8b1ee13d94e064df906bed83e9cf2d6e27d7d7c89dc09f105862c30e5c999e5680a9eb6095
|
7
|
+
data.tar.gz: 450e7178e1d6354fae32b35e958692c7d6d25243b10dd52104f5c63a1cec09854d5e7d1be3570f707fef5298c163af1712dac1d5a458a4fa7d0e22165a673a23
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
> [!NOTE]
|
4
|
+
> From v8.0.0, changes are documented using [GitHub Releases](https://github.com/indieweb/webmention-client-ruby/releases). For a given release, metadata on RubyGems.org will link to that version's Release page.
|
5
|
+
|
3
6
|
## 7.0.0 / 2022-11-09
|
4
7
|
|
5
8
|
- Refactor HTML and JSON parser classes (ec58206 and 6818c05)
|
data/CONTRIBUTING.md
CHANGED
@@ -2,15 +2,15 @@
|
|
2
2
|
|
3
3
|
There are a couple ways you can help improve webmention-client-ruby:
|
4
4
|
|
5
|
-
1. Fix an existing [
|
6
|
-
1. Review open [
|
7
|
-
1. Report a new [
|
5
|
+
1. Fix an existing [Issue][issues] and submit a [Pull Request][pulls].
|
6
|
+
1. Review open [Pull Requests][pulls].
|
7
|
+
1. Report a new [Issue][issues]. _Only do this after you've made sure the behavior or problem you're observing isn't already documented in an open issue._
|
8
8
|
|
9
9
|
## Getting Started
|
10
10
|
|
11
|
-
webmention-client-ruby is developed using Ruby
|
11
|
+
webmention-client-ruby is developed using Ruby 3.3.0 and is tested against additional Ruby versions using [GitHub Actions](https://github.com/indieweb/webmention-client-ruby/actions).
|
12
12
|
|
13
|
-
Before making changes to webmention-client-ruby, you'll want to install Ruby
|
13
|
+
Before making changes to webmention-client-ruby, you'll want to install Ruby 3.3.0. Using a Ruby version managment tool like [rbenv](https://github.com/rbenv/rbenv), [chruby](https://github.com/postmodern/chruby), or [rvm](https://github.com/rvm/rvm) is recommended. Once you've installed Ruby 3.3.0 using your method of choice, install the project's gems by running:
|
14
14
|
|
15
15
|
```sh
|
16
16
|
bundle install
|
@@ -25,11 +25,11 @@ bundle install
|
|
25
25
|
1. If your changes would benefit from testing, add the necessary tests and verify everything passes by running `bundle exec rspec`.
|
26
26
|
1. Commit your changes: `git commit -am 'Add some new feature or fix some issue'`. _(See [this excellent article](https://chris.beams.io/posts/git-commit/) for tips on writing useful Git commit messages.)_
|
27
27
|
1. Push the branch to your fork: `git push -u origin my-new-feature`.
|
28
|
-
1. Create a new [
|
28
|
+
1. Create a new [Pull Request][pulls] and we'll review your changes.
|
29
29
|
|
30
30
|
## Code Style
|
31
31
|
|
32
|
-
Code formatting conventions are defined in the `.editorconfig` file which uses the [EditorConfig](http://editorconfig.org) syntax. There are [plugins for a variety of editors](http://editorconfig.org/#download) that utilize the settings in the `.editorconfig` file. We recommended
|
32
|
+
Code formatting conventions are defined in the `.editorconfig` file which uses the [EditorConfig](http://editorconfig.org) syntax. There are [plugins for a variety of editors](http://editorconfig.org/#download) that utilize the settings in the `.editorconfig` file. We recommended installing the EditorConfig plugin for your editor of choice.
|
33
33
|
|
34
34
|
Your bug fix or feature addition won't be rejected if it runs afoul of any (or all) of these guidelines, but following the guidelines will definitely make everyone's lives a little easier.
|
35
35
|
|
data/README.md
CHANGED
@@ -4,9 +4,7 @@
|
|
4
4
|
|
5
5
|
[](https://rubygems.org/gems/webmention)
|
6
6
|
[](https://rubygems.org/gems/webmention)
|
7
|
-
[](https://codeclimate.com/github/indieweb/webmention-client-ruby)
|
9
|
-
[](https://codeclimate.com/github/indieweb/webmention-client-ruby/code)
|
7
|
+
[](https://github.com/indieweb/webmention-client-ruby/actions/workflows/ci.yml)
|
10
8
|
|
11
9
|
## Key Features
|
12
10
|
|
@@ -17,24 +15,18 @@
|
|
17
15
|
|
18
16
|
## Getting Started
|
19
17
|
|
20
|
-
Before installing and using webmention-client-ruby, you'll want to have [Ruby](https://www.ruby-lang.org)
|
18
|
+
Before installing and using webmention-client-ruby, you'll want to have [Ruby](https://www.ruby-lang.org) 3.0 (or newer) installed. Using a Ruby version managment tool like [rbenv](https://github.com/rbenv/rbenv), [chruby](https://github.com/postmodern/chruby), or [rvm](https://github.com/rvm/rvm) is recommended.
|
21
19
|
|
22
|
-
webmention-client-ruby is developed using Ruby
|
20
|
+
webmention-client-ruby is developed using Ruby 3.0.0 and is tested against additional Ruby versions using [GitHub Actions](https://github.com/indieweb/webmention-client-ruby/actions).
|
23
21
|
|
24
22
|
## Installation
|
25
23
|
|
26
|
-
|
24
|
+
Add webmention-client-ruby to your project's `Gemfile` and run `bundle install`:
|
27
25
|
|
28
26
|
```ruby
|
29
|
-
|
30
|
-
```
|
31
|
-
|
32
|
-
…and run `bundle install` in your shell.
|
27
|
+
source "https://rubygems.org"
|
33
28
|
|
34
|
-
|
35
|
-
|
36
|
-
```sh
|
37
|
-
gem install webmention
|
29
|
+
gem "webmention-client"
|
38
30
|
```
|
39
31
|
|
40
32
|
## Usage
|
@@ -55,7 +47,9 @@ webmention-client-ruby was completely rewritten for version 6 to better support
|
|
55
47
|
|
56
48
|
## Contributing
|
57
49
|
|
58
|
-
|
50
|
+
See [CONTRIBUTING.md](https://github.com/indieweb/webmention-client-ruby/blob/main/CONTRIBUTING.md) for more on how to contribute to webmention-client-ruby. Your help is greatly appreciated!
|
51
|
+
|
52
|
+
By contributing to and participating in the development of webmention-client-ruby, you acknowledge that you have read and agree to the [IndieWeb Code of Conduct](https://indieweb.org/code-of-conduct).
|
59
53
|
|
60
54
|
## Acknowledgments
|
61
55
|
|
data/USAGE.md
CHANGED
@@ -7,10 +7,10 @@ Before using webmention-client-ruby, please read the [Getting Started](https://g
|
|
7
7
|
With webmention-client-ruby installed, you may send a webmention from a source URL to a target URL:
|
8
8
|
|
9
9
|
```ruby
|
10
|
-
require
|
10
|
+
require "webmention"
|
11
11
|
|
12
|
-
source =
|
13
|
-
target =
|
12
|
+
source = "https://jgarber.example/post/100" # A post on your website
|
13
|
+
target = "https://aaronpk.example/post/100" # A post on someone else's website
|
14
14
|
|
15
15
|
response = Webmention.send_webmention(source, target)
|
16
16
|
```
|
@@ -61,8 +61,8 @@ response.uri #=> HTTP::URI
|
|
61
61
|
To send webmentions to multiple target URLs mentioned by a source URL:
|
62
62
|
|
63
63
|
```ruby
|
64
|
-
source =
|
65
|
-
targets = [
|
64
|
+
source = "https://jgarber.example/post/100"
|
65
|
+
targets = ["https://aaronpk.example/notes/1", "https://adactio.example/notes/1"]
|
66
66
|
|
67
67
|
responses = Webmention.send_webmentions(source, targets)
|
68
68
|
```
|
@@ -75,10 +75,10 @@ webmention-client-ruby supports submitting a [vouch](https://indieweb.org/Vouch)
|
|
75
75
|
|
76
76
|
```ruby
|
77
77
|
# Send a webmention with a vouch URL to a target URL
|
78
|
-
Webmention.send_webmention(source, target, vouch:
|
78
|
+
Webmention.send_webmention(source, target, vouch: "https://tantek.example/notes/1")
|
79
79
|
|
80
80
|
# Send webmentions with a vouch URL to multiple target URLs
|
81
|
-
Webmention.send_webmentions(source, targets, vouch:
|
81
|
+
Webmention.send_webmentions(source, targets, vouch: "https://tantek.example/notes/1")
|
82
82
|
```
|
83
83
|
|
84
84
|
## Discovering mentioned URLs
|
@@ -86,7 +86,7 @@ Webmention.send_webmentions(source, targets, vouch: 'https://tantek.example/note
|
|
86
86
|
To retrieve unique URLs mentioned by a URL:
|
87
87
|
|
88
88
|
```ruby
|
89
|
-
urls = Webmention.mentioned_urls(
|
89
|
+
urls = Webmention.mentioned_urls("https://jgarber.example/post/100")
|
90
90
|
```
|
91
91
|
|
92
92
|
`Webmention.mentioned_urls` will crawl the provided URL, parse the response body, and return a sorted list of unique URLs. Response bodies are parsed using MIME type-specific rules as noted in the [Verifying a webmention](#verifying-a-webmention) section below.
|
@@ -129,7 +129,7 @@ verification = Webmention.verify_webmention(source, target)
|
|
129
129
|
|
130
130
|
# Verify that a source URL links to a target URL and that the vouch URL mentions
|
131
131
|
# the source URL's domain
|
132
|
-
verification = Webmention.verify_webmention(source, target, vouch:
|
132
|
+
verification = Webmention.verify_webmention(source, target, vouch: "https://tantek.example/notes/1")
|
133
133
|
```
|
134
134
|
|
135
135
|
`Webmention.verify_webmention` returns an instance of `Webmention::Verification` which includes the following methods (each returns either `true` or `false`):
|
data/lib/webmention/client.rb
CHANGED
@@ -43,7 +43,7 @@ module Webmention
|
|
43
43
|
# :nocov:
|
44
44
|
# @return [String]
|
45
45
|
def inspect
|
46
|
-
"#<#{self.class}:#{format(
|
46
|
+
"#<#{self.class}:#{format("%#0x", object_id)} " \
|
47
47
|
"source_url: #{source_url} " \
|
48
48
|
"vouch_url: #{vouch_url}>"
|
49
49
|
end
|
@@ -63,13 +63,16 @@ module Webmention
|
|
63
63
|
def mentioned_urls
|
64
64
|
response = source_url.response
|
65
65
|
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
66
|
+
urls = Set.new(
|
67
|
+
self.class
|
68
|
+
.registered_parsers[response.mime_type]
|
69
|
+
.new(response.body, response.uri)
|
70
|
+
.results
|
71
|
+
)
|
72
|
+
|
73
|
+
urls.reject! { |url| url.match(/^#{response.uri}(?:#.*)?$/) }
|
74
|
+
|
75
|
+
urls.to_a.sort
|
73
76
|
end
|
74
77
|
|
75
78
|
# Send a webmention from this client's source URL to a target URL.
|
@@ -136,8 +139,10 @@ module Webmention
|
|
136
139
|
vouch: vouch_url
|
137
140
|
}
|
138
141
|
|
139
|
-
opts.transform_values { |value| value.to_s.strip }
|
140
|
-
|
142
|
+
opts.transform_values! { |value| value.to_s.strip }
|
143
|
+
opts.reject! { |_, value| value.empty? }
|
144
|
+
|
145
|
+
opts
|
141
146
|
end
|
142
147
|
end
|
143
148
|
end
|
@@ -4,24 +4,24 @@ module Webmention
|
|
4
4
|
module Parsers
|
5
5
|
# @api private
|
6
6
|
class HtmlParser < Parser
|
7
|
-
@mime_types = [
|
7
|
+
@mime_types = ["text/html"]
|
8
8
|
|
9
9
|
Client.register_parser(self)
|
10
10
|
|
11
11
|
HTML_ATTRIBUTES_MAP = {
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
12
|
+
"cite" => %w[blockquote del ins q],
|
13
|
+
"data" => %w[object],
|
14
|
+
"href" => %w[a area],
|
15
|
+
"poster" => %w[video],
|
16
|
+
"src" => %w[audio embed img source track video],
|
17
|
+
"srcset" => %w[img source]
|
18
18
|
}.freeze
|
19
19
|
|
20
20
|
CSS_SELECTORS_ARRAY = HTML_ATTRIBUTES_MAP.flat_map do |attribute, names|
|
21
21
|
names.map { |name| "#{name}[#{attribute}]" }
|
22
22
|
end.freeze
|
23
23
|
|
24
|
-
ROOT_NODE_SELECTORS_ARRAY = [
|
24
|
+
ROOT_NODE_SELECTORS_ARRAY = [".h-entry .e-content", ".h-entry", "body"].freeze
|
25
25
|
|
26
26
|
private_constant :HTML_ATTRIBUTES_MAP
|
27
27
|
private_constant :CSS_SELECTORS_ARRAY
|
@@ -30,8 +30,9 @@ module Webmention
|
|
30
30
|
# @return [Array<String>] An array of absolute URLs.
|
31
31
|
def results
|
32
32
|
@results ||=
|
33
|
-
extract_urls_from(*url_attributes)
|
34
|
-
|
33
|
+
extract_urls_from(*url_attributes)
|
34
|
+
.map { |url| response_uri.join(url).to_s }
|
35
|
+
.grep(Parser::URI_REGEXP)
|
35
36
|
end
|
36
37
|
|
37
38
|
private
|
@@ -46,8 +47,8 @@ module Webmention
|
|
46
47
|
# @return [Array<String>]
|
47
48
|
def extract_urls_from(*attributes)
|
48
49
|
attributes.flat_map do |attribute|
|
49
|
-
if attribute.name ==
|
50
|
-
attribute.value.split(
|
50
|
+
if attribute.name == "srcset"
|
51
|
+
attribute.value.split(",").map { |value| value.strip.match(/^\S+/).to_s }
|
51
52
|
else
|
52
53
|
attribute.value
|
53
54
|
end
|
data/lib/webmention/request.rb
CHANGED
@@ -9,8 +9,8 @@ module Webmention
|
|
9
9
|
max_hops: 20
|
10
10
|
},
|
11
11
|
headers: {
|
12
|
-
accept:
|
13
|
-
user_agent:
|
12
|
+
accept: "*/*",
|
13
|
+
user_agent: "Webmention Client (https://rubygems.org/gems/webmention)"
|
14
14
|
},
|
15
15
|
timeout_options: {
|
16
16
|
connect_timeout: 5,
|
@@ -82,7 +82,7 @@ module Webmention
|
|
82
82
|
# :nocov:
|
83
83
|
# @return [String]
|
84
84
|
def inspect
|
85
|
-
"#<#{self.class}:#{format(
|
85
|
+
"#<#{self.class}:#{format("%#0x", object_id)} " \
|
86
86
|
"method: #{method.upcase}, " \
|
87
87
|
"url: #{uri}>"
|
88
88
|
end
|
@@ -93,8 +93,7 @@ module Webmention
|
|
93
93
|
# @return [Webmention::Response, Webmention::ErrorResponse]
|
94
94
|
def perform
|
95
95
|
Response.new(client.request(method, uri, options), self)
|
96
|
-
rescue HTTP::Error,
|
97
|
-
OpenSSL::SSL::SSLError => e
|
96
|
+
rescue HTTP::Error, OpenSSL::SSL::SSLError => e
|
98
97
|
ErrorResponse.new(e.message, self)
|
99
98
|
end
|
100
99
|
|
data/lib/webmention/response.rb
CHANGED
data/lib/webmention/url.rb
CHANGED
@@ -14,7 +14,7 @@ module Webmention
|
|
14
14
|
# :nocov:
|
15
15
|
# @return [String]
|
16
16
|
def inspect
|
17
|
-
"#<#{self.class}:#{format(
|
17
|
+
"#<#{self.class}:#{format("%#0x", object_id)} " \
|
18
18
|
"source_url: #{source_url} " \
|
19
19
|
"target_url: #{target_url} " \
|
20
20
|
"vouch_url: #{vouch_url}>"
|
@@ -61,7 +61,7 @@ module Webmention
|
|
61
61
|
#
|
62
62
|
# @return [Array<String>]
|
63
63
|
def mentioned_domains(response)
|
64
|
-
mentioned_urls(response).map { |url| HTTP::URI.parse(url).host }.
|
64
|
+
Set.new(mentioned_urls(response).map { |url| HTTP::URI.parse(url).host }).to_a
|
65
65
|
end
|
66
66
|
|
67
67
|
# @param response [Webmention::Response]
|
@@ -70,10 +70,11 @@ module Webmention
|
|
70
70
|
#
|
71
71
|
# @return [Array<String>]
|
72
72
|
def mentioned_urls(response)
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
73
|
+
Set.new(
|
74
|
+
Client.registered_parsers[response.mime_type]
|
75
|
+
.new(response.body, response.uri)
|
76
|
+
.results
|
77
|
+
).to_a
|
77
78
|
end
|
78
79
|
end
|
79
80
|
end
|
data/lib/webmention/version.rb
CHANGED
data/lib/webmention.rb
CHANGED
@@ -1,24 +1,24 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require
|
3
|
+
require "json"
|
4
4
|
|
5
|
-
require
|
6
|
-
require
|
7
|
-
require
|
5
|
+
require "http"
|
6
|
+
require "indieweb/endpoints"
|
7
|
+
require "nokogiri"
|
8
8
|
|
9
|
-
require_relative
|
9
|
+
require_relative "webmention/version"
|
10
10
|
|
11
|
-
require_relative
|
12
|
-
require_relative
|
13
|
-
require_relative
|
14
|
-
require_relative
|
15
|
-
require_relative
|
16
|
-
require_relative
|
11
|
+
require_relative "webmention/client"
|
12
|
+
require_relative "webmention/url"
|
13
|
+
require_relative "webmention/request"
|
14
|
+
require_relative "webmention/response"
|
15
|
+
require_relative "webmention/error_response"
|
16
|
+
require_relative "webmention/verification"
|
17
17
|
|
18
|
-
require_relative
|
19
|
-
require_relative
|
20
|
-
require_relative
|
21
|
-
require_relative
|
18
|
+
require_relative "webmention/parser"
|
19
|
+
require_relative "webmention/parsers/html_parser"
|
20
|
+
require_relative "webmention/parsers/json_parser"
|
21
|
+
require_relative "webmention/parsers/plaintext_parser"
|
22
22
|
|
23
23
|
module Webmention
|
24
24
|
# Retrieve unique URLs mentioned by the provided URL.
|
data/webmention.gemspec
CHANGED
@@ -1,33 +1,34 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative
|
3
|
+
require_relative "lib/webmention/version"
|
4
4
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
|
-
spec.required_ruby_version =
|
6
|
+
spec.required_ruby_version = ">= 3.0"
|
7
7
|
|
8
|
-
spec.name
|
9
|
-
spec.version
|
10
|
-
spec.authors
|
11
|
-
spec.email
|
8
|
+
spec.name = "webmention"
|
9
|
+
spec.version = Webmention::VERSION
|
10
|
+
spec.authors = ["Jason Garber"]
|
11
|
+
spec.email = ["jason@sixtwothree.org"]
|
12
12
|
|
13
|
-
spec.summary
|
14
|
-
spec.description
|
15
|
-
spec.homepage
|
16
|
-
spec.license
|
13
|
+
spec.summary = "Webmention notification client"
|
14
|
+
spec.description = "A Ruby gem for sending and verifying Webmention notifications."
|
15
|
+
spec.homepage = "https://github.com/indieweb/webmention-client-ruby"
|
16
|
+
spec.license = "Apache-2.0"
|
17
17
|
|
18
|
-
spec.files
|
19
|
-
spec.files
|
20
|
-
spec.files
|
18
|
+
spec.files = Dir["lib/**/*"].reject { |f| File.directory?(f) }
|
19
|
+
spec.files += %w[LICENSE CHANGELOG.md CONTRIBUTING.md README.md USAGE.md]
|
20
|
+
spec.files += %w[webmention.gemspec]
|
21
21
|
|
22
|
-
spec.require_paths = [
|
22
|
+
spec.require_paths = ["lib"]
|
23
23
|
|
24
24
|
spec.metadata = {
|
25
|
-
|
26
|
-
|
27
|
-
|
25
|
+
"bug_tracker_uri" => "#{spec.homepage}/issues",
|
26
|
+
"changelog_uri" => "#{spec.homepage}/releases/tag/v#{spec.version}",
|
27
|
+
"rubygems_mfa_required" => "true",
|
28
|
+
"source_code_uri" => "#{spec.homepage}/tree/v#{spec.version}"
|
28
29
|
}
|
29
30
|
|
30
|
-
spec.add_runtime_dependency
|
31
|
-
spec.add_runtime_dependency
|
32
|
-
spec.add_runtime_dependency
|
31
|
+
spec.add_runtime_dependency "http", "~> 5.2"
|
32
|
+
spec.add_runtime_dependency "indieweb-endpoints", "~> 9.0"
|
33
|
+
spec.add_runtime_dependency "nokogiri", ">= 1.16"
|
33
34
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: webmention
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 8.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jason Garber
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-03-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: http
|
@@ -16,42 +16,42 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '5.
|
19
|
+
version: '5.2'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '5.
|
26
|
+
version: '5.2'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: indieweb-endpoints
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '9.0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '9.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: nokogiri
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '1.
|
47
|
+
version: '1.16'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '1.
|
54
|
+
version: '1.16'
|
55
55
|
description: A Ruby gem for sending and verifying Webmention notifications.
|
56
56
|
email:
|
57
57
|
- jason@sixtwothree.org
|
@@ -82,8 +82,9 @@ licenses:
|
|
82
82
|
- Apache-2.0
|
83
83
|
metadata:
|
84
84
|
bug_tracker_uri: https://github.com/indieweb/webmention-client-ruby/issues
|
85
|
-
changelog_uri: https://github.com/indieweb/webmention-client-ruby/
|
85
|
+
changelog_uri: https://github.com/indieweb/webmention-client-ruby/releases/tag/v8.0.0
|
86
86
|
rubygems_mfa_required: 'true'
|
87
|
+
source_code_uri: https://github.com/indieweb/webmention-client-ruby/tree/v8.0.0
|
87
88
|
post_install_message:
|
88
89
|
rdoc_options: []
|
89
90
|
require_paths:
|
@@ -92,17 +93,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
92
93
|
requirements:
|
93
94
|
- - ">="
|
94
95
|
- !ruby/object:Gem::Version
|
95
|
-
version: '
|
96
|
-
- - "<"
|
97
|
-
- !ruby/object:Gem::Version
|
98
|
-
version: '4'
|
96
|
+
version: '3.0'
|
99
97
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
100
98
|
requirements:
|
101
99
|
- - ">="
|
102
100
|
- !ruby/object:Gem::Version
|
103
101
|
version: '0'
|
104
102
|
requirements: []
|
105
|
-
rubygems_version: 3.3
|
103
|
+
rubygems_version: 3.5.3
|
106
104
|
signing_key:
|
107
105
|
specification_version: 4
|
108
106
|
summary: Webmention notification client
|