Sha256: 259b214ab8791e7bbd5d82d9a729e3fc1041e28cff1a276ce06314da43b4ac41
Contents?: true
Size: 967 Bytes
Versions: 7
Compression:
Stored size: 967 Bytes
Contents
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
7 entries across 7 versions & 1 rubygems