indieweb-endpoints 8.0.0 → 9.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -1
- data/CONTRIBUTING.md +7 -7
- data/README.md +14 -22
- data/indieweb-endpoints.gemspec +21 -20
- data/lib/indieweb/endpoints/client.rb +9 -8
- data/lib/indieweb/endpoints/parser.rb +3 -3
- data/lib/indieweb/endpoints/response_body_parser.rb +4 -4
- data/lib/indieweb/endpoints/response_headers_parser.rb +1 -1
- data/lib/indieweb/endpoints/version.rb +1 -1
- data/lib/indieweb/endpoints.rb +12 -9
- 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: 370058542f4dab2038574dc7fc35970351000f89c0cb9e26eb9f516d1e65fb1e
|
4
|
+
data.tar.gz: 397f0722f44609cfb10dfb6aa8c927007b37f182714eb1aa4fe0143044da5caf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4fe7c09096ecd71e46acf6dd793bb9c808332c657e3c85a077169fe5031493a3d103b060141ab30bae8ec4c3ff5eeb18c17e4223f68d6f5bc3f10bb03929818e
|
7
|
+
data.tar.gz: 4f6f3a2c4d5ad81280d2e4071b4aa817cd52dffeafb7b046624028d1235fff48e255c9f4d86846e2a8188733e218b304bead056b3b05e9647ac410b9247db560
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,9 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
-
|
3
|
+
> [!NOTE]
|
4
|
+
> From v9.0.0, changes are documented using [GitHub Releases](https://github.com/indieweb/indieweb-endpoints-ruby/releases). For a given release, metadata on RubyGems.org will link to that version's Release page.
|
5
|
+
|
6
|
+
## 8.0.0 / 2022-11-09
|
4
7
|
|
5
8
|
- Refactor `ResponseHeadersParser#results_for` to use `Enumerable#filter_map` (946ff3d)
|
6
9
|
- Update link-header-parser dependency constraint (4f093fb)
|
data/CONTRIBUTING.md
CHANGED
@@ -2,15 +2,15 @@
|
|
2
2
|
|
3
3
|
There are a couple ways you can help improve indieweb-endpoints-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
|
-
indieweb-endpoints-ruby is developed using Ruby
|
11
|
+
indieweb-endpoints-ruby is developed using Ruby 3.3.0 and is tested against additional Ruby versions using [GitHub Actions](https://github.com/indieweb/indieweb-endpoints-ruby/actions).
|
12
12
|
|
13
|
-
Before making changes to indieweb-endpoints-ruby, you'll want to install Ruby
|
13
|
+
Before making changes to indieweb-endpoints-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,36 +4,28 @@
|
|
4
4
|
|
5
5
|
[![Gem](https://img.shields.io/gem/v/indieweb-endpoints.svg?logo=rubygems&style=for-the-badge)](https://rubygems.org/gems/indieweb-endpoints)
|
6
6
|
[![Downloads](https://img.shields.io/gem/dt/indieweb-endpoints.svg?logo=rubygems&style=for-the-badge)](https://rubygems.org/gems/indieweb-endpoints)
|
7
|
-
[![Build](https://img.shields.io/github/workflow/status/indieweb/indieweb-endpoints-ruby/
|
8
|
-
[![Maintainability](https://img.shields.io/codeclimate/maintainability/indieweb/indieweb-endpoints-ruby.svg?logo=code-climate&style=for-the-badge)](https://codeclimate.com/github/indieweb/indieweb-endpoints-ruby)
|
9
|
-
[![Coverage](https://img.shields.io/codeclimate/c/indieweb/indieweb-endpoints-ruby.svg?logo=code-climate&style=for-the-badge)](https://codeclimate.com/github/indieweb/indieweb-endpoints-ruby/code)
|
7
|
+
[![Build](https://img.shields.io/github/actions/workflow/status/indieweb/indieweb-endpoints-ruby/ci.yml?branch=main&logo=github&style=for-the-badge)](https://github.com/indieweb/indieweb-endpoints-ruby/actions/workflows/ci.yml)
|
10
8
|
|
11
9
|
## Key Features
|
12
10
|
|
13
11
|
- Compliant with [Section 4.1](https://www.w3.org/TR/indieauth/#discovery-by-clients) and [Section 4.2.2](https://www.w3.org/TR/indieauth/#redirect-url) of [the W3C's IndieAuth Working Group Note](https://www.w3.org/TR/indieauth/), [Section 5.3](https://www.w3.org/TR/micropub/#endpoint-discovery) of [the W3C's Micropub Recommendation](https://www.w3.org/TR/micropub/), and [Section 3.1.2](https://www.w3.org/TR/webmention/#sender-discovers-receiver-webmention-endpoint) of [the W3C's Webmention Recommendation](https://www.w3.org/TR/webmention/).
|
14
12
|
- Passes all Endpoint Discovery tests on [webmention.rocks](https://webmention.rocks).
|
15
|
-
- Supports Ruby
|
13
|
+
- Supports Ruby 3.0 and newer.
|
16
14
|
|
17
15
|
## Getting Started
|
18
16
|
|
19
|
-
Before installing and using indieweb-endpoints-ruby, you'll want to have [Ruby](https://www.ruby-lang.org)
|
17
|
+
Before installing and using indieweb-endpoints-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.
|
20
18
|
|
21
|
-
indieweb-endpoints-ruby is developed using Ruby
|
19
|
+
indieweb-endpoints-ruby is developed using Ruby 3.3.0 and is tested against additional Ruby versions using [GitHub Actions](https://github.com/indieweb/indieweb-endpoints-ruby/actions).
|
22
20
|
|
23
21
|
## Installation
|
24
22
|
|
25
|
-
|
23
|
+
Add indieweb-endpoints-ruby to your project's `Gemfile` and run `bundle install`:
|
26
24
|
|
27
25
|
```ruby
|
28
|
-
source
|
26
|
+
source "https://rubygems.org"
|
29
27
|
|
30
|
-
gem
|
31
|
-
```
|
32
|
-
|
33
|
-
…and hop over to your command prompt and run…
|
34
|
-
|
35
|
-
```sh
|
36
|
-
$ bundle install
|
28
|
+
gem "indieweb-endpoints"
|
37
29
|
```
|
38
30
|
|
39
31
|
## Usage
|
@@ -43,9 +35,9 @@ $ bundle install
|
|
43
35
|
With indieweb-endpoints-ruby added to your project's `Gemfile` and installed, you may discover a URL's IndieWeb-relevant endpoints by doing:
|
44
36
|
|
45
37
|
```ruby
|
46
|
-
require
|
38
|
+
require "indieweb/endpoints"
|
47
39
|
|
48
|
-
IndieWeb::Endpoints.get(
|
40
|
+
IndieWeb::Endpoints.get("https://aaronparecki.com")
|
49
41
|
#=> { authorization_endpoint: "https://aaronparecki.com/auth", "indieauth-metadata": "https://aaronparecki.com/.well-known/oauth-authorization-server", micropub: "https://aaronparecki.com/micropub", microsub: "https://aperture.p3k.io/microsub/1", redirect_uri: nil, token_endpoint: "https://aaronparecki.com/auth/token", webmention: "https://webmention.io/aaronpk/webmention" }
|
50
42
|
```
|
51
43
|
|
@@ -56,9 +48,9 @@ This example will search `https://aaronparecki.com` for valid IndieAuth, Micropu
|
|
56
48
|
Should the need arise, you may work with the `IndieWeb::Endpoints::Client` class:
|
57
49
|
|
58
50
|
```ruby
|
59
|
-
require
|
51
|
+
require "indieweb/endpoints"
|
60
52
|
|
61
|
-
client = IndieWeb::Endpoints::Client.new(
|
53
|
+
client = IndieWeb::Endpoints::Client.new("https://aaronparecki.com")
|
62
54
|
#=> #<IndieWeb::Endpoints::Client uri: "https://aaronparecki.com">
|
63
55
|
|
64
56
|
client.response
|
@@ -80,13 +72,13 @@ From [httprb/http](https://github.com/httprb/http):
|
|
80
72
|
|
81
73
|
- `IndieWeb::Endpoints::HttpError`
|
82
74
|
|
83
|
-
From the Ruby Standard Library's [`OpenSSL::SSL::SSLError`](https://ruby-doc.org/
|
75
|
+
From the Ruby Standard Library's [`OpenSSL::SSL::SSLError`](https://ruby-doc.org/3.3.0/exts/openssl/OpenSSL/SSL/SSLError.html):
|
84
76
|
|
85
77
|
- `IndieWeb::Endpoints::SSLError`
|
86
78
|
|
87
79
|
## Contributing
|
88
80
|
|
89
|
-
|
81
|
+
See [CONTRIBUTING.md](https://github.com/indieweb/indieweb-endpoints-ruby/blob/main/CONTRIBUTING.md) for more on how to contribute to indieweb-endpoints-ruby. Your help is greatly appreciated!
|
90
82
|
|
91
83
|
By contributing to and participating in the development of indieweb-endpoints-ruby, you acknowledge that you have read and agree to the [IndieWeb Code of Conduct](https://indieweb.org/code-of-conduct).
|
92
84
|
|
@@ -98,4 +90,4 @@ indieweb-endpoints-ruby is written and maintained by [Jason Garber](https://sixt
|
|
98
90
|
|
99
91
|
## License
|
100
92
|
|
101
|
-
indieweb-endpoints-ruby is freely available under the [MIT License](https://opensource.org/licenses/MIT).
|
93
|
+
indieweb-endpoints-ruby is freely available under the [MIT License](https://opensource.org/licenses/MIT).
|
data/indieweb-endpoints.gemspec
CHANGED
@@ -1,33 +1,34 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative
|
3
|
+
require_relative "lib/indieweb/endpoints/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 = "indieweb-endpoints"
|
9
|
+
spec.version = IndieWeb::Endpoints::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 = "Discover a URL’s IndieAuth, Micropub, Microsub, and Webmention endpoints."
|
14
|
+
spec.description = spec.summary
|
15
|
+
spec.homepage = "https://github.com/indieweb/indieweb-endpoints-ruby"
|
16
|
+
spec.license = "MIT"
|
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 CODE_OF_CONDUCT.md CONTRIBUTING.md README.md]
|
20
|
+
spec.files += %w[indieweb-endpoints.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 "link-header-parser", "~> 5.1"
|
33
|
+
spec.add_runtime_dependency "nokogiri", ">= 1.16"
|
33
34
|
end
|
@@ -4,8 +4,8 @@ module IndieWeb
|
|
4
4
|
module Endpoints
|
5
5
|
class Client
|
6
6
|
HTTP_HEADERS_OPTS = {
|
7
|
-
accept:
|
8
|
-
user_agent:
|
7
|
+
accept: "*/*",
|
8
|
+
user_agent: "IndieWeb Endpoint Discovery (https://rubygems.org/gems/indieweb-endpoints)"
|
9
9
|
}.freeze
|
10
10
|
|
11
11
|
private_constant :HTTP_HEADERS_OPTS
|
@@ -13,7 +13,7 @@ module IndieWeb
|
|
13
13
|
# Create a new client with a URL to parse for IndieWeb endpoints.
|
14
14
|
#
|
15
15
|
# @example
|
16
|
-
# client = IndieWeb::Endpoints::Client.new(
|
16
|
+
# client = IndieWeb::Endpoints::Client.new("https://aaronparecki.com")
|
17
17
|
#
|
18
18
|
# @param url [String, HTTP::URI, #to_s] an absolute URL
|
19
19
|
# @raise [IndieWeb::Endpoints::InvalidURIError]
|
@@ -25,7 +25,7 @@ module IndieWeb
|
|
25
25
|
|
26
26
|
# @return [String]
|
27
27
|
def inspect
|
28
|
-
%(#<#{self.class.name}:#{format(
|
28
|
+
%(#<#{self.class.name}:#{format("%#0x", object_id)} uri: "#{uri}">)
|
29
29
|
end
|
30
30
|
|
31
31
|
# A Hash of the discovered IndieWeb endpoints from the provided URL.
|
@@ -40,10 +40,11 @@ module IndieWeb
|
|
40
40
|
# @return [HTTP::Response]
|
41
41
|
# @raise [IndieWeb::Endpoints::HttpError, IndieWeb::Endpoints::SSLError]
|
42
42
|
def response
|
43
|
-
@response ||= HTTP
|
44
|
-
|
45
|
-
|
46
|
-
|
43
|
+
@response ||= HTTP
|
44
|
+
.follow(max_hops: 20)
|
45
|
+
.headers(HTTP_HEADERS_OPTS)
|
46
|
+
.timeout(connect: 5, read: 5)
|
47
|
+
.get(uri)
|
47
48
|
rescue HTTP::Error => e
|
48
49
|
raise HttpError, e
|
49
50
|
rescue OpenSSL::SSL::SSLError => e
|
@@ -13,7 +13,7 @@ module IndieWeb
|
|
13
13
|
def results
|
14
14
|
{
|
15
15
|
authorization_endpoint: result_for(:authorization_endpoint),
|
16
|
-
|
16
|
+
"indieauth-metadata": result_for(:"indieauth-metadata"),
|
17
17
|
micropub: result_for(:micropub),
|
18
18
|
microsub: result_for(:microsub),
|
19
19
|
redirect_uri: results_for(:redirect_uri),
|
@@ -40,7 +40,7 @@ module IndieWeb
|
|
40
40
|
# @param identifier [Symbol]
|
41
41
|
# @param nodes [Array<String>]
|
42
42
|
# @return [String, nil]
|
43
|
-
def result_for(identifier, nodes = [
|
43
|
+
def result_for(identifier, nodes = ["link"])
|
44
44
|
results_for(identifier, nodes)&.first
|
45
45
|
end
|
46
46
|
|
@@ -48,7 +48,7 @@ module IndieWeb
|
|
48
48
|
# @param nodes [Array<String>]
|
49
49
|
# @return [Array<String>, nil]
|
50
50
|
# @raise [IndieWeb::Endpoints::InvalidURIError]
|
51
|
-
def results_for(identifier, nodes = [
|
51
|
+
def results_for(identifier, nodes = ["link"])
|
52
52
|
results_from_request = [
|
53
53
|
response_headers_parser.results_for(identifier),
|
54
54
|
response_body_parser.results_for(identifier, nodes)
|
@@ -14,13 +14,13 @@ module IndieWeb
|
|
14
14
|
# @param identifier [Symbol]
|
15
15
|
# @param nodes [Array<String>]
|
16
16
|
# @return [Array<string>, nil]
|
17
|
-
def results_for(identifier, nodes = [
|
18
|
-
return unless mime_type ==
|
17
|
+
def results_for(identifier, nodes = ["link"])
|
18
|
+
return unless mime_type == "text/html"
|
19
19
|
|
20
20
|
# Reject endpoints that contain a fragment identifier
|
21
|
-
selectors = nodes.map { |node| %(#{node}[rel~="#{identifier}"][href]:not([href*="#"])) }.join(
|
21
|
+
selectors = nodes.map { |node| %(#{node}[rel~="#{identifier}"][href]:not([href*="#"])) }.join(",")
|
22
22
|
|
23
|
-
parsed_body.css(selectors).map { |element| element[
|
23
|
+
parsed_body.css(selectors).map { |element| element["href"] }
|
24
24
|
end
|
25
25
|
|
26
26
|
private
|
data/lib/indieweb/endpoints.rb
CHANGED
@@ -1,21 +1,24 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require
|
4
|
-
require
|
5
|
-
require
|
3
|
+
require "http"
|
4
|
+
require "link-header-parser"
|
5
|
+
require "nokogiri"
|
6
6
|
|
7
|
-
require_relative
|
7
|
+
require_relative "endpoints/version"
|
8
8
|
|
9
|
-
require_relative
|
10
|
-
require_relative
|
11
|
-
require_relative
|
12
|
-
require_relative
|
9
|
+
require_relative "endpoints/client"
|
10
|
+
require_relative "endpoints/parser"
|
11
|
+
require_relative "endpoints/response_body_parser"
|
12
|
+
require_relative "endpoints/response_headers_parser"
|
13
13
|
|
14
14
|
module IndieWeb
|
15
15
|
module Endpoints
|
16
16
|
class Error < StandardError; end
|
17
|
+
|
17
18
|
class HttpError < Error; end
|
19
|
+
|
18
20
|
class InvalidURIError < Error; end
|
21
|
+
|
19
22
|
class SSLError < Error; end
|
20
23
|
|
21
24
|
# Discover a URL's IndieAuth, Micropub, Microsub, and Webmention endpoints.
|
@@ -23,7 +26,7 @@ module IndieWeb
|
|
23
26
|
# Convenience method for {IndieWeb::Endpoints::Client#endpoints}.
|
24
27
|
#
|
25
28
|
# @example
|
26
|
-
# IndieWeb::Endpoints.get(
|
29
|
+
# IndieWeb::Endpoints.get("https://aaronparecki.com")
|
27
30
|
#
|
28
31
|
# @param (see IndieWeb::Endpoints::Client#endpoints)
|
29
32
|
# @return (see IndieWeb::Endpoints::Client#endpoints)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: indieweb-endpoints
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 9.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: link-header-parser
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '5.
|
33
|
+
version: '5.1'
|
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: '5.
|
40
|
+
version: '5.1'
|
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: Discover a URL’s IndieAuth, Micropub, Microsub, and Webmention endpoints.
|
56
56
|
email:
|
57
57
|
- jason@sixtwothree.org
|
@@ -76,8 +76,9 @@ licenses:
|
|
76
76
|
- MIT
|
77
77
|
metadata:
|
78
78
|
bug_tracker_uri: https://github.com/indieweb/indieweb-endpoints-ruby/issues
|
79
|
-
changelog_uri: https://github.com/indieweb/indieweb-endpoints-ruby/
|
79
|
+
changelog_uri: https://github.com/indieweb/indieweb-endpoints-ruby/releases/tag/v9.0.0
|
80
80
|
rubygems_mfa_required: 'true'
|
81
|
+
source_code_uri: https://github.com/indieweb/indieweb-endpoints-ruby/tree/v9.0.0
|
81
82
|
post_install_message:
|
82
83
|
rdoc_options: []
|
83
84
|
require_paths:
|
@@ -86,17 +87,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
86
87
|
requirements:
|
87
88
|
- - ">="
|
88
89
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
90
|
-
- - "<"
|
91
|
-
- !ruby/object:Gem::Version
|
92
|
-
version: '4'
|
90
|
+
version: '3.0'
|
93
91
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
94
92
|
requirements:
|
95
93
|
- - ">="
|
96
94
|
- !ruby/object:Gem::Version
|
97
95
|
version: '0'
|
98
96
|
requirements: []
|
99
|
-
rubygems_version: 3.3
|
97
|
+
rubygems_version: 3.5.3
|
100
98
|
signing_key:
|
101
99
|
specification_version: 4
|
102
100
|
summary: Discover a URL’s IndieAuth, Micropub, Microsub, and Webmention endpoints.
|