Sha256: b3f46ef245c410db36fb7840275771e9947e27d5ee8c7fd97570ff62fb6c49f5

Contents?: true

Size: 862 Bytes

Versions: 2

Compression:

Stored size: 862 Bytes

Contents

# frozen_string_literal: true

module LinkThumbnailer
  module Graders
    class HtmlAttribute < ::LinkThumbnailer::Graders::Base

      attr_reader :attribute_name

      def initialize(description, attribute_name)
        super(description)
        @attribute_name = attribute_name.to_sym
      end

      def call
        return 1.0 if positive?
        return 0.0 if negative?
        1.0
      end

      private

      def attribute
        node[attribute_name]
      end

      def attribute?
        attribute && !attribute.empty?
      end

      def negative?
        attribute? && attribute =~ negative_regex
      end

      def positive?
        attribute? && attribute =~ positive_regex
      end

      def negative_regex
        config.negative_regex
      end

      def positive_regex
        config.positive_regex
      end

    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
link_thumbnailer-3.4.0 lib/link_thumbnailer/graders/html_attribute.rb
link_thumbnailer-3.3.2 lib/link_thumbnailer/graders/html_attribute.rb