Class: Suggestor::Engine

Inherits:
Object
  • Object
show all
Defined in:
lib/suggestor/engine.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeEngine

Returns a new instance of Engine.



13
14
15
# File 'lib/suggestor/engine.rb', line 13

def initialize
  @collection = {}
end

Instance Attribute Details

#collectionObject

Returns the value of attribute collection.



11
12
13
# File 'lib/suggestor/engine.rb', line 11

def collection
  @collection
end

Instance Method Details

#load_data(input) ⇒ Object



17
18
19
# File 'lib/suggestor/engine.rb', line 17

def load_data(input)
  add_to_collection(input)
end


31
32
33
34
# File 'lib/suggestor/engine.rb', line 31

def recommented_related_items_for(item, opts={})
  opts[:algorithm] ||= :euclidean_distance 
  strategy_for(opts[:algorithm]).recommented_related_items_for(item)
end

#similar_items_to(item, opts = {}) ⇒ Object



26
27
28
29
# File 'lib/suggestor/engine.rb', line 26

def similar_items_to(item, opts={})
  opts[:algorithm] ||= :euclidean_distance 
  strategy_for(opts[:algorithm]).similar_items_to(item)
end

#similarity_score_for(first, second, opts = {}) ⇒ Object



21
22
23
24
# File 'lib/suggestor/engine.rb', line 21

def similarity_score_for(first, second, opts={})
  opts[:algorithm] ||= :euclidean_distance 
  strategy_for(opts[:algorithm]).similarity_score_between(first, second)
end