class Faker::Lorem

Based on Perl’s Text::Lorem

def character

Returns:
  • (String) -
def character
  sample(Types::CHARACTERS)
end

def characters(number: 255, min_alpha: 0, min_numeric: 0)

Returns:
  • (String) -

Parameters:
  • min_numeric (Integer) -- The minimum number of numbers to add to the string
  • min_alpha (Integer) -- The minimum number of alphabetic to add to the string
  • number (Integer) -- The number of characters to generate
def characters(number: 255, min_alpha: 0, min_numeric: 0)
  Alphanumeric.alphanumeric(number: number, min_alpha: min_alpha, min_numeric: min_numeric)
end

def locale_period

def locale_period
  translate('faker.lorem.punctuation.period') || '.'
end

def locale_question_mark

def locale_question_mark
  translate('faker.lorem.punctuation.question_mark') || '?'
end

def locale_space

def locale_space
  translate('faker.lorem.punctuation.space') || ' '
end

def multibyte

Returns:
  • (String) -
def multibyte
  sample(translate('faker.lorem.multibyte')).pack('C*').force_encoding('utf-8')
end

def paragraph(sentence_count: 3, supplemental: false, random_sentences_to_add: 0, exclude_words: nil)

Returns:
  • (String) -

Parameters:
  • random_sentences_to_add (Integer) --
  • supplemental (Boolean) --
  • sentence_count (Integer) -- Number of sentences in the paragraph
def paragraph(sentence_count: 3, supplemental: false, random_sentences_to_add: 0, exclude_words: nil)
  sentences(number: resolve(sentence_count) + rand(random_sentences_to_add.to_i), supplemental: supplemental, exclude_words: exclude_words).join(locale_space)
end

def paragraph_by_chars(number: 256, supplemental: false)

Returns:
  • (String) -

Parameters:
  • supplemental (Boolean) --
  • number (Integer) --
def paragraph_by_chars(number: 256, supplemental: false)
  paragraph = paragraph(sentence_count: 3, supplemental: supplemental)
  paragraph += " #{paragraph(sentence_count: 3, supplemental: supplemental)}" while paragraph.length < number
  "#{paragraph[0...number - 1]}."
end

def paragraphs(number: 3, supplemental: false, exclude_words: nil)

Returns:
  • (Array) -

Parameters:
  • supplemental (Boolean) --
  • number (Integer) --
def paragraphs(number: 3, supplemental: false, exclude_words: nil)
  1.upto(resolve(number)).collect { paragraph(sentence_count: 3, supplemental: supplemental, exclude_words: exclude_words) }
end

def question(word_count: 4, supplemental: false, random_words_to_add: 0, exclude_words: nil)

Returns:
  • (String) -

Parameters:
  • random_words_to_add (Integer) --
  • supplemental (Boolean) --
  • word_count (Integer) --
def question(word_count: 4, supplemental: false, random_words_to_add: 0, exclude_words: nil)
  words(number: word_count + rand(random_words_to_add), supplemental: supplemental, exclude_words: exclude_words).join(' ').capitalize + locale_question_mark
end

def questions(number: 3, supplemental: false, exclude_words: nil)

Returns:
  • (Array) -

Parameters:
  • supplemental (Boolean) --
  • number (Integer) --
def questions(number: 3, supplemental: false, exclude_words: nil)
  1.upto(resolve(number)).collect { question(word_count: 3, supplemental: supplemental, exclude_words: exclude_words) }
end

def sentence(word_count: 4, supplemental: false, random_words_to_add: 0, exclude_words: nil)

Returns:
  • (String) -

Parameters:
  • random_words_to_add (Integer) -- Add any random words, default to 0
  • supplemental (Boolean) -- Add supplemental words, default to false
  • word_count (Integer) -- How many words should be there in a sentence, default to 4
def sentence(word_count: 4, supplemental: false, random_words_to_add: 0, exclude_words: nil)
  words(number: word_count + rand(random_words_to_add.to_i), supplemental: supplemental, exclude_words: exclude_words).join(locale_space).capitalize + locale_period
end

def sentences(number: 3, supplemental: false, exclude_words: nil)

Returns:
  • (Array) - Returns array for sentences.

Parameters:
  • supplemental (Boolean) -- Should add supplemental words, defaults to false
  • number (Integer) -- How many sentences to be generated, default to 3
def sentences(number: 3, supplemental: false, exclude_words: nil)
  1.upto(resolve(number)).collect { sentence(word_count: 3, supplemental: supplemental, exclude_words: exclude_words) }
end

def word(exclude_words: nil)

Returns:
  • (String) -
def word(exclude_words: nil)
  words(number: 1, exclude_words: exclude_words).first
end

def words(number: 3, supplemental: false, exclude_words: nil)

Returns:
  • (Array) - Array for words

Parameters:
  • supplemental (Boolean) -- Whether to attach supplemental words at the end, default is false
  • number (Integer) -- Number of words to be generated
def words(number: 3, supplemental: false, exclude_words: nil)
  resolved_num = resolve(number)
  word_list = (
    translate('faker.lorem.words') +
    (supplemental ? translate('faker.lorem.supplemental') : [])
  )
  if exclude_words
    exclude_words = exclude_words.split(', ') if exclude_words.instance_of?(::String)
    word_list -= exclude_words
  end
  word_list *= ((resolved_num / word_list.length) + 1)
  shuffle(word_list)[0, resolved_num]
end