Class: LinkThumbnailer::Grader

Inherits:
SimpleDelegator
  • Object
show all
Defined in:
lib/link_thumbnailer/grader.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(description) ⇒ Grader

Returns a new instance of Grader.



15
16
17
18
19
20
# File 'lib/link_thumbnailer/grader.rb', line 15

def initialize(description)
  @config      = ::LinkThumbnailer.page.config
  @description = description

  super(config)
end

Instance Attribute Details

#configObject (readonly)

Returns the value of attribute config.



13
14
15
# File 'lib/link_thumbnailer/grader.rb', line 13

def config
  @config
end

#descriptionObject (readonly)

Returns the value of attribute description.



13
14
15
# File 'lib/link_thumbnailer/grader.rb', line 13

def description
  @description
end

Instance Method Details

#callFloat

For given description, computes probabilities returned by each graders by multipying them together.

Returns:

  • (Float)

    the probability for the given description to be considered good



25
26
27
28
29
30
31
32
33
34
# File 'lib/link_thumbnailer/grader.rb', line 25

def call
  probability = 1.0

  graders.each do |lambda|
    instance = lambda.call(description)
    probability *= instance.call.to_f ** instance.weight
  end

  probability
end