Skip to content

Instantly share code, notes, and snippets.

View carlossanchezp's full-sized avatar

Carlos Sánchez Pérez carlossanchezp

View GitHub Profile
@carlossanchezp
carlossanchezp / gist:5885946
Created June 28, 2013 16:18
ejemplo active admin through
class Brand < ActiveRecord::Base
has_many :car_models
end
class CarModel < ActiveRecord::Base
has_many :production_years
belongs_to :brand
end
class ProductionYear < ActiveRecord::Base
@carlossanchezp
carlossanchezp / gist:5850701
Created June 24, 2013 15:03
Si queremos buscar una ruta filtrada simple o compuesta de varias por una condición debemos hacer los siguiente:
1) Simple: rake routes| grep -e foo
2) Compuesta de varias:
2.1) rake routes|egrep "(foo|bar)"
2.2) rake routes| grep -e foo -e bar
@carlossanchezp
carlossanchezp / gist:5849953
Last active December 18, 2015 21:49
Opción 2: Exportar una consulta SQL a CSV desde terminal En este caso se asume que quieres los campos separados por tabulación para que luego puedas tratarlo en un Excel o similar. Tenemos que utilizar dos parámetros básicos: -e: Indicando que la consulta SQL va entre comillas -B: para indicar que los campos van separados por tabs Finalmente com…
mysql -u root -p MYDATABASE -e "select * from products" -B > fichero33.csv
o en consola podemos utilizar \T:
select * from products \T resultadoooooooo.sql;
@carlossanchezp
carlossanchezp / gist:5849929
Last active December 18, 2015 21:49
Opción 1: Exportar una consulta SQL a CSV desde la consola Mysql Si por ejemplo quieres que cada campo de tu consulta se separe con punto y coma y cada registro por un salto de línea windows (\r\n) o Unix (\n), lo que vendría a ser un CSV. Hay que hacer lo siguiente:
SELECT *
FROM mi_tabla
WHERE condicion
-- Aqui formato de exportación
INTO OUTFILE
'/tmp/fichero_salida.csv'
FIELDS TERMINATED BY ';'
# right expression, match
str = "12345"
eval = str.match /\A\d+\z/
puts eval ? 'match' : 'no match'
# right expression, no match
str = "hello123world"
eval = str.match /\A\d+\z/
puts eval ? 'match' : 'no match'
SchemaPlus::ActiveRecord::ConnectionAdapters::AbstractAdapter.module_eval do
def included(base) #:nodoc:
base.alias_method_chain :initialize, :schema_plus
end
def initialize_with_schema_plus(*args) #:nodoc:
initialize_without_schema_plus(*args)
adapter = case adapter_name
# name of MySQL adapter depends on mysql gem
# * with mysql gem adapter is named MySQL
@carlossanchezp
carlossanchezp / gist:5544075
Created May 8, 2013 22:12
Ruby OOP examples
#These Ruby OOP examples, are based on the Rails 3 presentation by @guilhermecaelum
class Person
#the attribute name is immutable
def initialize(name)
@name = name
end
def name
@name
end
end
# Put this in your ~/.irbrc for easy rails route scanning
#
# Usage:
# > routes
# => prints all routes
# > routes /GET.*user/i
# => prints routes matching a given regex
# > routes "user"
# => matches strings as well
class Ability
include CanCan::Ability
def initialize(user)
user ||= User.new # guest user
if user.role? :admin
can :manage, :all
else
can :read, :all
@carlossanchezp
carlossanchezp / gist:4697034
Last active December 12, 2015 02:18
Para ahorrar escritura e ir directamente a los directorios de trabajo, pon estas líneas en tu .bashrc. Ejemplo si pones goto midir te irá directamente al directorio de tu proyecto midir.
PRJ=$HOME/Proyectos
function goto
{
case $1 in
(mipr) cd $PRJ/miproyecto1;;
(pr) cd $PRJ;;
esac
pwd
}