Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 6 additions & 5 deletions lib/faker/default/lorem.rb
Original file line number Diff line number Diff line change
Expand Up @@ -36,15 +36,16 @@ def word(exclude_words: nil)
# @faker.version 2.1.3
def words(number: 3, supplemental: false, exclude_words: nil)
resolved_num = resolve(number)
word_list = (
translate('faker.lorem.words') +
(supplemental ? translate('faker.lorem.supplemental') : [])
)
word_list = translate('faker.lorem.words')
word_list += translate('faker.lorem.supplemental') if 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)
# Duplicate the word list only when more words are requested than the
# list contains. Never mutate word_list itself: it may be the array
# cached by the I18n backend.
word_list *= ((resolved_num / word_list.length) + 1) if resolved_num > word_list.length
sample(word_list, resolved_num)
end

Expand Down