Sha256: eb4167299edc9392116e6c0242f7c368fd485ba7758ed5a1405774a68ad9ef6c

Contents?: true

Size: 671 Bytes

Versions: 3

Compression:

Stored size: 671 Bytes

Contents

module IndieWeb
  module Endpoints
    module Parsers
      class WebmentionParser < BaseParser
        def self.identifier
          :webmention
        end

        Parsers.register(self)

        private

        def link_element
          # Return first `a` or `link` element with valid `rel` attribute
          # https://www.w3.org/TR/webmention/#sender-discovers-receiver-webmention-endpoint
          @link_element ||= link_elements.find { |element| %w[a link].include?(element.name) }
        end

        def link_elements_css_selector
          @link_elements_css_selector ||= %([rel~="#{self.class.identifier}"][href])
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
indieweb-endpoints-0.4.0 lib/indieweb/endpoints/parsers/webmention_parser.rb
indieweb-endpoints-0.3.0 lib/indieweb/endpoints/parsers/webmention_parser.rb
indieweb-endpoints-0.2.0 lib/indieweb/endpoints/parsers/webmention_parser.rb