Random word-sentence-story generator
Ruby, 88 bytes
Port from the Python answer by @Blue with a few modifications because it's still the shortest way to do things in Ruby as well...
-&gt;s{o=e='  ';(s[x=rand(s.size-2),2]==o[-2,2]?o+=s[x+2]:0)while o.size&lt;100||o[-2,2]!=e;o}

Alternate version using selection and sampling, 99 bytes
-&gt;s{o=e='  ';o+=s[(0..s.size-2).select{|i|s[i,2]==o[-2,2]}.sample+2]while o.size&lt;100||o[-2,2]!=e;o}