indieweb-endpoints 7.2.0 → 8.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ee2f8e43786e217e42c08df7c1aeec438bd56aa9156d431c49bb8163216b6df7
4
- data.tar.gz: 8336092d579bee80500f14a0f278e584c70d20f5bd51cf46012e080fc64af944
3
+ metadata.gz: efd7555091687973a996b1914f1a739e7933381dc149d7b67babdf739f8c7c0b
4
+ data.tar.gz: 744cf8171f987add528d18713c2869c954fa9f227c84508ae1d7ad30ea4cba17
5
5
  SHA512:
6
- metadata.gz: 56fa47965f839f37ce65fb1d2d3445265c66b865d2d85486b45f3306b6e5c13b1e4c98d301f2507ebe72ed279e2dc5e1449c891fdbc4a6746ff9ca088f8b621d
7
- data.tar.gz: 320cfd2300bf0ae34d69031bb78eaabf0526105b5ed761f9c6f607585047ee81a72a347e9998cd06f366e636321d1ac32f345b1017ed8d634aa0620d65145a28
6
+ metadata.gz: a799aaede4a422adf01c660b7a7ed7b88b6d5907c7f30fef7bf6a12c1b50b2eba64c055ba7b47a3cb899e865552ae6ae124be657ebf7539dba6206baf7457c36
7
+ data.tar.gz: b6ebbaed9561e1b8773329f1782dad87c1a8415bd2849593ec529734eb07930bd9df52e55a9881cc3706003f7479f367cd001ab40802c216aee56c7c30e7926a
data/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 8.0.0 / unreleased
4
+
5
+ - Refactor `ResponseHeadersParser#results_for` to use `Enumerable#filter_map` (946ff3d)
6
+ - Update link-header-parser dependency constraint (4f093fb)
7
+ - **Breaking change:** Update development Ruby to 2.7.6 and minimum Ruby to 2.7 (593455d)
8
+
3
9
  ## 7.2.0 / 2022-10-04
4
10
 
5
11
  - Add support for `indieauth-metadata` endpoint (35cc950)
data/CONTRIBUTING.md CHANGED
@@ -8,9 +8,9 @@ There are a couple ways you can help improve indieweb-endpoints-ruby:
8
8
 
9
9
  ## Getting Started
10
10
 
11
- indieweb-endpoints-ruby is developed using Ruby 2.6.10 and is additionally tested against Ruby 2.7, 3.0, and 3.1 using [GitHub Actions](https://github.com/indieweb/indieweb-endpoints-ruby/actions).
11
+ indieweb-endpoints-ruby is developed using Ruby 2.7.6 and is additionally tested against Ruby 3.0 and 3.1 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 2.6.10. It's recommended that you use 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). Once you've installed Ruby 2.6.10 using your method of choice, install the project's gems by running:
13
+ Before making changes to indieweb-endpoints-ruby, you'll want to install Ruby 2.7.6. It's recommended that you use 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). Once you've installed Ruby 2.7.6 using your method of choice, install the project's gems by running:
14
14
 
15
15
  ```sh
16
16
  bundle install
data/README.md CHANGED
@@ -12,13 +12,13 @@
12
12
 
13
13
  - 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
14
  - Passes all Endpoint Discovery tests on [webmention.rocks](https://webmention.rocks).
15
- - Supports Ruby 2.6 and newer.
15
+ - Supports Ruby 2.7 and newer.
16
16
 
17
17
  ## Getting Started
18
18
 
19
- Before installing and using indieweb-endpoints-ruby, you'll want to have [Ruby](https://www.ruby-lang.org) 2.6 (or newer) installed. It's recommended that you use 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).
19
+ Before installing and using indieweb-endpoints-ruby, you'll want to have [Ruby](https://www.ruby-lang.org) 2.7 (or newer) installed. It's recommended that you use 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).
20
20
 
21
- indieweb-endpoints-ruby is developed using Ruby 2.6.10 and is additionally tested against Ruby 2.7, 3.0, and 3.1 using [GitHub Actions](https://github.com/indieweb/indieweb-endpoints-ruby/actions).
21
+ indieweb-endpoints-ruby is developed using Ruby 2.7.6 and is additionally tested against Ruby 3.0 and 3.1 using [GitHub Actions](https://github.com/indieweb/indieweb-endpoints-ruby/actions).
22
22
 
23
23
  ## Installation
24
24
 
@@ -80,7 +80,7 @@ From [httprb/http](https://github.com/httprb/http):
80
80
 
81
81
  - `IndieWeb::Endpoints::HttpError`
82
82
 
83
- From the Ruby Standard Library's [`OpenSSL::SSL::SSLError`](https://ruby-doc.org/stdlib-2.6.10/libdoc/openssl/rdoc/OpenSSL/SSL/SSLError.html):
83
+ From the Ruby Standard Library's [`OpenSSL::SSL::SSLError`](https://ruby-doc.org/stdlib-2.7.6/libdoc/openssl/rdoc/OpenSSL/SSL/SSLError.html):
84
84
 
85
85
  - `IndieWeb::Endpoints::SSLError`
86
86
 
@@ -3,7 +3,7 @@
3
3
  require_relative 'lib/indieweb/endpoints/version'
4
4
 
5
5
  Gem::Specification.new do |spec|
6
- spec.required_ruby_version = '>= 2.6', '< 4'
6
+ spec.required_ruby_version = '>= 2.7', '< 4'
7
7
 
8
8
  spec.name = 'indieweb-endpoints'
9
9
  spec.version = IndieWeb::Endpoints::VERSION
@@ -28,6 +28,6 @@ Gem::Specification.new do |spec|
28
28
  }
29
29
 
30
30
  spec.add_runtime_dependency 'http', '~> 5.0'
31
- spec.add_runtime_dependency 'link-header-parser', '~> 4.0'
32
- spec.add_runtime_dependency 'nokogiri', '~> 1.13'
31
+ spec.add_runtime_dependency 'link-header-parser', '~> 5.0'
32
+ spec.add_runtime_dependency 'nokogiri', '>= 1.13'
33
33
  end
@@ -8,6 +8,8 @@ module IndieWeb
8
8
  user_agent: 'IndieWeb Endpoint Discovery (https://rubygems.org/gems/indieweb-endpoints)'
9
9
  }.freeze
10
10
 
11
+ private_constant :HTTP_HEADERS_OPTS
12
+
11
13
  # Create a new client with a URL to parse for IndieWeb endpoints.
12
14
  #
13
15
  # @example
@@ -13,10 +13,10 @@ module IndieWeb
13
13
  # @param identifier [Symbol]
14
14
  # @return [Array<String>, nil]
15
15
  def results_for(identifier)
16
- return unless parsed_headers.key?(identifier)
17
-
18
16
  # Reject endpoints that contain a fragment identifier
19
- parsed_headers[identifier].reject { |header| HTTP::URI.parse(header.target_uri).fragment }.map(&:target_uri)
17
+ parsed_headers[identifier]&.filter_map do |header|
18
+ header.target_uri unless HTTP::URI.parse(header.target_uri).fragment
19
+ end
20
20
  end
21
21
 
22
22
  private
@@ -2,6 +2,6 @@
2
2
 
3
3
  module IndieWeb
4
4
  module Endpoints
5
- VERSION = '7.2.0'
5
+ VERSION = '8.0.0'
6
6
  end
7
7
  end
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: 7.2.0
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: 2022-10-04 00:00:00.000000000 Z
11
+ date: 2022-11-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: http
@@ -30,26 +30,26 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '4.0'
33
+ version: '5.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: '4.0'
40
+ version: '5.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
47
  version: '1.13'
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
54
  version: '1.13'
55
55
  description: Discover a URL’s IndieAuth, Micropub, Microsub, and Webmention endpoints.
@@ -76,7 +76,7 @@ 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/blob/v7.2.0/CHANGELOG.md
79
+ changelog_uri: https://github.com/indieweb/indieweb-endpoints-ruby/blob/v8.0.0/CHANGELOG.md
80
80
  rubygems_mfa_required: 'true'
81
81
  post_install_message:
82
82
  rdoc_options: []
@@ -86,7 +86,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - ">="
88
88
  - !ruby/object:Gem::Version
89
- version: '2.6'
89
+ version: '2.7'
90
90
  - - "<"
91
91
  - !ruby/object:Gem::Version
92
92
  version: '4'
@@ -96,7 +96,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
96
96
  - !ruby/object:Gem::Version
97
97
  version: '0'
98
98
  requirements: []
99
- rubygems_version: 3.3.12
99
+ rubygems_version: 3.3.16
100
100
  signing_key:
101
101
  specification_version: 4
102
102
  summary: Discover a URL’s IndieAuth, Micropub, Microsub, and Webmention endpoints.