Class: Perron::Site::Resource::Related

Inherits:
Object
  • Object
show all
Defined in:
lib/perron/resource/related.rb,
lib/perron/resource/related/stop_words.rb

Defined Under Namespace

Modules: StopWords

Instance Method Summary collapse

Constructor Details

#initialize(resource) ⇒ Related



9
10
11
12
# File 'lib/perron/resource/related.rb', line 9

def initialize(resource)
  @resource = resource
  @collection = resource.collection
end

Instance Method Details

#find(limit: 5) ⇒ Object



14
15
16
17
18
19
20
21
# File 'lib/perron/resource/related.rb', line 14

def find(limit: 5)
  @collection.resources
    .reject { it.slug == @resource.slug }
    .map { [it, cosine_similarities_for(@resource, it)] }
    .sort_by { |_, score| -score }
    .map(&:first)
    .first(limit)
end