Skip to content

Instantly share code, notes, and snippets.

View carlosantoniodasilva's full-sized avatar
👨‍💻
Hacking beautiful code...

Carlos Antonio da Silva carlosantoniodasilva

👨‍💻
Hacking beautiful code...
View GitHub Profile
@carlosantoniodasilva
carlosantoniodasilva / apparition-bug.rb
Last active February 18, 2020 00:38
Sample one-file app to try to reproduce an issue with Capybara + Apparition: https://github.com/twalpole/apparition/issues/40
# frozen_string_literal: true
=begin
Sample one-file app to try to reproduce an issue with Capybara + Apparition:
https://github.com/twalpole/apparition/issues/40
Running the file using `ruby` causes it to fail and log the following response:
log: -> RESPONSE: "" "success" {"readyState":4,"responseText":"","status":200,"statusText":"OK"}
@carlosantoniodasilva
carlosantoniodasilva / deep_config.rb
Last active August 29, 2015 14:05
Deep config test
require 'active_support/all'
class RailsConfig
class Options < ActiveSupport::OrderedOptions
def initialize(value = nil)
value.each_pair { |k, v| set_value k, v } if value.is_a?(Hash)
end
def method_missing(meth, *args)
if meth =~ /=$/
@carlosantoniodasilva
carlosantoniodasilva / devise.pt-BR.yml
Created June 10, 2014 16:41
Devise translations to pt-BR.
pt-BR:
devise:
confirmations:
confirmed: 'Sua conta foi confirmada com sucesso.'
send_instructions: 'Dentro de minutos, você receberá um e-mail com instruções para a confirmação da sua conta.'
send_paranoid_instructions: 'Se o seu endereço de e-mail estiver cadastrado, você receberá uma mensagem com instruções para confirmação da sua conta.'
failure:
already_authenticated: 'Você já está logado.'
inactive: 'Sua conta ainda não foi ativada.'
invalid: 'E-mail ou senha inválidos.'
require 'benchmark/ips'
ARRAY = [1,2,3,1,'2',4,'5',6,7,8,9,'10']
Benchmark.ips do |x|
x.report("while") {
hash = {}
index = 0
length = ARRAY.length
#!/usr/bin/env ruby
require 'socket'
test_file = ARGV[0]
socket = UNIXSocket.new('testing.sock')
socket.write(test_file)
socket.close_write
@carlosantoniodasilva
carlosantoniodasilva / ar-override-define_attribute_methods.rb
Last active December 13, 2015 17:59
Test AR monkey patch of define_attribute_methods.
require 'active_record'
require 'active_record/base'
module ActiveRecord
module CVE123456
def define_attribute_methods
# ....
raise "OMG Monkey Patch!"
end
end
@carlosantoniodasilva
carlosantoniodasilva / simple_form_hour_input.rb
Created January 25, 2013 02:05
SimpleForm hour select input example.
# app/inputs/hour_input.rb
class HourInput < SimpleForm::Inputs::Base
def input
@builder.select(attribute_name, hour_options, { :selected => selected_value }, { :class => "input-medium" })
end
private
# The "Selecione..." string could also be translated with something like: I18n.t("helpers.select.prompt')
def hour_options
@carlosantoniodasilva
carlosantoniodasilva / bench_hash_key_vs_fetch.rb
Created January 9, 2013 15:56
Benchmarck Hash#[] vs Hash#fetch
require 'benchmark'
TIMES = 100000
HASH = { as: :fuu }
Benchmark.bm(25) do |x|
x.report('[:as] (existing)') do
TIMES.times do
HASH[:as] || :default
end
@carlosantoniodasilva
carlosantoniodasilva / infinite_comparable.rb
Last active December 10, 2015 14:38
Infinite Comparable attempt to refactor.
define_method '<=>_with_infinity' do |other|
if other.class == self.class
public_send('<=>_without_infinity', other)
else
infinite = try(:infinite?)
other_infinite = other.try(:infinite?)
# inf <=> inf
if infinite && other_infinite
infinite <=> other_infinite
@carlosantoniodasilva
carlosantoniodasilva / bigdecimal-perf.rb
Created January 3, 2013 12:47
BigDecimal performance
require 'benchmark/ips'
require 'bigdecimal'
Benchmark.ips do |x|
x.report("== true") {
BigDecimal('3') == true
}
x.report("TrueClass") {
TrueClass === BigDecimal('3')