indieweb-endpoints 2.0.0 → 3.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/.reek.yml +0 -5
- data/.rubocop.yml +2 -3
- data/.ruby-version +1 -1
- data/.simplecov +2 -0
- data/CHANGELOG.md +6 -0
- data/CONTRIBUTING.md +2 -2
- data/Gemfile +10 -0
- data/README.md +1 -1
- data/indieweb-endpoints.gemspec +10 -23
- data/lib/indieweb/endpoints.rb +1 -2
- data/lib/indieweb/endpoints/client.rb +1 -1
- data/lib/indieweb/endpoints/parsers.rb +5 -33
- data/lib/indieweb/endpoints/parsers/authorization_endpoint_parser.rb +1 -3
- data/lib/indieweb/endpoints/parsers/base_parser.rb +43 -0
- data/lib/indieweb/endpoints/parsers/micropub_parser.rb +1 -3
- data/lib/indieweb/endpoints/parsers/microsub_parser.rb +1 -3
- data/lib/indieweb/endpoints/parsers/redirect_uri_parser.rb +1 -3
- data/lib/indieweb/endpoints/parsers/token_endpoint_parser.rb +1 -3
- data/lib/indieweb/endpoints/parsers/webmention_parser.rb +2 -4
- data/lib/indieweb/endpoints/services/http_request_service.rb +7 -24
- data/lib/indieweb/endpoints/services/response_body_parser_service.rb +1 -1
- data/lib/indieweb/endpoints/services/response_headers_parser_service.rb +1 -1
- data/lib/indieweb/endpoints/version.rb +1 -1
- metadata +11 -137
- data/lib/indieweb/endpoints/concerns/registerable.rb +0 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5e5738ea28dd0ec5b0d473991732d7dccfc9f0375a91d25aab02d435b769fc01
|
4
|
+
data.tar.gz: 730bc87082fa7601804103a92bbfadde1b9a59ce697edff95adbf433df359169
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 18f837e57571ac559a9eff564e3330266168b1ff19a61df12989f1a951f48817c84eb830d64a251afcf0a2c7200ad0b8db9c54ab6076bf914d4b43028593e0e0
|
7
|
+
data.tar.gz: 3eff42bf94a9f8477a5cf86f20a0f9755b7adb228072fd2189808f6957fba849d17bcc59cef7e4195e29f2ab04deed219e48d08ede9a0d81f7e0035842638886
|
data/.reek.yml
CHANGED
@@ -1,11 +1,6 @@
|
|
1
1
|
detectors:
|
2
2
|
IrresponsibleModule:
|
3
3
|
enabled: false
|
4
|
-
UtilityFunction:
|
5
|
-
exclude:
|
6
|
-
- FixtureHelpers#read_fixture
|
7
|
-
- IndieWeb::Endpoints::Services::ResponseBodyParserService#parse
|
8
|
-
- IndieWeb::Endpoints::Services::ResponseHeadersParserService#parse
|
9
4
|
|
10
5
|
exclude_paths:
|
11
6
|
- vendor/
|
data/.rubocop.yml
CHANGED
@@ -2,15 +2,14 @@ require:
|
|
2
2
|
- rubocop-performance
|
3
3
|
- rubocop-rspec
|
4
4
|
|
5
|
-
|
6
|
-
|
5
|
+
AllCops:
|
6
|
+
NewCops: enable
|
7
7
|
|
8
8
|
Layout/LineLength:
|
9
9
|
Enabled: false
|
10
10
|
|
11
11
|
Metrics/BlockLength:
|
12
12
|
Exclude:
|
13
|
-
- indieweb-endpoints.gemspec
|
14
13
|
- spec/**/*.rb
|
15
14
|
|
16
15
|
Naming/RescuedExceptionsVariableName:
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.4.
|
1
|
+
2.4.10
|
data/.simplecov
CHANGED
@@ -2,9 +2,11 @@ require 'simplecov-console'
|
|
2
2
|
|
3
3
|
formatters = [SimpleCov::Formatter::HTMLFormatter]
|
4
4
|
|
5
|
+
# rubocop:disable Style/IfUnlessModifier
|
5
6
|
if RSpec.configuration.files_to_run.length > 1
|
6
7
|
formatters << SimpleCov::Formatter::Console
|
7
8
|
end
|
9
|
+
# rubocop:enable Style/IfUnlessModifier
|
8
10
|
|
9
11
|
SimpleCov.start do
|
10
12
|
formatter SimpleCov::Formatter::MultiFormatter.new(formatters)
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,11 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## 3.0.0 / 2020-05-14
|
4
|
+
|
5
|
+
- Update Absolutely and LinkHeaderParser dependencies (9e0a64a)
|
6
|
+
- Move development dependencies to `Gemfile` (67067f3)
|
7
|
+
- Update development Ruby version to 2.4.10 (f5430f9)
|
8
|
+
|
3
9
|
## 2.0.0 / 2020-01-25
|
4
10
|
|
5
11
|
- Downgrade HTTP gem version constraint to ~> 4.3 (cb63230)
|
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.4.
|
11
|
+
indieweb-endpoints-ruby is developed using Ruby 2.4.10 and is additionally tested against Ruby 2.5, 2.6, and 2.7 using [Travis CI](https://travis-ci.com/indieweb/indieweb-endpoints-ruby).
|
12
12
|
|
13
|
-
Before making changes to indieweb-endpoints-ruby, you'll want to install Ruby 2.4.
|
13
|
+
Before making changes to indieweb-endpoints-ruby, you'll want to install Ruby 2.4.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.4.10 using your method of choice, install the project's gems by running:
|
14
14
|
|
15
15
|
```sh
|
16
16
|
bundle install
|
data/Gemfile
CHANGED
@@ -2,3 +2,13 @@ source 'https://rubygems.org'
|
|
2
2
|
|
3
3
|
# Specify your gem's dependencies in indieweb-endpoints.gemspec
|
4
4
|
gemspec
|
5
|
+
|
6
|
+
gem 'rake', '~> 13.0'
|
7
|
+
gem 'reek', '~> 6.0'
|
8
|
+
gem 'rspec', '~> 3.9'
|
9
|
+
gem 'rubocop', '~> 0.83.0'
|
10
|
+
gem 'rubocop-performance', '~> 1.5'
|
11
|
+
gem 'rubocop-rspec', '~> 1.39'
|
12
|
+
gem 'simplecov', '~> 0.18.5'
|
13
|
+
gem 'simplecov-console', '~> 0.7.2'
|
14
|
+
gem 'webmock', '~> 3.8'
|
data/README.md
CHANGED
@@ -18,7 +18,7 @@
|
|
18
18
|
|
19
19
|
Before installing and using indieweb-endpoints-ruby, you'll want to have [Ruby](https://www.ruby-lang.org) 2.4 (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.4.
|
21
|
+
indieweb-endpoints-ruby is developed using Ruby 2.4.10 and is additionally tested against Ruby 2.5, 2.6, and 2.7 using [Travis CI](https://travis-ci.com/indieweb/indieweb-endpoints-ruby).
|
22
22
|
|
23
23
|
## Installation
|
24
24
|
|
data/indieweb-endpoints.gemspec
CHANGED
@@ -1,10 +1,7 @@
|
|
1
|
-
|
2
|
-
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
3
|
-
|
4
|
-
require 'indieweb/endpoints/version'
|
1
|
+
require_relative 'lib/indieweb/endpoints/version'
|
5
2
|
|
6
3
|
Gem::Specification.new do |spec|
|
7
|
-
spec.required_ruby_version =
|
4
|
+
spec.required_ruby_version = Gem::Requirement.new('>= 2.4', '< 2.8')
|
8
5
|
|
9
6
|
spec.name = 'indieweb-endpoints'
|
10
7
|
spec.version = IndieWeb::Endpoints::VERSION
|
@@ -16,28 +13,18 @@ Gem::Specification.new do |spec|
|
|
16
13
|
spec.homepage = 'https://github.com/indieweb/indieweb-endpoints-ruby'
|
17
14
|
spec.license = 'MIT'
|
18
15
|
|
19
|
-
spec.files =
|
16
|
+
spec.files = Dir.chdir(File.expand_path(__dir__)) do
|
17
|
+
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(bin|spec)/}) }
|
18
|
+
end
|
20
19
|
|
21
20
|
spec.require_paths = ['lib']
|
22
21
|
|
23
|
-
spec.metadata = {
|
24
|
-
|
25
|
-
'changelog_uri' => "#{spec.homepage}/blob/v#{spec.version}/CHANGELOG.md"
|
26
|
-
}
|
27
|
-
|
28
|
-
spec.add_development_dependency 'rake', '~> 13.0'
|
29
|
-
spec.add_development_dependency 'reek', '~> 5.6'
|
30
|
-
spec.add_development_dependency 'rspec', '~> 3.9'
|
31
|
-
spec.add_development_dependency 'rubocop', '~> 0.79.0'
|
32
|
-
spec.add_development_dependency 'rubocop-performance', '~> 1.5'
|
33
|
-
spec.add_development_dependency 'rubocop-rspec', '~> 1.37'
|
34
|
-
spec.add_development_dependency 'simplecov', '~> 0.17.1'
|
35
|
-
spec.add_development_dependency 'simplecov-console', '~> 0.6.0'
|
36
|
-
spec.add_development_dependency 'webmock', '~> 3.8'
|
22
|
+
spec.metadata['bug_tracker_uri'] = "#{spec.homepage}/issues"
|
23
|
+
spec.metadata['changelog_uri'] = "#{spec.homepage}/blob/v#{spec.version}/CHANGELOG.md"
|
37
24
|
|
38
|
-
spec.add_runtime_dependency 'absolutely', '~>
|
25
|
+
spec.add_runtime_dependency 'absolutely', '~> 4.0'
|
39
26
|
spec.add_runtime_dependency 'addressable', '~> 2.7'
|
40
|
-
spec.add_runtime_dependency 'http', '~> 4.
|
41
|
-
spec.add_runtime_dependency 'link-header-parser', '~> 0.
|
27
|
+
spec.add_runtime_dependency 'http', '~> 4.4'
|
28
|
+
spec.add_runtime_dependency 'link-header-parser', '~> 1.0.0'
|
42
29
|
spec.add_runtime_dependency 'nokogiri', '~> 1.10'
|
43
30
|
end
|
data/lib/indieweb/endpoints.rb
CHANGED
@@ -9,8 +9,6 @@ require 'nokogiri'
|
|
9
9
|
require 'indieweb/endpoints/version'
|
10
10
|
require 'indieweb/endpoints/exceptions'
|
11
11
|
|
12
|
-
require 'indieweb/endpoints/concerns/registerable'
|
13
|
-
|
14
12
|
require 'indieweb/endpoints/services/http_request_service'
|
15
13
|
require 'indieweb/endpoints/services/response_body_parser_service'
|
16
14
|
require 'indieweb/endpoints/services/response_headers_parser_service'
|
@@ -18,6 +16,7 @@ require 'indieweb/endpoints/services/response_headers_parser_service'
|
|
18
16
|
require 'indieweb/endpoints/client'
|
19
17
|
require 'indieweb/endpoints/parsers'
|
20
18
|
|
19
|
+
require 'indieweb/endpoints/parsers/base_parser'
|
21
20
|
require 'indieweb/endpoints/parsers/authorization_endpoint_parser'
|
22
21
|
require 'indieweb/endpoints/parsers/micropub_parser'
|
23
22
|
require 'indieweb/endpoints/parsers/microsub_parser'
|
@@ -1,40 +1,12 @@
|
|
1
1
|
module IndieWeb
|
2
2
|
module Endpoints
|
3
3
|
module Parsers
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
def initialize(response)
|
8
|
-
raise ArgumentError, "response must be an HTTP::Response (given #{response.class.name})" unless response.is_a?(HTTP::Response)
|
9
|
-
|
10
|
-
@response = response
|
11
|
-
end
|
12
|
-
|
13
|
-
def results
|
14
|
-
mapped_results.shift
|
15
|
-
end
|
16
|
-
|
17
|
-
private
|
18
|
-
|
19
|
-
attr_reader :response
|
20
|
-
|
21
|
-
def mapped_results
|
22
|
-
@mapped_results ||= results_from_http_request.map { |endpoint| Absolutely.to_abs(base: response.uri.to_s, relative: endpoint) }.uniq.sort
|
23
|
-
rescue Absolutely::InvalidURIError => exception
|
24
|
-
raise InvalidURIError, exception
|
25
|
-
end
|
26
|
-
|
27
|
-
def results_from_body
|
28
|
-
@results_from_body ||= Services::ResponseBodyParserService.new.parse(response, self.class.identifier)
|
29
|
-
end
|
30
|
-
|
31
|
-
def results_from_headers
|
32
|
-
@results_from_headers ||= Services::ResponseHeadersParserService.new.parse(response, self.class.identifier)
|
33
|
-
end
|
4
|
+
def self.register(klass)
|
5
|
+
registered[klass.identifier] = klass
|
6
|
+
end
|
34
7
|
|
35
|
-
|
36
|
-
|
37
|
-
end
|
8
|
+
def self.registered
|
9
|
+
@registered ||= {}
|
38
10
|
end
|
39
11
|
end
|
40
12
|
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
module IndieWeb
|
2
|
+
module Endpoints
|
3
|
+
module Parsers
|
4
|
+
class BaseParser
|
5
|
+
class << self
|
6
|
+
attr_reader :identifier
|
7
|
+
end
|
8
|
+
|
9
|
+
def initialize(response)
|
10
|
+
raise ArgumentError, "response must be an HTTP::Response (given #{response.class.name})" unless response.is_a?(HTTP::Response)
|
11
|
+
|
12
|
+
@response = response
|
13
|
+
end
|
14
|
+
|
15
|
+
def results
|
16
|
+
mapped_results.shift
|
17
|
+
end
|
18
|
+
|
19
|
+
private
|
20
|
+
|
21
|
+
attr_reader :response
|
22
|
+
|
23
|
+
def mapped_results
|
24
|
+
@mapped_results ||= results_from_http_request.map { |endpoint| Absolutely.to_abs(base: response.uri.to_s, relative: endpoint) }.uniq.sort
|
25
|
+
rescue Absolutely::InvalidURIError => exception
|
26
|
+
raise InvalidURIError, exception
|
27
|
+
end
|
28
|
+
|
29
|
+
def results_from_body
|
30
|
+
@results_from_body ||= Services::ResponseBodyParserService.parse(response, self.class.identifier)
|
31
|
+
end
|
32
|
+
|
33
|
+
def results_from_headers
|
34
|
+
@results_from_headers ||= Services::ResponseHeadersParserService.parse(response, self.class.identifier)
|
35
|
+
end
|
36
|
+
|
37
|
+
def results_from_http_request
|
38
|
+
@results_from_http_request ||= [results_from_headers, results_from_body].flatten.compact
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -2,16 +2,14 @@ module IndieWeb
|
|
2
2
|
module Endpoints
|
3
3
|
module Parsers
|
4
4
|
class WebmentionParser < BaseParser
|
5
|
-
|
6
|
-
:webmention
|
7
|
-
end
|
5
|
+
@identifier = :webmention
|
8
6
|
|
9
7
|
Parsers.register(self)
|
10
8
|
|
11
9
|
private
|
12
10
|
|
13
11
|
def results_for_node(node)
|
14
|
-
Services::ResponseBodyParserService.
|
12
|
+
Services::ResponseBodyParserService.parse(response, self.class.identifier, node)
|
15
13
|
end
|
16
14
|
|
17
15
|
# https://www.w3.org/TR/webmention/#sender-discovers-receiver-webmention-endpoint
|
@@ -2,37 +2,20 @@ module IndieWeb
|
|
2
2
|
module Endpoints
|
3
3
|
module Services
|
4
4
|
class HttpRequestService
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
follow: {
|
9
|
-
max_hops: 20
|
10
|
-
},
|
11
|
-
headers: {
|
12
|
-
accept: '*/*',
|
13
|
-
user_agent: 'IndieWeb Endpoint Discovery (https://rubygems.org/gems/indieweb-endpoints)'
|
14
|
-
},
|
15
|
-
timeout_options: {
|
16
|
-
connect_timeout: 5,
|
17
|
-
read_timeout: 5
|
18
|
-
}
|
5
|
+
HTTP_HEADERS_OPTS = {
|
6
|
+
accept: '*/*',
|
7
|
+
user_agent: 'IndieWeb Endpoint Discovery (https://rubygems.org/gems/indieweb-endpoints)'
|
19
8
|
}.freeze
|
20
9
|
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
def get(uri)
|
26
|
-
client.request(:get, uri)
|
10
|
+
# HTTP options derived from Webmention specification examples
|
11
|
+
# https://www.w3.org/TR/webmention/#limits-on-get-requests
|
12
|
+
def self.get(uri)
|
13
|
+
HTTP.follow(max_hops: 20).headers(HTTP_HEADERS_OPTS).timeout(connect: 5, read: 5).get(uri)
|
27
14
|
rescue HTTP::ConnectionError,
|
28
15
|
HTTP::TimeoutError,
|
29
16
|
HTTP::Redirector::TooManyRedirectsError => exception
|
30
17
|
raise IndieWeb::Endpoints.const_get(exception.class.name.split('::').last), exception
|
31
18
|
end
|
32
|
-
|
33
|
-
private
|
34
|
-
|
35
|
-
attr_accessor :client
|
36
19
|
end
|
37
20
|
end
|
38
21
|
end
|
@@ -2,7 +2,7 @@ module IndieWeb
|
|
2
2
|
module Endpoints
|
3
3
|
module Services
|
4
4
|
class ResponseBodyParserService
|
5
|
-
def parse(response, identifier, node = 'link')
|
5
|
+
def self.parse(response, identifier, node = 'link')
|
6
6
|
return unless response.mime_type == 'text/html'
|
7
7
|
|
8
8
|
# Reject endpoints that contain a fragment identifier
|
@@ -2,7 +2,7 @@ module IndieWeb
|
|
2
2
|
module Endpoints
|
3
3
|
module Services
|
4
4
|
class ResponseHeadersParserService
|
5
|
-
def parse(response, identifier)
|
5
|
+
def self.parse(response, identifier)
|
6
6
|
headers = LinkHeaderParser.parse(response.headers.get('link'), base: response.uri.to_s).by_relation_type[identifier]
|
7
7
|
|
8
8
|
return unless headers
|
metadata
CHANGED
@@ -1,155 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: indieweb-endpoints
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.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: 2020-
|
11
|
+
date: 2020-05-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: rake
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - "~>"
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '13.0'
|
20
|
-
type: :development
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - "~>"
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '13.0'
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: reek
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - "~>"
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '5.6'
|
34
|
-
type: :development
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - "~>"
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '5.6'
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: rspec
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - "~>"
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '3.9'
|
48
|
-
type: :development
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - "~>"
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '3.9'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: rubocop
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - "~>"
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: 0.79.0
|
62
|
-
type: :development
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - "~>"
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: 0.79.0
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: rubocop-performance
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - "~>"
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '1.5'
|
76
|
-
type: :development
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - "~>"
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '1.5'
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: rubocop-rspec
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - "~>"
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: '1.37'
|
90
|
-
type: :development
|
91
|
-
prerelease: false
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
93
|
-
requirements:
|
94
|
-
- - "~>"
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: '1.37'
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: simplecov
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - "~>"
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: 0.17.1
|
104
|
-
type: :development
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - "~>"
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: 0.17.1
|
111
|
-
- !ruby/object:Gem::Dependency
|
112
|
-
name: simplecov-console
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
114
|
-
requirements:
|
115
|
-
- - "~>"
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: 0.6.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.6.0
|
125
|
-
- !ruby/object:Gem::Dependency
|
126
|
-
name: webmock
|
127
|
-
requirement: !ruby/object:Gem::Requirement
|
128
|
-
requirements:
|
129
|
-
- - "~>"
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version: '3.8'
|
132
|
-
type: :development
|
133
|
-
prerelease: false
|
134
|
-
version_requirements: !ruby/object:Gem::Requirement
|
135
|
-
requirements:
|
136
|
-
- - "~>"
|
137
|
-
- !ruby/object:Gem::Version
|
138
|
-
version: '3.8'
|
139
13
|
- !ruby/object:Gem::Dependency
|
140
14
|
name: absolutely
|
141
15
|
requirement: !ruby/object:Gem::Requirement
|
142
16
|
requirements:
|
143
17
|
- - "~>"
|
144
18
|
- !ruby/object:Gem::Version
|
145
|
-
version: '
|
19
|
+
version: '4.0'
|
146
20
|
type: :runtime
|
147
21
|
prerelease: false
|
148
22
|
version_requirements: !ruby/object:Gem::Requirement
|
149
23
|
requirements:
|
150
24
|
- - "~>"
|
151
25
|
- !ruby/object:Gem::Version
|
152
|
-
version: '
|
26
|
+
version: '4.0'
|
153
27
|
- !ruby/object:Gem::Dependency
|
154
28
|
name: addressable
|
155
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -170,28 +44,28 @@ dependencies:
|
|
170
44
|
requirements:
|
171
45
|
- - "~>"
|
172
46
|
- !ruby/object:Gem::Version
|
173
|
-
version: '4.
|
47
|
+
version: '4.4'
|
174
48
|
type: :runtime
|
175
49
|
prerelease: false
|
176
50
|
version_requirements: !ruby/object:Gem::Requirement
|
177
51
|
requirements:
|
178
52
|
- - "~>"
|
179
53
|
- !ruby/object:Gem::Version
|
180
|
-
version: '4.
|
54
|
+
version: '4.4'
|
181
55
|
- !ruby/object:Gem::Dependency
|
182
56
|
name: link-header-parser
|
183
57
|
requirement: !ruby/object:Gem::Requirement
|
184
58
|
requirements:
|
185
59
|
- - "~>"
|
186
60
|
- !ruby/object:Gem::Version
|
187
|
-
version: 0.
|
61
|
+
version: 1.0.0
|
188
62
|
type: :runtime
|
189
63
|
prerelease: false
|
190
64
|
version_requirements: !ruby/object:Gem::Requirement
|
191
65
|
requirements:
|
192
66
|
- - "~>"
|
193
67
|
- !ruby/object:Gem::Version
|
194
|
-
version: 0.
|
68
|
+
version: 1.0.0
|
195
69
|
- !ruby/object:Gem::Dependency
|
196
70
|
name: nokogiri
|
197
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -233,10 +107,10 @@ files:
|
|
233
107
|
- indieweb-endpoints.gemspec
|
234
108
|
- lib/indieweb/endpoints.rb
|
235
109
|
- lib/indieweb/endpoints/client.rb
|
236
|
-
- lib/indieweb/endpoints/concerns/registerable.rb
|
237
110
|
- lib/indieweb/endpoints/exceptions.rb
|
238
111
|
- lib/indieweb/endpoints/parsers.rb
|
239
112
|
- lib/indieweb/endpoints/parsers/authorization_endpoint_parser.rb
|
113
|
+
- lib/indieweb/endpoints/parsers/base_parser.rb
|
240
114
|
- lib/indieweb/endpoints/parsers/micropub_parser.rb
|
241
115
|
- lib/indieweb/endpoints/parsers/microsub_parser.rb
|
242
116
|
- lib/indieweb/endpoints/parsers/redirect_uri_parser.rb
|
@@ -251,7 +125,7 @@ licenses:
|
|
251
125
|
- MIT
|
252
126
|
metadata:
|
253
127
|
bug_tracker_uri: https://github.com/indieweb/indieweb-endpoints-ruby/issues
|
254
|
-
changelog_uri: https://github.com/indieweb/indieweb-endpoints-ruby/blob/
|
128
|
+
changelog_uri: https://github.com/indieweb/indieweb-endpoints-ruby/blob/v3.0.0/CHANGELOG.md
|
255
129
|
post_install_message:
|
256
130
|
rdoc_options: []
|
257
131
|
require_paths:
|
@@ -270,7 +144,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
270
144
|
- !ruby/object:Gem::Version
|
271
145
|
version: '0'
|
272
146
|
requirements: []
|
273
|
-
rubygems_version: 3.
|
147
|
+
rubygems_version: 3.1.3
|
274
148
|
signing_key:
|
275
149
|
specification_version: 4
|
276
150
|
summary: Discover a URL’s IndieAuth, Micropub, Microsub, and Webmention endpoints.
|