Skip to content

Instantly share code, notes, and snippets.

View tomascco's full-sized avatar

Tomás Coêlho tomascco

View GitHub Profile
@tomascco
tomascco / devcontainer.json
Created October 13, 2023 22:44
Ruby on Whales .devcontainer.json
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/ruby-rails-postgres
{
"name": "Name",
"dockerComposeFile": "../.dockerdev/compose.yml",
"overrideCommand": true,
"service": "rails",
"workspaceFolder": "/app",
// Se tiver outros serviços necessários no compose, como "webpackserver" ou "esbuild"
// colocar aqui
@tomascco
tomascco / example.rb
Created October 13, 2023 11:58
Using ferrum to generate PDFs
require "bundler/inline"
gemfile do
source "https://rubygems.org"
gem "ferrum"
end
# URL do front a ser visitada para gerar o relatório, possívelmente com estilos CSS próprios para
@tomascco
tomascco / exemplo1
Last active July 24, 2023 14:12
PDFs de exemplo da palestra para o 32° GURU-CE
%PDF-1.7
1 0 obj
<<
/Type /Catalog
/Pages 2 0 R
>>
endobj
2 0 obj
<<
@tomascco
tomascco / webhook.json
Last active July 11, 2022 20:36
Docgen webhook v 2.0.2.alpha
{
"document": {
"code": "DS-00319",
"status": "sent",
"created_at": "2022-07-11 16:01:55 -0300",
"updated_at": "2022-07-11 16:02:24 -0300",
"expiration_date": "2022-07-31",
"contract_start": "2022-07-11",
"contract_months": 12,
"contract_end": "2023-07-11",
{
"version": "v1",
"event": "document_was_signed",
"data": {
"document": {
"id": 150412,
"code": "DS-00312",
"status": "read",
"value": "2888.0",
"created_at": "2022-06-28T12:24:11.470-03:00",
module PicoCase
class Result
attr_reader :type, :data
def self.Success(**data)
new(:success, data)
end
def self.Failure(**data)
new(:failure, data)

atalhos

  • Ctrl+Shfit+P: paleta de comandos
  • Ctrl+p: pesquisa de arquivos
  • Ctrl+Shift+F: pesquisa e replace global
  • Ctrl+f: pesquisa e replace no arquivo atual
  • Ctrl+Shift+K: remove a linha atual
  • Ctrl + d: seleciona uma ocorrência do texto selecionado
  • Alt+↑|↓: mover seleção atual de linhas
  • Shift+↑|↓|←|→: aumentar a seleção na direção
@tomascco
tomascco / talk.txt
Created December 16, 2020 15:26
Slides da talk
Software: qual sua utilidade?
Resolver problemas,
aplicando regras de negócio?
🤔
# todo sistema substitui um humano, que realiza processos de negócios como os que acontecem o tempo todo na GTi (jornada da gerência, de vendas, abraços quentinhos, etc).
Se nossos sistemas substituem
module Pokecli::EntityFormatters
class Pokemon
Unslugify = ->name { name.tr('-', ' ').capitalize }
StatFormatter = ->stat { "#{stat[0].capitalize}: #{stat[1]}" }
def self.render(response)
new(response).render
end
def initialize(response)
@tomascco
tomascco / benchmark.rb
Created November 17, 2020 18:33
blocks vs lambda
require 'benchmark/ips'
Lambda = ->n { n.even? }
Benchmark.ips do |x|
x.report('map with lambda literal') { (1..1_000).map(&->n { n.even? }) }
x.report('map with lambda constant') { (1..1_000).map(&Lambda) }
x.report('map with block') { (1..1_000).map { |n| n.even? } }
x.report('map with &') { (1..1_000).map(&:even?) }