class Forematter::Commands::Suggest

Public Instance Methods

run() click to toggle source
# File lib/forematter/commands/suggest.rb, line 13
def run
  load_classifier

  # Seed LSI index
  files_with(field).each { |file| seed_index(file) }

  # This takes days:
  puts 'Building index... eesh'
  lsi.build_index
  puts "And we're done!"

  files.each { |file| get_recs(file) }
end

Protected Instance Methods

get_recs(file) click to toggle source
# File lib/forematter/commands/suggest.rb, line 45
def get_recs(file)
  return if file[:meta].key?(field) unless options[:override]

  # TODO: something here :)
end
load_classifier() click to toggle source
# File lib/forematter/commands/suggest.rb, line 29
def load_classifier
  require 'classifier'
rescue LoadError
  $stderr.puts 'Install "classifier" gem to generate suggestions'
  exit 1
end
lsi() click to toggle source
# File lib/forematter/commands/suggest.rb, line 36
def lsi
  @lsi ||= Classifier::LSI.new(auto_rebuild: false)
end
seed_index(file) click to toggle source
# File lib/forematter/commands/suggest.rb, line 40
def seed_index(file)
  return unless file[:meta].key?(field)
  lsi.add_item file[:file], *file[:meta][field].to_ruby { |i| file[:content] }
end