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