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