class Lita::MarkovBrain
Constants
- NoBrainInputsFound
Attributes
dictionary[R]
inputs_path[R]
Public Class Methods
new(inputs_path:)
click to toggle source
# File lib/lita/markov_brain.rb, line 6 def initialize(inputs_path:) @inputs_path = File.absolute_path(inputs_path) @dictionary = ::MarkyMarkov::TemporaryDictionary.new load_brain! end
Public Instance Methods
generate_n_words(n)
click to toggle source
# File lib/lita/markov_brain.rb, line 12 def generate_n_words(n) dictionary.generate_n_words(n) end
Private Instance Methods
load_brain!()
click to toggle source
# File lib/lita/markov_brain.rb, line 20 def load_brain! return unless dictionary.dictionary.empty? text_files_path = inputs_path + '/*.txt' files = Dir[text_files_path] raise NoBrainInputsFound, "No markov input files found at [#{text_files_path}]" if files.none? Dir[text_files_path].each do |file| load_dictionary(file) end end
load_dictionary(path)
click to toggle source
# File lib/lita/markov_brain.rb, line 33 def load_dictionary(path) logger.debug "Loading Markov input text at: [#{path}]" dictionary.parse_file path end
logger()
click to toggle source
# File lib/lita/markov_brain.rb, line 38 def logger Lita.logger end