Sha256: 1e40b2a4e2b927dcb3a627287509ba19b79a803980c64b65c6235767455aef0c
Contents?: true
Size: 998 Bytes
Versions: 2
Compression:
Stored size: 998 Bytes
Contents
# frozen_string_literal: true require 'delegate' require 'link_thumbnailer/graders/base' require 'link_thumbnailer/graders/length' require 'link_thumbnailer/graders/html_attribute' require 'link_thumbnailer/graders/link_density' require 'link_thumbnailer/graders/position' module LinkThumbnailer class Grader < ::SimpleDelegator attr_reader :config, :description def initialize(description) @config = ::LinkThumbnailer.page.config @description = description super(config) end # For given description, computes probabilities returned by each graders by multipying them together. # # @return [Float] the probability for the given description to be considered good def call probability = 1.0 graders.each do |lambda| instance = lambda.call(description) probability *= instance.call.to_f ** instance.weight end probability end private def graders config.graders end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
link_thumbnailer-3.4.0 | lib/link_thumbnailer/grader.rb |
link_thumbnailer-3.3.2 | lib/link_thumbnailer/grader.rb |