Sha256: 41685f7af9f69e5040ec71be6c8d0361d174d2947e8e08d2577de33261c153c7

Contents?: true

Size: 815 Bytes

Versions: 2

Compression:

Stored size: 815 Bytes

Contents

# frozen_string_literal: true

require 'link_thumbnailer/model'
require 'link_thumbnailer/grader'

module LinkThumbnailer
  module Models
    class Description < ::LinkThumbnailer::Model

      attr_reader   :node, :text, :position, :candidates_number
      attr_accessor :probability

      def initialize(node, text, position = 1, candidates_number = 1)
        @node              = node
        @text              = sanitize(text)
        @position          = position
        @candidates_number = candidates_number
        @probability       = compute_probability
      end

      def to_s
        text
      end

      def <=>(other)
        probability <=> other.probability
      end

      private

      def compute_probability
        ::LinkThumbnailer::Grader.new(self).call
      end

    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
link_thumbnailer-3.4.0 lib/link_thumbnailer/models/description.rb
link_thumbnailer-3.3.2 lib/link_thumbnailer/models/description.rb