Class: Faker::Lorem

Inherits:
Base
  • Object
show all
Defined in:
lib/faker/default/lorem.rb

Overview

Based on Perl's Text::Lorem

Constant Summary

Constants inherited from Base

Base::LLetters, Base::Letters, Base::NOT_GIVEN, Base::Numbers, Base::ULetters

Class Method Summary collapse

Methods inherited from Base

bothify, disable_enforce_available_locales, fetch, fetch_all, flexible, letterify, method_missing, numerify, parse, rand, rand_in_range, regexify, resolve, respond_to_missing?, sample, shuffle, translate, unique, with_locale

Class Method Details

.characterString

Generates single character

Examples:

Faker::Lorem.character    #=> "e"

Returns:

  • (String)

Available since:

  • 2.1.3


57
58
59
# File 'lib/faker/default/lorem.rb', line 57

def character
  sample(Types::CHARACTERS)
end

.characters(legacy_number = NOT_GIVEN, number: 255, min_alpha: 0, min_numeric: 0) ⇒ String

Produces a random string of alphanumeric characters

Examples:

Faker::Lorem.characters #=> "uw1ep04lhs0c4d931n1jmrspprf5w..."
Faker::Lorem.characters(number: 10) #=> "ang9cbhoa8"
Faker::Lorem.characters(number: 10, min_alpha: 4) #=> "ang9cbhoa8"
Faker::Lorem.characters(number: 10, min_alpha: 4, min_numeric: 1) #=> "ang9cbhoa8"

Parameters:

  • number (Integer) (defaults to: 255)

    The number of characters to generate

  • min_alpha (Integer) (defaults to: 0)

    The minimum number of alphabetic to add to the string

  • min_numeric (Integer) (defaults to: 0)

    The minimum number of numbers to add to the string

Returns:

  • (String)

Available since:

  • 2.1.3


77
78
79
80
81
82
83
# File 'lib/faker/default/lorem.rb', line 77

def characters(legacy_number = NOT_GIVEN, number: 255, min_alpha: 0, min_numeric: 0)
  warn_for_deprecated_arguments do |keywords|
    keywords << :number if legacy_number != NOT_GIVEN
  end

  Alphanumeric.alphanumeric(number: number, min_alpha: min_alpha, min_numeric: min_numeric)
end

.multibyteString

Generates the emoji

Examples:

Faker::Lorem.multibyte  #=> "😀"
Faker::Lorem.multibyte  #=> "❤"

Returns:

  • (String)

Available since:

  • 2.1.3


97
98
99
# File 'lib/faker/default/lorem.rb', line 97

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

.paragraph(legacy_sentence_count = NOT_GIVEN, legacy_supplemental = NOT_GIVEN, legacy_random_sentences_to_add = NOT_GIVEN, sentence_count: 3, supplemental: false, random_sentences_to_add: 0) ⇒ String

Generates three sentence paragraph

Examples:

Faker::Lorem.paragraph
  #=> "Impedit et est. Aliquid deleniti necessitatibus. Et aspernatur minima."
Faker::Lorem.paragraph(sentence_count: 2)
  #=> "Rerum fugit vitae. Et atque autem."
Faker::Lorem.paragraph(sentence_count: 2, supplemental: true)
  #=> "Terreo coerceo utor. Vester sunt cogito."
Faker::Lorem.paragraph(sentence_count: 2, supplemental: true, random_sentences_to_add: 2)
  #=> "Texo tantillus tamisium. Tribuo amissio tamisium. Facere aut canis."

Parameters:

  • sentence_count (Integer) (defaults to: 3)

    Number of sentences in the paragraph

  • supplemental (Boolean) (defaults to: false)
  • random_sentences_to_add (Integer) (defaults to: 0)

Returns:

  • (String)

Available since:

  • 2.1.3


176
177
178
179
180
181
182
183
184
# File 'lib/faker/default/lorem.rb', line 176

def paragraph(legacy_sentence_count = NOT_GIVEN, legacy_supplemental = NOT_GIVEN, legacy_random_sentences_to_add = NOT_GIVEN, sentence_count: 3, supplemental: false, random_sentences_to_add: 0)
  warn_for_deprecated_arguments do |keywords|
    keywords << :sentence_count if legacy_sentence_count != NOT_GIVEN
    keywords << :supplemental if legacy_supplemental != NOT_GIVEN
    keywords << :random_sentences_to_add if legacy_random_sentences_to_add != NOT_GIVEN
  end

  sentences(number: resolve(sentence_count) + rand(random_sentences_to_add.to_i), supplemental: supplemental).join(locale_space)
end

.paragraph_by_chars(legacy_number = NOT_GIVEN, legacy_supplemental = NOT_GIVEN, number: 256, supplemental: false) ⇒ String

Generates paragraph with 256 characters

Examples:

Faker::Lorem.paragraph_by_chars
Faker::Lorem.paragraph_by_chars(number: 20)                       #=> "Sit modi alias. Imp."
Faker::Lorem.paragraph_by_chars(number: 20, supplemental: true)   #=> "Certus aveho admove."

Parameters:

  • number (Integer) (defaults to: 256)
  • supplemental (Boolean) (defaults to: false)

Returns:

  • (String)

Available since:

  • 2.1.3


226
227
228
229
230
231
232
233
234
235
236
237
# File 'lib/faker/default/lorem.rb', line 226

def paragraph_by_chars(legacy_number = NOT_GIVEN, legacy_supplemental = NOT_GIVEN, number: 256, supplemental: false)
  warn_for_deprecated_arguments do |keywords|
    keywords << :number if legacy_number != NOT_GIVEN
    keywords << :supplemental if legacy_supplemental != NOT_GIVEN
  end

  paragraph = paragraph(sentence_count: 3, supplemental: supplemental)

  paragraph += " #{paragraph(sentence_count: 3, supplemental: supplemental)}" while paragraph.length < number

  "#{paragraph[0...number - 1]}."
end

.paragraphs(legacy_number = NOT_GIVEN, legacy_supplemental = NOT_GIVEN, number: 3, supplemental: false) ⇒ Array

Generates three paragraphs

Examples:

Faker::Lorem.paragraphs
Faker::Lorem.paragraphs(number:2)
Faker::Lorem.paragraphs(number:2, supplemental: true)

Parameters:

  • number (Integer) (defaults to: 3)
  • supplemental (Boolean) (defaults to: false)

Returns:

  • (Array)

Available since:

  • 2.1.3


201
202
203
204
205
206
207
208
209
210
# File 'lib/faker/default/lorem.rb', line 201

def paragraphs(legacy_number = NOT_GIVEN, legacy_supplemental = NOT_GIVEN, number: 3, supplemental: false)
  warn_for_deprecated_arguments do |keywords|
    keywords << :number if legacy_number != NOT_GIVEN
  end
  warn_for_deprecated_arguments do |keywords|
    keywords << :supplemental if legacy_supplemental != NOT_GIVEN
  end

  1.upto(resolve(number)).collect { paragraph(sentence_count: 3, supplemental: supplemental) }
end

.question(legacy_word_count = NOT_GIVEN, legacy_supplemental = NOT_GIVEN, legacy_random_words_to_add = NOT_GIVEN, word_count: 4, supplemental: false, random_words_to_add: 0) ⇒ String

Returns the question with 4 words

Examples:

Faker::Lorem.question                                                               #=> "Natus deleniti sequi laudantium?"
Faker::Lorem.question(word_count: 2)                                                #=> "Quo ut?"
Faker::Lorem.question(word_count: 2, supplemental: true)                            #=> "Terga consequatur?"
Faker::Lorem.question(word_count: 2, supplemental: true, random_words_to_add: 2)    #=> "Depulso uter ut?"

Parameters:

  • word_count (Integer) (defaults to: 4)
  • supplemental (Boolean) (defaults to: false)
  • random_words_to_add (Integer) (defaults to: 0)

Returns:

  • (String)

Available since:

  • 2.1.3


257
258
259
260
261
262
263
264
265
# File 'lib/faker/default/lorem.rb', line 257

def question(legacy_word_count = NOT_GIVEN, legacy_supplemental = NOT_GIVEN, legacy_random_words_to_add = NOT_GIVEN, word_count: 4, supplemental: false, random_words_to_add: 0)
  warn_for_deprecated_arguments do |keywords|
    keywords << :word_count if legacy_word_count != NOT_GIVEN
    keywords << :supplemental if legacy_supplemental != NOT_GIVEN
    keywords << :random_words_to_add if legacy_random_words_to_add != NOT_GIVEN
  end

  words(number: word_count + rand(random_words_to_add), supplemental: supplemental).join(' ').capitalize + locale_question_mark
end

.questions(legacy_number = NOT_GIVEN, legacy_supplemental = NOT_GIVEN, number: 3, supplemental: false) ⇒ Array

Generates array of three questions

Examples:

Faker::Lorem.questions                                  #=> ["Amet culpa enim?", "Voluptatem deleniti numquam?", "Veniam non cum?"]
Faker::Lorem.questions(number: 2)                       #=> ["Minus occaecati nobis?", "Veniam et alias?"]
Faker::Lorem.questions(number: 2, supplemental: true)   #=> ["Acceptus subito cetera?", "Aro sulum cubicularis?"]

Parameters:

  • number (Integer) (defaults to: 3)
  • supplemental (Boolean) (defaults to: false)

Returns:

  • (Array)

Available since:

  • 2.1.3


282
283
284
285
286
287
288
289
# File 'lib/faker/default/lorem.rb', line 282

def questions(legacy_number = NOT_GIVEN, legacy_supplemental = NOT_GIVEN, number: 3, supplemental: false)
  warn_for_deprecated_arguments do |keywords|
    keywords << :number if legacy_number != NOT_GIVEN
    keywords << :supplemental if legacy_supplemental != NOT_GIVEN
  end

  1.upto(resolve(number)).collect { question(word_count: 3, supplemental: supplemental) }
end

.sentence(legacy_word_count = NOT_GIVEN, legacy_supplemental = NOT_GIVEN, legacy_random_words_to_add = NOT_GIVEN, word_count: 4, supplemental: false, random_words_to_add: 0) ⇒ String

Generates sentence

Examples:

Faker::Lorem.sentence                                                             #=> "Magnam qui aut quidem."
Faker::Lorem.sentence(word_count: 5)                                              #=> "Voluptas rerum aut aliquam velit."
Faker::Lorem.sentence(word_count: 5, supplemental: true)                          #=> "Aut viscus curtus votum iusto."
Faker::Lorem.sentence(word_count: 5, supplemental: true, random_words_to_add:2)   #=> "Crinis quo cruentus velit animi vomer."

Parameters:

  • word_count (Integer) (defaults to: 4)

    How many words should be there in a sentence, default to 4

  • supplemental (Boolean) (defaults to: false)

    Add supplemental words, default to false

  • random_words_to_add (Integer) (defaults to: 0)

    Add any random words, default to 0

Returns:

  • (String)

Available since:

  • 2.1.3


120
121
122
123
124
125
126
127
128
# File 'lib/faker/default/lorem.rb', line 120

def sentence(legacy_word_count = NOT_GIVEN, legacy_supplemental = NOT_GIVEN, legacy_random_words_to_add = NOT_GIVEN, word_count: 4, supplemental: false, random_words_to_add: 0)
  warn_for_deprecated_arguments do |keywords|
    keywords << :word_count if legacy_word_count != NOT_GIVEN
    keywords << :supplemental if legacy_supplemental != NOT_GIVEN
    keywords << :random_words_to_add if legacy_random_words_to_add != NOT_GIVEN
  end

  words(number: word_count + rand(random_words_to_add.to_i), supplemental: supplemental).join(locale_space).capitalize + locale_period
end

.sentences(legacy_number = NOT_GIVEN, legacy_supplemental = NOT_GIVEN, number: 3, supplemental: false) ⇒ Array

Generates three sentences

Examples:

Faker::Lorem.sentences                                  #=> ["Possimus non tenetur.", "Nulla non excepturi.", "Quisquam rerum facilis."]
Faker::Lorem.sentences(number: 2)                       #=> ["Nulla est natus.", "Perferendis autem cum."]
Faker::Lorem.sentences(number: 2, supplemental: true)   #=> ["Cito cena ad.", "Solvo animus allatus."]

Parameters:

  • number (Integer) (defaults to: 3)

    How many sentences to be generated, default to 3

  • supplemental (Boolean) (defaults to: false)

    Should add supplemental words, defaults to false

Returns:

  • (Array)

    Returns array for sentences.

Available since:

  • 2.1.3


145
146
147
148
149
150
151
152
# File 'lib/faker/default/lorem.rb', line 145

def sentences(legacy_number = NOT_GIVEN, legacy_supplemental = NOT_GIVEN, number: 3, supplemental: false)
  warn_for_deprecated_arguments do |keywords|
    keywords << :number if legacy_number != NOT_GIVEN
    keywords << :supplemental if legacy_supplemental != NOT_GIVEN
  end

  1.upto(resolve(number)).collect { sentence(word_count: 3, supplemental: supplemental) }
end

.wordString

Returs the random word

Examples:

Faker::Lorem.word   #=> "soluto"

Returns:

  • (String)

Available since:

  • 2.1.3


15
16
17
# File 'lib/faker/default/lorem.rb', line 15

def word
  sample(translate('faker.lorem.words'))
end

.words(legacy_number = NOT_GIVEN, legacy_supplemental = NOT_GIVEN, number: 3, supplemental: false) ⇒ Array

Generates random 3 words

Examples:

Faker::Lorem.words                                    #=> ["hic", "quia", "nihil"]
Faker::Lorem.words(number: 4)                         #=> ["est", "temporibus", "et", "quaerat"]
Faker::Lorem.words(number: 4, supplemental: true)    #=> ["nisi", "sit", "allatus", "consequatur"]

Parameters:

  • number (Integer) (defaults to: 3)

    Number of words to be generated

  • supplemental (Boolean) (defaults to: false)

    Whether to attach supplemental words at the end, default is false

Returns:

  • (Array)

    Array for words

Available since:

  • 2.1.3


33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/faker/default/lorem.rb', line 33

def words(legacy_number = NOT_GIVEN, legacy_supplemental = NOT_GIVEN, number: 3, supplemental: false)
  warn_for_deprecated_arguments do |keywords|
    keywords << :number if legacy_number != NOT_GIVEN
    keywords << :supplemental if legacy_supplemental != NOT_GIVEN
  end

  resolved_num = resolve(number)
  word_list = (
    translate('faker.lorem.words') +
    (supplemental ? translate('faker.lorem.supplemental') : [])
  )
  word_list *= ((resolved_num / word_list.length) + 1)
  shuffle(word_list)[0, resolved_num]
end