Class: Faker::Lorem
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
-
.character ⇒ String
Generates single character.
-
.characters(number: 255, min_alpha: 0, min_numeric: 0) ⇒ String
Produces a random string of alphanumeric characters.
-
.multibyte ⇒ String
Generates the emoji.
-
.paragraph(sentence_count: 3, supplemental: false, random_sentences_to_add: 0, exclude_words: nil) ⇒ String
Generates three sentence paragraph.
-
.paragraph_by_chars(number: 256, supplemental: false) ⇒ String
Generates paragraph with 256 characters.
-
.paragraphs(number: 3, supplemental: false, exclude_words: nil) ⇒ Array
Generates three paragraphs.
-
.question(word_count: 4, supplemental: false, random_words_to_add: 0, exclude_words: nil) ⇒ String
Returns the question with 4 words.
-
.questions(number: 3, supplemental: false, exclude_words: nil) ⇒ Array
Generates array of three questions.
-
.sentence(word_count: 4, supplemental: false, random_words_to_add: 0, exclude_words: nil) ⇒ String
Generates sentence.
-
.sentences(number: 3, supplemental: false, exclude_words: nil) ⇒ Array
Generates three sentences.
-
.word(exclude_words: nil) ⇒ String
Returs the random word.
-
.words(number: 3, supplemental: false, exclude_words: nil) ⇒ Array
Generates random 3 words.
Methods inherited from Base
bothify, disable_enforce_available_locales, fetch, fetch_all, flexible, generate, letterify, method_missing, numerify, parse, rand, rand_in_range, regexify, resolve, respond_to_missing?, sample, shuffle, shuffle!, translate, unique, with_locale
Class Method Details
.character ⇒ String
Generates single character
60 61 62 |
# File 'lib/faker/default/lorem.rb', line 60 def character sample(Types::CHARACTERS) end |
.characters(number: 255, min_alpha: 0, min_numeric: 0) ⇒ String
Produces a random string of alphanumeric characters
80 81 82 |
# File 'lib/faker/default/lorem.rb', line 80 def characters(number: 255, min_alpha: 0, min_numeric: 0) Alphanumeric.alphanumeric(number: number, min_alpha: min_alpha, min_numeric: min_numeric) end |
.multibyte ⇒ String
Generates the emoji
94 95 96 |
# File 'lib/faker/default/lorem.rb', line 94 def multibyte sample(translate('faker.lorem.multibyte')).pack('C*').force_encoding('utf-8') end |
.paragraph(sentence_count: 3, supplemental: false, random_sentences_to_add: 0, exclude_words: nil) ⇒ String
Generates three sentence paragraph
156 157 158 |
# File 'lib/faker/default/lorem.rb', line 156 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 |
.paragraph_by_chars(number: 256, supplemental: false) ⇒ String
Generates paragraph with 256 characters
192 193 194 195 196 197 198 |
# File 'lib/faker/default/lorem.rb', line 192 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 |
.paragraphs(number: 3, supplemental: false, exclude_words: nil) ⇒ Array
Generates three paragraphs
174 175 176 |
# File 'lib/faker/default/lorem.rb', line 174 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 |
.question(word_count: 4, supplemental: false, random_words_to_add: 0, exclude_words: nil) ⇒ String
Returns the question with 4 words
216 217 218 |
# File 'lib/faker/default/lorem.rb', line 216 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 |
.questions(number: 3, supplemental: false, exclude_words: nil) ⇒ Array
Generates array of three questions
234 235 236 |
# File 'lib/faker/default/lorem.rb', line 234 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 |
.sentence(word_count: 4, supplemental: false, random_words_to_add: 0, exclude_words: nil) ⇒ String
Generates sentence
114 115 116 |
# File 'lib/faker/default/lorem.rb', line 114 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 |
.sentences(number: 3, supplemental: false, exclude_words: nil) ⇒ Array
Generates three sentences
132 133 134 |
# File 'lib/faker/default/lorem.rb', line 132 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 |
.word(exclude_words: nil) ⇒ String
Returs the random word
18 19 20 |
# File 'lib/faker/default/lorem.rb', line 18 def word(exclude_words: nil) words(number: 1, exclude_words: exclude_words).first end |
.words(number: 3, supplemental: false, exclude_words: nil) ⇒ Array
Generates random 3 words
37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/faker/default/lorem.rb', line 37 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) sample(word_list, resolved_num) end |