class Faker::Books::Lovecraft
def deity
-
(String)
-
def deity fetch('lovecraft.deity') end
def fhtagn(number: 1)
-
(String)
-
Parameters:
-
number
(Integer
) -- The number of times to repeat the chant
def fhtagn(number: 1) Array.new(number) { fetch('lovecraft.fhtagn') }.join('. ') end
def location
-
(String)
-
def location fetch('lovecraft.location') end
def paragraph(sentence_count: 3, random_sentences_to_add: 3)
-
(String)
-
Parameters:
-
random_sentences_to_add
(Integer
) -- -
sentence_count
(Integer
) -- Number of sentences to generate
def paragraph(sentence_count: 3, random_sentences_to_add: 3) sentences(number: resolve(sentence_count) + rand(random_sentences_to_add.to_i).to_i).join(' ') end
def paragraph_by_chars(characters: 256)
-
(String)
-
Parameters:
-
characters
(Integer
) -- Number of characters to generate in the paragraph
def paragraph_by_chars(characters: 256) paragraph = paragraph(sentence_count: 3) paragraph += " #{paragraph(sentence_count: 3)}" while paragraph.length < characters "#{paragraph[0...characters - 1]}." end
def paragraphs(number: 3)
-
(Array
-)
Parameters:
-
number
(Integer
) -- Number of paragraphs to generate
def paragraphs(number: 3) [].tap do |paragraphs| 1.upto(resolve(number)) do paragraphs << paragraph(sentence_count: 3) end end end
def sentence(word_count: 4, random_words_to_add: 6, open_compounds_allowed: true)
-
(String)
-
Parameters:
-
open_compounds_allowed
(Boolean
) -- If true, generated sentence can contain words having additional spaces -
random_words_to_add
(Integer
) -- -
word_count
(Integer
) -- The number of words to have in the sentence
def sentence(word_count: 4, random_words_to_add: 6, open_compounds_allowed: true) "#{words(number: word_count + rand(random_words_to_add.to_i).to_i, spaces_allowed: open_compounds_allowed).join(' ').capitalize}." end
def sentences(number: 3)
-
(Array
-)
Parameters:
-
number
(Integer
) -- Number of sentences to generate
def sentences(number: 3) [].tap do |sentences| 1.upto(resolve(number)) do sentences << sentence(word_count: 3) end end end
def tome
-
(String)
-
def tome fetch('lovecraft.tome') end
def word
-
(String)
-
def word random_word = sample(translate('faker.lovecraft.words')) random_word =~ /\s/ ? word : random_word end
def words(number: 3, spaces_allowed: false)
-
(Array
-)
Parameters:
-
spaces_allowed
(Boolean
) -- If true, generated words can contain spaces -
number
(Integer
) -- Number of words to generate
def words(number: 3, spaces_allowed: false) resolved_num = resolve(number) word_list = translate('faker.lovecraft.words') word_list *= ((resolved_num / word_list.length) + 1) return shuffle(word_list)[0, resolved_num] if spaces_allowed words = shuffle(word_list)[0, resolved_num] words.each_with_index { |w, i| words[i] = word if w =~ /\s/ } end