Method: Faker::Hipster.words

Defined in:
lib/faker/default/hipster.rb

.words(number: 3, supplemental: false, spaces_allowed: false) ⇒ Array<String>

Produces a random hipster word.

Examples:

Faker::Hipster.words #=> ["pug", "pitchfork", "chia"]
Faker::Hipster.words(number: 4) #=> ["ugh", "cardigan", "poutine", "stumptown"]
Faker::Hipster.words(number: 4, supplemental: true) #=> ["iste", "seitan", "normcore", "provident"]
Faker::Hipster.words(number: 4, supplemental: true, spaces_allowed: true) #=> ["qui", "magni", "craft beer", "est"]

Parameters:

  • number (Integer) (defaults to: 3)

    Specifies the number of words returned

  • supplemental (Boolean) (defaults to: false)

    Specifies if the words are supplemental

  • spaces_allowed (Boolean) (defaults to: false)

    Specifies if the words may contain spaces

Returns:

  • (Array<String>)

Available since:

  • 1.6.0



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

def words(number: 3, supplemental: false, spaces_allowed: false)
  resolved_num = resolve(number)
  word_list = (
    translate('faker.hipster.words') +
    (supplemental ? translate('faker.lorem.words') : [])
  )
  word_list *= ((resolved_num / word_list.length) + 1)
  words = sample(word_list, resolved_num)
  return words if spaces_allowed

  words.each_with_index { |w, i| words[i] = word if w =~ /\s/ }
end