class DoctorIpsum::Lorem
Public Class Methods
paragraph(sentence_count = 5, supplemental = false)
click to toggle source
# File lib/doctor_ipsum/lorem.rb, line 25 def paragraph(sentence_count = 5, supplemental = false) sentences(resolve(sentence_count), supplemental) end
paragraphs(paragraph_count = 3, supplemental = false)
click to toggle source
# File lib/doctor_ipsum/lorem.rb, line 28 def paragraphs(paragraph_count = 3, supplemental = false) [].tap { |p| resolve(paragraph_count).times { p << paragraph(5, supplemental) } }.join("\n\n") end
sentence(word_count = 5, supplemental = false, extra_words = 3)
click to toggle source
# File lib/doctor_ipsum/lorem.rb, line 15 def sentence(word_count = 5, supplemental = false, extra_words = 3) num_words = resolve(word_count) + rand(resolve(extra_words)) words(num_words, supplemental).join(' ').capitalize + '.' end
sentences(sentence_count = 5, supplemental = false)
click to toggle source
# File lib/doctor_ipsum/lorem.rb, line 19 def sentences(sentence_count = 5, supplemental = false) [].tap { |s| resolve(sentence_count).times { s << sentence(5, supplemental) } }.join(' ') end
word()
click to toggle source
# File lib/doctor_ipsum/lorem.rb, line 5 def word fetch('lorem.words').sample 1 end
words(num = 3, supplemental = false)
click to toggle source
# File lib/doctor_ipsum/lorem.rb, line 8 def words(num = 3, supplemental = false) ( fetch('lorem.words') + (supplemental ? fetch('lorem.supplemental') : []) ).shuffle[0, resolve(num)] end
Private Class Methods
resolve(value)
click to toggle source
# File lib/doctor_ipsum/lorem.rb, line 38 def self.resolve(value) case value when Array then value[rand(value.size)] when Range then rand((value.last+1) - value.first) + value.first else value end end