├── roberto_barros-1.0.4.gem ├── roberto_barros-1.0.5.gem ├── roberto_barros.gemspec ├── lib ├── roberto_barros.rb └── data.yml └── README.md /roberto_barros-1.0.4.gem: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davisjr2000/roberto-barros/HEAD/roberto_barros-1.0.4.gem -------------------------------------------------------------------------------- /roberto_barros-1.0.5.gem: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davisjr2000/roberto-barros/HEAD/roberto_barros-1.0.5.gem -------------------------------------------------------------------------------- /roberto_barros.gemspec: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | Gem::Specification.new do |s| 4 | s.name = 'roberto_barros' 5 | s.version = '1.0.5' 6 | s.date = '2023-02-07' 7 | s.summary = 'Roberto Barros' 8 | s.description = "A simple gem that randomly generates quotes from \ 9 | the great Roberto Barros." 10 | s.authors = ['davisjr2000'] 11 | s.email = 'davisrobertosouza@gmail.com' 12 | s.files = ['lib/roberto_barros.rb', 'lib/data.yml'] 13 | s.homepage = 'https://github.com/davisjr2000/roberto-barros' 14 | s.license = 'MIT' 15 | end 16 | -------------------------------------------------------------------------------- /lib/roberto_barros.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | require 'yaml' 4 | 5 | # Return quotes and truths about the great Roberto Barros 6 | class RobertoBarros 7 | DATA = YAML.load_file(File.join(__dir__, 'data.yml')) 8 | 9 | # Take no arguments. Return a quote straight from the mouth of the great 10 | # Roberto Barros himself. 11 | def self.quote 12 | DATA['pt-BR']['quotes'].sample 13 | end 14 | 15 | # Take no arguments. Return a quote brilliantly translated into International 16 | # Programmers' Language. 17 | def self.in_ingrish 18 | DATA['en']['quotes'].sample 19 | end 20 | 21 | # Take no arguments. Return a Chuck Norris-style fact (with the difference 22 | # that these are true) about the great Roberto Barros. 23 | def self.fact 24 | DATA['pt-BR']['facts'].sample 25 | end 26 | 27 | # Take no arguments. Return a boolean of whether the great Roberto Barros is 28 | # a genius. 29 | def self.genius? 30 | true 31 | end 32 | 33 | # Take no arguments. Return a boolean if the code works on your machine. 34 | def self.works_on_my_machine? 35 | true 36 | end 37 | end 38 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Roberto Barros 2 | A Ruby Gem that randomly generates quotes from the great Roberto Barros. 3 | 4 | ## Installing 5 | ```bash 6 | gem install roberto_barros 7 | ``` 8 | 9 | ## Usage 10 | ```ruby 11 | require 'roberto_barros' 12 | 13 | RobertoBarros.quote #=> Está um ótimo dia para programar. 14 | 15 | RobertoBarros.in_ingrish #=> Today is a great day to code. 16 | 17 | RobertoBarros.genius? #=> true 18 | 19 | RobertoBarros.fact #=> As letras '.rb' no final dos arquivos na verdade significam Roberto Barros. 20 | 21 | ``` 22 | `.-/ossyyysso+/:--.`` 23 | `./ymNNNNNNNNNNNNmmNNNNmdhyo:` 24 | `-+hmmmmmmmmmmmNNNNNmmmmmNNNNNNmdyo:.` 25 | `/ymNNNmmmmmmmmmmmmNNNNmmmmmNNNNmmmmNNNNmho:` 26 | `-sdNNNNNNNNmmmmmNmmmNmmNNmNNmmmmmNmmmNNNMMMMMNmo-` 27 | `-smNNNNNNNNNNNmmmmNmNNNNNNmmNNNNmmmmNNNNNMMMMMMMMMNy. 28 | .omNNNMMMMMMNNNmmmmNmdmmmddddddmmmmmmmmNNNNNNMMMMMMMMMm/` 29 | `/dNNMMMMMMMNNNmmmdddhyssooosssoooossyyyhhddmNNNNMMMMMMMMNo. 30 | `sNNMMMMMMNNNmddhhysoo+++++++++++++++oooosyyyhdmmNNNNMMMMMMNy` 31 | `sNNNMMMMNmdhyyssoo++////////////////++++oossssyhmNNNNMMMNMMNN+` 32 | +NNNMMMNmhyso++++////////://///////////++++ooossydmNNNNMMNMMMMm- 33 | `dNNNNNmhyso++++///////////////////++++++++++oooosshdmNNNMMMMMMMy` 34 | :NNNNmdysso+++////////////////////+/++++++++++ooooosydmNNNMNNNNNN: 35 | oNNNmdyssoo+++++++////////////////////////++++ooooooshdmNNNMNNNNNy` 36 | sNNNmhyssoo++++++++//////////:::::::////++++++ooooooosydmNNNNNNNNm- 37 | `yNNmdhysssoo+++++///////::::::::://++ooossyyyyssssssossydmmNNNNNNNo` 38 | `sNNmdhyssoo+++////::::::::::////+sssyyyssssssyyyhysssossydmmmmNNMMh` 39 | `yNNmhhysoo+++//////:::::::://///+ooooo+///+++oooosyysoosyhmNmmmNNNm. 40 | oNNmddyssosssssooo++///::::::///++oooooo+osssssoooossooosydmmmmmhyyo-` 41 | /NNNddhhhhdhhyyysso+++///:::://+oosyyshdsddyhhhyssoooooooshmmmdysooo+-` 42 | -NNNmmdddhyssoooooooooo+++///++oosyys+ohhhysyyhysoo+++ooosydmmho++o+:/. 43 | .NNNNNdysoooooosssssossso++++ooooooossooo+ooossssooooooooosyddo+++oo/:: 44 | `dNNNmhyyyyhhdhhd+osssyys++++ooooo+++++++++++oo+o+ooooossosshy+:///+o/: 45 | oNNmdhyhmmyoyysoooo+syyso+++ooooo++++++++++++////++++oossssyy+:::-:o+: 46 | .mNmhyhddhyssssooo+osyyso+++oooo++++//+++/////////++++osssssyo/::::/+- 47 | +Ndysyyyysssoo+++oosyyo++++++oso+/////////////////+++oosossho//++/+o` 48 | `ohyysssoooooo++++osyo++////++oooo+/://::::::::://+++++osssys+++o+o: 49 | `oyssooo++++++///oyo++:--://///++o/://:::---::://+++++oosyyy///oo/` 50 | :yysoo+++///:::+so+oo////++oo/+++/::////::::::///+++++osyyy++++/` 51 | `yyso++///:::::+oo++oo++++/+++++////////++/::://////++ossyh/++/` 52 | `syso+//::::://+ooooo+/////////+++++++//+/++/:://////++osyhso-` 53 | `ohso+//::://+oooooo+++///////++++++++++++///:://////++osyhsy. 54 | +hyo+//://+++osooooo+++++++++++ooossso+++//::://////++oshhyy- 55 | -hys++///++++osssssooooooo+++ooooooo++////:::://////+ooyhhyy: 56 | `syso+/////+oosyysso+++++/////////////////::///////++osyhhyy+ 57 | -yso+/////+ooooo+++////////::::://////////////////+ossyyyyys` 58 | `+yoo+/////+ooo+++/////////::::::///+++/////////++oossyyyysy. 59 | `oso++////+oo+++///////////:::////+++++/++/////+oossyysssss/ 60 | .oso+++/++ooo++////++///////////+++++++++++++++ossssssssos+` 61 | .oso+++++ooooo++++++//////////+++++++++++++++oosssssooooss:`` 62 | .+sooooooooosoo+++///::://///++++o+++++++++oossssooooooosy/:-` 63 | `:ssooooosssoo+++///:::://///++o+++++++o+oosssooo++++ooss+/::.``````` 64 | .+sssosssssoo++//////////++++ooo+++++ooooooo++++++++ooso:-:oyyyyyyso/.` 65 | `-osssssyysooo+++//+++++++++oo+++++ooooooo++++/++++oo+-.-:/odmNNNNNNmy:` 66 | `:oysssyyssooooo+oo++oo+++++++oooooooo++++/////++/-...--::+hmNmNNNNNNy- 67 | `-oyysssssoooooo++++++++++++oooo++++++////////-````.----:/smmNNNNNNN/ 68 | `-yhyssssooo+o+o++oooo++++++++++/+///////:-``````....---:smNNNNNNN/ 69 | :hhyyssooooooooooo+++++++///++///////:-`` ````.......-/+sdmNNNN/ 70 | `:oyyyssoooooo++++++++///////////::/:-`` ```..``.`...-:/dmNNNN/ 71 | .ys:/ssssooo++++++///+///////////::-.` ``..```````..-hmmNNNN/ 72 | .dNy/--+ooooo++++++///+//////:::::-` ```.`````````.hmmmNNNN/ 73 | 74 | ## Versioning 75 | 76 | This gem abides by [Semantic Versioning](www.semver.org) 2.0.0. The API is described in comments to each method. 77 | -------------------------------------------------------------------------------- /lib/data.yml: -------------------------------------------------------------------------------- 1 | pt-BR: 2 | quotes: [ 3 | "A cópia é o primeiro passo para a criação.", 4 | "A pessoa escreve 'Rubens nos Trilhos' e desenha uma rodovia.", 5 | "A vida é muito curta para ser desperdiçada programando em Java.", 6 | "E aí, você toma um erro no meio da fuça!", 7 | "Em 2019, performance se resolve com dinheiro.", 8 | "Em programação, ou tem 0, ou tem 1, ou tem vários.", 9 | "Essa é a mágica - que é mágica nenhuma - que o Rails faz.", 10 | "Está um ótimo dia para programar.", 11 | "Eu acho que quem tatua o rosto não entende como a sociedade funciona.", 12 | "Eu sou um cara de hábitos simples - eu vejo cerveja, eu digo 'sim'", 13 | "Lutador de sumô não limpa a bunda sozinho.", 14 | "Mas não faz sentido o que você está fazendo!", 15 | "Mas se esse computador está ruim, se você colocar Windows, vai ficar pior ainda!", 16 | "Não existe projeto simples, existe dev sem imaginação.", 17 | "Não existem limites para a criatividade do ser humano.", 18 | "Não faz sentido! Ele quer trocar seis por meia dúzia!!", 19 | "Né...", 20 | "O importante da regra é saber quando quebrar a regra.", 21 | "Open Source é a programação mais eficiente que existe.", 22 | "Poder, poder, você pode, mas não sei porque você faria isso.", 23 | "Quando você está programando, seu pior inimigo é você mesmo.", 24 | "Reboot quem dá é a vida.", 25 | "Scrum dá para aprender em 15 minutos, rsrsrs", 26 | "Se começa com 'eco', não pode ser bom.", 27 | "Se o código não é simples, não é Ruby.", 28 | "Ué?", 29 | "Um site nunca fica pronto, mas você precisa entregar em algum momento.", 30 | "O difícil era ter que programar todo dia. Mas contanto que eu programasse todo dia, a cada dia ficava mais fácil.", 31 | "Pessoal, segue o código da aula de hoje", 32 | "Agora que você vai pegar o carro sozinho e dirigir pela estrada sozinho é que você vai realmente aprender a dirigir.", 33 | "Os últimos 10% do tempo de desenvolvimento de um software consomem 90% do tempo total do projeto.", 34 | "Rentabilizar em cima do erro do usuário é um erro por si só.", 35 | "Se você nunca apagou uma base de dados quando era novo, com certeza vai apagar depois de velho", 36 | "Se eu tivesse uma vidraçaria, eu chamaria de X-Vidros... Imagina a quantidade de gente que ia entrar sem querer achando que é putaria.", 37 | "Só retardado reprova no psicotécnico", 38 | "O projeto mais legal é aquele em que você está trabalhando no momento.", 39 | "Temos muitas opções de almoço aqui na praça de alimentação, mas e aí pessoal? Vai ser MC ou BK?", 40 | "Se você usa a frase 'que backup???', existe uma boa chance de você ser dummy.", 41 | "Um sênior é só um júnior que aprendeu como corrigir suas cagadas sem criar novas.", 42 | "Próxima aula a gente podia fazer no Red Dead Redemption.", 43 | "Essa solução até funciona, mas ela é meio burra.", 44 | "Você sempre pode fazer, mas não deve", 45 | "Você pode ter medo de muitas coisas nessa vida, mas ter medo de um sistema operacional, não dá!", 46 | "Daí você seleciona a cerquilha #", 47 | "O melhor código é não ter código.", 48 | "Aqui, no Le Wagon, estamos nas condições normais de pressão e temperatura.", 49 | "O maior desafio da Inteligência Artificial é a burrice natural.", 50 | "'Funk' e 'bom' na mesma frase não faz sentido.", 51 | "Se as pessoas tivessem mensagem de erro as coisas seriam bem mais faceis", 52 | "Hoje em dia, ninguém mais sabe escrever com caneta.", 53 | "Se tivesse dedicado todo esse tempo pro 'una consulta' já teria 'cinco consulta'.", 54 | "Você ser vegano é um pouco de falta de respeito com seus antepassados.", 55 | "Por quê, cara? Só porque eu tô certo?", 56 | "Deep Web é o WhatsApp.", 57 | "Tive que abrir um ticket comigo mesmo.", 58 | "O problema de ser adulto é o 'eu mereço'.", 59 | "Meu sonho é ter um cartório, porque você ganha dinheiro para maltratar as pessoas.", 60 | "Se você tem um problema e resolve ele com Regex, agora você tem dois problemas.", 61 | "O erro está no ‘não sei o que fiz’.", 62 | "A coxinha é tipo um sorvete, tem lado certo pra comer.", 63 | "Quem coloca feijão do lado do arroz é só mal-caráter, mas embaixo do arroz é psicopata.", 64 | "Sanduiche é um termo.", 65 | "'Que merda' não mano, todo mundo precisa ganhar dinheiro.", 66 | "Eu comprei o Wii para jogar golf mesmo.", 67 | "Fábrica de gema é galinha.", 68 | "ROLHA. RO-LHA.", 69 | "Pizza é o alimento mais acolhedor que existe.", 70 | "O Brasil é a Rússia das Américas", 71 | "Seu código não liga se você sabe a teoria ou não, se ele não roda, ele não roda.", 72 | "O Brasil é o GTA vida real.", 73 | "Existe brega funk? Eu achava que todo funk era brega!", 74 | "Quem fica trabalhando e estudando dificilmente tem tempo de ganhar dinheiro.", 75 | "Se você parar para pensar, todo software é feito com a força do pensamento.", 76 | "A regra numero 1 do programador é - se tá funcionando, não mexe!", 77 | "É sempre melhor ter um produto que faça uma única coisa muito bem do que várias coisas mais ou menos.", 78 | "Podrão é sempre mais gostoso do que lanche gourmet.", 79 | "No navegador vc não pode ter favoritos, assim como na vida.", 80 | "Se você ainda não sabe o que é pull request a essa altura do campeonato, fica complicado...", 81 | "Se você está demorando muito, provavelmente você está fazendo errado.", 82 | "O Whatsapp tem uma feature imbatível em relação ao Telegram - todo mundo já usa o Whatsapp", 83 | "O Telegram é o Betamax dos aplicativos de mensagem", 84 | "As pessoas aprendem de 2 jeitos - ou colocando uma cenoura na frente, ou colocando uma cenoura atrás.", 85 | "Não existe dom da escrita, assim como não existe dom da programação. Tudo é uma questão de praticar.", 86 | "O View é uma classe como qualquer outra que a gente view.", 87 | "A parte difícil de programar não é programar, mas lidar com as pessoas que estão programando com você.", 88 | "Equipamento bom mesmo é aquele que faz só uma coisa, mas muito bem feita.", 89 | "Pular de prédio é um hobby muito legal, pena que só dá pra fazer uma vez.", 90 | "Drone no Brasil só funciona pra levar celular no presídio", 91 | "Aos 10 anos de idade você tinha a melhor coisa da vida - ter 10 anos de idade.", 92 | "Tetris é na verdade uma metáfora da vida, pois nele seus erros se acumulam e os acertos desaparecem.", 93 | "A Nespresso é o McDonalds do café", 94 | "Requeijão não só é queijo, como é o rei dos queijos - REI QUEIJÃO", 95 | "Essa ferramenta pode ser usada como uma faca, ou você passa manteiga no pão, ou você mata uma pessoa.", 96 | "Loteria é o imposto de quem não sabe estatística.", 97 | "A gente aprende, aprende, aprende... e morre burro.", 98 | "A tecnologia tem medo de mim.", 99 | "-- Qual o melhor 'date' que você já teve? -- Ano, mês, dia, hora, minuto e segundo.", 100 | "Não é gambiarra se funciona" 101 | ] 102 | facts: [ 103 | "Um belo dia, Roberto Barros viu um menino cabisbaixo na calçada, precisando de ajuda com Ruby. Ele ensinou ao menino tudo o que sabia sobre a linguagem. O nome desse menino? Yukihiro Matsumoto.", 104 | "Quando era pequeno, Roberto Barros construiu um computador usando apenas 107cm de fio de cobre, um relógio de pulso Casio, uma figurinha do Campeonato Brasileiro de 89 e dois chicletes Ploc mascados.", 105 | "A branch 'master' nos repositórios de Git foi inspirada em Roberto Barros", 106 | "As letras '.rb' no final dos arquivos, na verdade, significam Roberto Barros", 107 | "Roberto Barros consegue plugar um cabo USB de primeira.", 108 | "Reza a lenda que Roberto Barros inventou o COBOL em tempos longínquos.", 109 | "Antigamente, Roberto Barros colocava ventilador até em rack de servidor.", 110 | "Roberto Barros aprendeu a programar antes de aprender a ler e escrever" 111 | ] 112 | en: 113 | quotes: [ 114 | "A site is never ready but you need to deliver it at some point.", 115 | "And then you get an error message in your pretty face!", 116 | "Can do, you can, you may, but I cannot understand why someone would do it.", 117 | "Copy is the first step to creation.", 118 | "Dude writes Ruby on RAILS and draws a HIGHWAY.", 119 | "I am a simple guy - I see beer, I say yes.", 120 | "I think people who tattoo their faces don't grasp how Society works.", 121 | "If it is bad, installing Windows will only make it worse!", 122 | "If it is not simple, it is not Ruby.", 123 | "If it starts with 'eco', it can't be good.", 124 | "In 2019, you solve performance with money.", 125 | "In programming has 0, or 1, or many", 126 | "It doesn't make sense! He wants to exchange six for a half dozen!!", 127 | "It makes no sense what you're doing!", 128 | "It only takes 15 minutes to learn scrum, lol", 129 | "It's life what gives you the real Reboot.", 130 | "Life is too short to waste it coding in Java.", 131 | "Neh...", 132 | "Open Source is the most efficient software ever", 133 | "Sumo fighters don't wipe their asses alone.", 134 | "The important thing about rules is knowing when to break them", 135 | "There are no limits to the creativity of the human being.", 136 | "There is no such thing as a simplified project, there are Devs without imagination.", 137 | "This is the magic, that isn't magic that rails does.", 138 | "Today is a great day to code.", 139 | "Ueh?", 140 | "When coding, you are your own worst enemy.", 141 | "The hard part is having to code every day. But, given that you code every day, each day becomes easier.", 142 | "The last 10% of developing time of a software take actually 90% of the project time.", 143 | "Monetizing upon user error is a mistake by itself.", 144 | "If you never deleted a database when you were young, you will definitely do it when you're old", 145 | "If I had a windowpane, I'd call it X-Vidros... Imagine how many people would accidentally come in, thinking it's bitching.", 146 | "If you never deleted a database when you were young, you will definitely do it when you're old", 147 | "Only retarded fail in psychotechnician", 148 | "The coolest project is the one you're currently working on.", 149 | "We have a lot of great options here in the food court. So folks, are we having McDonalds or Burger King?", 150 | "If you use the phrase 'what backup???' there is a good chance that you are a dummy.", 151 | "A senior is just a junior who has learned how to fix his mistakes without creating new ones.", 152 | "You can fear a lot of things in this life, but not operating systems.", 153 | "Then you select the octothorp #", 154 | "The best code is not having code.", 155 | "Here at Le Wagon we are under standard conditions for temperature and pressure.", 156 | "The biggest challenge in Artificial Intelligence is natural stupidity.", 157 | "Funk and good make no sense in the same sentence.", 158 | "No one knows how to write with a pen nowadays.", 159 | "Brazil is Russia from the Americas", 160 | "If you had dedicated all that time to una consulta you'd have five consulta by now.", 161 | "Being vegan is a bit disrespectful to your ancestors.", 162 | "Why, man? Just 'cause I'm right?", 163 | "Deep Web is WhatsApp.", 164 | "I had to open a ticket with myself.", 165 | "The problem of being an adult is the 'I deserve it'.", 166 | "My dream is to have a cartório, because you earn money mistreating people.", 167 | "If you have a problem which you solve with regex, now you have two problems.", 168 | "The mistake is in 'I don't know what I've done.", 169 | "Coxinha is like an ice cream.", 170 | "People who put the beans next to the rice just have bad character, below the rice is psychopathy.", 171 | "Sandwich is a term.", 172 | "That's not shit man, everybody needs to make money.", 173 | "I bought a Wii to play golf indeed.", 174 | "A chicken is a yolk maker.", 175 | "CORK. CO-RK.", 176 | "Pizza is the cosiest food ever.", 177 | "Your code doesn't care if you know the theory or not, if it doesn't work, it doesn't work.", 178 | "Brazil is real life's GTA.", 179 | "There is tacky funk? I thought every funk was tacky!", 180 | "Those who are working and studying don't have time to earn money", 181 | "If you think about it, all software is made with the power of thought.", 182 | "Programmer's rule number 1 is - if it's working, don't mess with it!", 183 | "It is always better to have a product that does one thing very well than several things more or less.", 184 | "Podrão is always tastier than a gourmet snack.", 185 | "In the browser you can't have favorites, just like in life.", 186 | "If you still don't know what pull request is at this moment, it's complicated...", 187 | "If you're taking too long, you're probably doing it wrong.", 188 | "Whatsapp has a killer feature in comparison to Telegram - everyone uses Whatsapp", 189 | "Telegram is the Betamax of messaging apps", 190 | "People learn in two ways - either by putting a carrot in front, or by putting a carrot in the back.", 191 | "There is no writing gift, just as there is no programming gift. Everything is a matter of practice.", 192 | "View is a class like any other we've viewed.", 193 | "The toughest part about coding is not coding itself, but to deal with people coding in the same project", 194 | "A really good equipment is the one that does only one thing, but very well done.", 195 | "Jumping from a building is a nice hobby, but it's a pity that you can only do it once.", 196 | "Drone in Brazil only works to take cell phones to the prison", 197 | "At 10 years old you had the best thing in life - being 10 years old.", 198 | "Tetris is actually a metaphor for life, because there your mistakes accumulate and your successes disappear.", 199 | "Nespresso is the McDonald's from coffee", 200 | "Requeijão is not only cheese, it is the king of cheeses - BIG KING CHEESE", 201 | "This tool can be used like a knife, or you butter bread, or you kill a person.", 202 | "Lottery is the tax for those who don't know statistics", 203 | "We learn, learn, learn... and die dumb.", 204 | "Technology fears me.", 205 | "-- What's the best date you've ever had? -- Year, month, day, hour, minute, second.", 206 | "It is not 'gambiarra' if it works" 207 | ] 208 | --------------------------------------------------------------------------------