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

.characterObject


26
27
28
# File 'lib/faker/default/lorem.rb', line 26

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)

    The number of characters to generate

  • min_alpha (Integer)

    The minimum number of alphabetic to add to the string

  • min_numeric (Integer)

    The minimum number of numbers to add to the string

Returns:


46
47
48
49
50
51
52
# File 'lib/faker/default/lorem.rb', line 46

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

.multibyteObject


54
55
56
# File 'lib/faker/default/lorem.rb', line 54

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) ⇒ Object

rubocop:disable Metrics/ParameterLists


80
81
82
83
84
85
86
87
88
89
# File 'lib/faker/default/lorem.rb', line 80

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)
  # rubocop:enable Metrics/ParameterLists
  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) ⇒ Object


102
103
104
105
106
107
108
109
110
111
112
113
# File 'lib/faker/default/lorem.rb', line 102

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) ⇒ Object


91
92
93
94
95
96
97
98
99
100
# File 'lib/faker/default/lorem.rb', line 91

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) ⇒ Object

rubocop:disable Metrics/ParameterLists


116
117
118
119
120
121
122
123
124
125
# File 'lib/faker/default/lorem.rb', line 116

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)
  # rubocop:enable Metrics/ParameterLists
  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) ⇒ Object


127
128
129
130
131
132
133
134
# File 'lib/faker/default/lorem.rb', line 127

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) ⇒ Object

rubocop:disable Metrics/ParameterLists


59
60
61
62
63
64
65
66
67
68
# File 'lib/faker/default/lorem.rb', line 59

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)
  # rubocop:enable Metrics/ParameterLists
  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(' ').capitalize + locale_period
end

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


70
71
72
73
74
75
76
77
# File 'lib/faker/default/lorem.rb', line 70

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

.wordObject


7
8
9
# File 'lib/faker/default/lorem.rb', line 7

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

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


11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/faker/default/lorem.rb', line 11

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