lib/webmention/verification/verifiers.rb in webmention-verification-2.0.0 vs lib/webmention/verification/verifiers.rb in webmention-verification-3.0.0
- old
+ new
@@ -1,44 +1,13 @@
module Webmention
module Verification
module Verifiers
- extend Registerable
+ def self.register(klass)
+ klass.mime_types.each { |mime_type| registered[mime_type] = klass }
+ end
- class BaseVerifier
- def initialize(response, target, **options)
- raise ArgumentError, "response must be an HTTP::Response (given #{response.class.name})" unless response.is_a?(HTTP::Response)
- raise ArgumentError, "target must be a String (given #{target.class.name})" unless target.is_a?(String)
-
- @response = response
- @target = target
- @options = options
-
- raise UnsupportedMimeTypeError, "Unsupported MIME Type: #{response.mime_type}" unless self.class.mime_types.include?(response.mime_type)
- end
-
- def results
- @results ||= parse_response_body
- end
-
- def verified?
- results.any?
- end
-
- private
-
- def response_body
- @response_body ||= @response.body.to_s
- end
-
- def target_regexp
- @target_regexp ||= /^#{target_regexp_str}$/
- end
-
- def target_regexp_str
- return @target if @options.fetch(:strict, true)
-
- @target.sub(%r{https?://}, 'https?://')
- end
+ def self.registered
+ @registered ||= {}
end
end
end
end