class MarkovTextGenerator::Api::Model
Constants
- CLEAN
Public Class Methods
new(knowledge = Knowledge.new)
click to toggle source
# File lib/markov_text_generator/api/model.rb, line 9 def initialize(knowledge = Knowledge.new) @knowledge = knowledge end
Public Instance Methods
become_silly!()
click to toggle source
# File lib/markov_text_generator/api/model.rb, line 28 def become_silly! @knowledge.clear! end
predict_next_word_for(key)
click to toggle source
# File lib/markov_text_generator/api/model.rb, line 24 def predict_next_word_for(key) @knowledge.predict_next_word key end
retrain(sentence)
click to toggle source
# File lib/markov_text_generator/api/model.rb, line 19 def retrain(sentence) become_silly! train sentence end
train(sentence)
click to toggle source
# File lib/markov_text_generator/api/model.rb, line 13 def train(sentence) words = prepare_string(sentence).split list = process_data words @knowledge.train list end
Private Instance Methods
prepare_string(sentence)
click to toggle source
# File lib/markov_text_generator/api/model.rb, line 41 def prepare_string(sentence) sentence.gsub CLEAN, ' ' end
process_data(collection)
click to toggle source
# File lib/markov_text_generator/api/model.rb, line 34 def process_data(collection) list = make_linked_list collection.each_with_object(list) do |item, object| object.push item end end