Class: Html2rss::AutoSource::Discovery::SemanticAnchorCandidates

Inherits:
Object
  • Object
show all
Defined in:
lib/html2rss/auto_source/discovery/semantic_anchor_candidates.rb

Overview

Builds ranked anchor facts for one semantic content container.

Defined Under Namespace

Classes: AnchorFacts, Candidate, Context, DestinationWinners

Instance Method Summary collapse

Constructor Details

#initialize(container, link_heuristics:) ⇒ SemanticAnchorCandidates

Returns a new instance of SemanticAnchorCandidates.

Parameters:



196
197
198
199
# File 'lib/html2rss/auto_source/discovery/semantic_anchor_candidates.rb', line 196

def initialize(container, link_heuristics:)
  @container = container
  @context = Context.new(container, link_heuristics:)
end

Instance Method Details

#to_aArray<AnchorFacts>

Returns strongest candidate per destination.

Returns:

  • (Array<AnchorFacts>)

    strongest candidate per destination



202
203
204
205
206
# File 'lib/html2rss/auto_source/discovery/semantic_anchor_candidates.rb', line 202

def to_a
  @container.css(Html2rss::Html::Navigator::MAIN_ANCHOR_SELECTOR)
            .each_with_object(DestinationWinners.new) { |anchor, winners| add_anchor(anchor, winners) }
            .to_a
end