Class: BlaBla::Texto::Base
- Inherits:
-
Object
- Object
- BlaBla::Texto::Base
- Defined in:
- lib/generators/texto/base.rb
Class Method Summary collapse
- .comeco_padrao ⇒ Object
-
.frase(params = {}) ⇒ String
Retorna uma frase com palavras aleatórias, que podem ou não iniciar com o começo padrão do gerador (por ex: Lorem ipsum dolor sit amet...).
-
.frases(quantidade) ⇒ Array
Retorna um vetor de frases com palavras aleatórias, com a quantidade especificada.
-
.palavra ⇒ String
Retorna uma palavra aleatória, oriunda do vocabulário do gerador (por exemplo, o gerador de Lorem Ipsum).
-
.palavras(quantidade) ⇒ Array
Retorna um vetor de palavras aleatórias (geradas usando o método palavra), com a quantidade especificada.
- .palavras_gerador ⇒ Object
-
.paragrafo(params = {}) ⇒ String
Retorna um parágrafo com palavras aleatórias, que podem ou não iniciar com o começo padrão do gerador (por ex: Lorem ipsum dolor sit amet...).
-
.paragrafos(quantidade) ⇒ Array
Retorna um vetor de parágrafos com palavras aleatórias, com a quantidade especificada.
Class Method Details
.comeco_padrao ⇒ Object
98 99 100 |
# File 'lib/generators/texto/base.rb', line 98 def self.comeco_padrao BlaBla.strings "texto>#{generator_name}>comeco_padrao" end |
.frase(params = {}) ⇒ String
Retorna uma frase com palavras aleatórias, que podem ou não iniciar com o começo padrão do gerador (por ex: Lorem ipsum dolor sit amet...)
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/generators/texto/base.rb', line 31 def self.frase params={} raise "Parâmetros inválidos" if params.class != Hash frase = "" tamanho = 7..16 if params[:comeco_padrao] frase = comeco_padrao + " " tamanho = (comeco_padrao.split.size + 4)..16 end tamanho = rand(tamanho) tem_virgula = true #frases com menos de dez palavras poderão não possuir vírgula tem_virgula = rand(1..3) != 3 if tamanho < 10 if tem_virgula posicao_virgula = (tamanho / 2) + rand(0..(tamanho/2 - 3)) * (rand(1..2)==2 ? 1:-1) if params[:comeco_padrao] tamanho_comeco_padrao = comeco_padrao.split.size posicao_virgula = tamanho - rand(3..(tamanho-tamanho_comeco_padrao)) if posicao_virgula < tamanho_comeco_padrao end end palavras_frase = frase.split + palavras(tamanho - frase.split.size) palavras_frase.insert posicao_virgula, "," if tem_virgula (palavras_frase.join(" ") + ".").gsub(" ,", ",").capitalize end |
.frases(quantidade) ⇒ Array
Retorna um vetor de frases com palavras aleatórias, com a quantidade especificada
66 67 68 69 70 |
# File 'lib/generators/texto/base.rb', line 66 def self.frases quantidade sorteadas = [] 1.upto(quantidade) { sorteadas << frase } sorteadas end |
.palavra ⇒ String
Retorna uma palavra aleatória, oriunda do vocabulário do gerador (por exemplo, o gerador de Lorem Ipsum)
8 9 10 11 12 |
# File 'lib/generators/texto/base.rb', line 8 def self.palavra tamanho = BlaBla::Util.sortear_por_peso peso_por_tamanho_palavra palavras_gerador.reject{|p| p.size < tamanho.min || p.size > tamanho.max}.sample end |
.palavras(quantidade) ⇒ Array
Retorna um vetor de palavras aleatórias (geradas usando o método palavra), com a quantidade especificada
17 18 19 20 21 22 23 24 25 |
# File 'lib/generators/texto/base.rb', line 17 def self.palavras quantidade sorteadas = [] while sorteadas.size < quantidade do sorteada = palavra sorteadas << sorteada unless sorteadas.last == sorteada end sorteadas end |
.palavras_gerador ⇒ Object
102 103 104 |
# File 'lib/generators/texto/base.rb', line 102 def self.palavras_gerador BlaBla.strings "texto>#{generator_name}>palavras" end |
.paragrafo(params = {}) ⇒ String
Retorna um parágrafo com palavras aleatórias, que podem ou não iniciar com o começo padrão do gerador (por ex: Lorem ipsum dolor sit amet...)
76 77 78 79 80 81 82 83 84 85 86 87 |
# File 'lib/generators/texto/base.rb', line 76 def self.paragrafo params={} raise "Parâmetros inválidos" if params.class != Hash tamanho = rand(4..10) frases_paragrafo = [] if params[:comeco_padrao] frases_paragrafo << frase(:comeco_padrao => true) tamanho -= 1 end 1.upto(tamanho) { frases_paragrafo << frase } frases_paragrafo.join " " end |
.paragrafos(quantidade) ⇒ Array
Retorna um vetor de parágrafos com palavras aleatórias, com a quantidade especificada
92 93 94 95 96 |
# File 'lib/generators/texto/base.rb', line 92 def self.paragrafos quantidade sorteados = [] 1.upto(quantidade) { sorteados << paragrafo } sorteados end |