class Eman::Recommender
Attributes
generator[R]
Public Class Methods
new(generator)
click to toggle source
# File lib/eman/recommender.rb, line 6 def initialize(generator) @generator = generator end
Public Instance Methods
inputs()
click to toggle source
# File lib/eman/recommender.rb, line 10 def inputs @inputs ||= @generator.inputs end
recommend_name()
click to toggle source
# File lib/eman/recommender.rb, line 22 def recommend_name fetch_similar_words assemble_words end
type()
click to toggle source
# File lib/eman/recommender.rb, line 14 def type @type ||= @generator.type end
words_hash()
click to toggle source
# File lib/eman/recommender.rb, line 18 def words_hash @words_hash ||= Hash[ inputs.collect { |x| [x, []] } ] end
Private Instance Methods
assemble_words()
click to toggle source
# File lib/eman/recommender.rb, line 37 def assemble_words recommended_name = [] if words_hash.values.flatten.length != inputs.length words_hash.each do |key, val| recommended_name << val.sample end if recommended_name.any? recommended = Eman::Generator.new(type) recommended.resource = recommended_name.join(' ') recommended end end end
fetch_similar_words()
click to toggle source
# File lib/eman/recommender.rb, line 29 def fetch_similar_words inputs.each do |i| synonyms = Dictionary.find_similar(i) synonyms.each { |s| words_hash[i] << s } if synonyms.any? end end