SlideShare ist ein Scribd-Unternehmen logo
1 von 14
Gems for Rails
Gemas para el día a día
Stephanie Burckhardt
@sluthien
Producción

Exception-notification

Whenever

Ransack

Paper-trail

Chartkick+groupdate
Exception Notification

Adelantarse al bug, antes de que el cliente lo note
Whenever
Trabajos cron para rails

Apuntar al binario
set :job_template, nil
job_type :production_rake, 'cd :path && /var/www/rails/.rvm/bin/rake-ruby-1.9.3-
p286 :task RAILS_ENV=production'
every 1.hour do
production_rake "ccv:get_results"
end
Ransack

 User.search(:first_name_cont => "Rya").result.to_sql
=> SELECT "users".* FROM "users"  WHERE ("users"."first_name" LIKE '%Rya
%')

User.search(:first_name_or_last_name_cont => "Rya").result.to_sql
=> SELECT "users".* FROM "users"  WHERE ("users"."first_name" LIKE '%Rya
%' 
   OR "users"."last_name" LIKE '%Rya%')

User.search(:age_in => 20..25).result.to_sql
=> SELECT "users".* FROM "users" WHERE "users"."age" IN (20, 21, 22, 23, 
24, 25)
Métodos Ransack

eq

lt

lteq

In

Cont

Otros
Paper-trail
Permite protegerse de los cambios indeseados
En el modelo:
has_paper_trail
•
Elegir cuando guardar los cambios
•
Quién es el responsable del último cambio
•
Revertir cambios
Chartkick+groupdate
Gráficos rápidos
<%= line_chart
User.group_by_day(:created_at).count
%>
<%= column_chart
Task.group_by_hour_of_day(:created_a
t).count %>
si está registrado el binario:
mysql_tzinfo_to_sql /usr/share/zoneinfo
| mysql -u root mysql
Desarrollo

Annotate

Debugger

Bullet

Better errors+metarequest
Annotate
Documentación de cada parte del modelo, a través de sección comentada en éste.
# == Apariencia de modelo después de implementar Annotate
#
# Table name: line_items
#
# id :integer(11) not null, primary key
# quantity :integer(11) not null
# product_id :integer(11) not null
# unit_price :float
# order_id :integer(11)
#
class LineItem < ActiveRecord::Base
belongs_to :product
Debugger
Levantar zona de control
Seguimiento línea a línea
Comandos :
C= continuar ejecución
N=siguiente línea
P= imprimir valor variable
Bullet
Previene múltiples consultas a la base de datos , en
vez
de una consulta que carga las relaciones del objeto de
una
vez.
Mejorar el trato a las relaciones N+1
Persona tiene muchas mascotas
Better errors
Errores y depuración en el navegador
Fin
Gracias!

Weitere ähnliche Inhalte

Andere mochten auch

Presentacion ingles katherine varon
Presentacion  ingles katherine varonPresentacion  ingles katherine varon
Presentacion ingles katherine varon
IE EL TESORO
 
Menager bosc2010 mobyle
Menager bosc2010 mobyleMenager bosc2010 mobyle
Menager bosc2010 mobyle
BOSC 2010
 
PROCESO DE FOTOMONTAJE 02
PROCESO DE FOTOMONTAJE 02PROCESO DE FOTOMONTAJE 02
PROCESO DE FOTOMONTAJE 02
cecilia
 
Bonnal bosc2010 bio_ruby
Bonnal bosc2010 bio_rubyBonnal bosc2010 bio_ruby
Bonnal bosc2010 bio_ruby
BOSC 2010
 
안드로이드스터디 6
안드로이드스터디 6안드로이드스터디 6
안드로이드스터디 6
jangpd007
 

Andere mochten auch (16)

Responding to Climate Change at the Local Level
Responding to Climate Change at the Local LevelResponding to Climate Change at the Local Level
Responding to Climate Change at the Local Level
 
Presentacion ingles katherine varon
Presentacion  ingles katherine varonPresentacion  ingles katherine varon
Presentacion ingles katherine varon
 
Status and perspectives of EU research in Social Sciences and Humanities in FP7
Status and perspectives of EU research in Social Sciences and Humanities in FP7Status and perspectives of EU research in Social Sciences and Humanities in FP7
Status and perspectives of EU research in Social Sciences and Humanities in FP7
 
Menager bosc2010 mobyle
Menager bosc2010 mobyleMenager bosc2010 mobyle
Menager bosc2010 mobyle
 
PROCESO DE FOTOMONTAJE 02
PROCESO DE FOTOMONTAJE 02PROCESO DE FOTOMONTAJE 02
PROCESO DE FOTOMONTAJE 02
 
Coventry
CoventryCoventry
Coventry
 
Portfolio Michelle Merritt
Portfolio Michelle MerrittPortfolio Michelle Merritt
Portfolio Michelle Merritt
 
The Lerato Tower 3 Presentation
The Lerato Tower 3 PresentationThe Lerato Tower 3 Presentation
The Lerato Tower 3 Presentation
 
Alliance overview3.18.10
Alliance overview3.18.10Alliance overview3.18.10
Alliance overview3.18.10
 
Utube
UtubeUtube
Utube
 
NRTEE: Kirsten Vice
NRTEE: Kirsten ViceNRTEE: Kirsten Vice
NRTEE: Kirsten Vice
 
Teaser Fontein visie huisgroepen 2010/2011
Teaser Fontein visie huisgroepen 2010/2011 Teaser Fontein visie huisgroepen 2010/2011
Teaser Fontein visie huisgroepen 2010/2011
 
What is ineighbourtv?
What is ineighbourtv?What is ineighbourtv?
What is ineighbourtv?
 
Bonnal bosc2010 bio_ruby
Bonnal bosc2010 bio_rubyBonnal bosc2010 bio_ruby
Bonnal bosc2010 bio_ruby
 
안드로이드스터디 6
안드로이드스터디 6안드로이드스터디 6
안드로이드스터디 6
 
Michelle lauren
Michelle laurenMichelle lauren
Michelle lauren
 

Ähnlich wie Gems for rails

Conferencia Rails: Integracion Continua Y Rails
Conferencia Rails: Integracion Continua Y RailsConferencia Rails: Integracion Continua Y Rails
Conferencia Rails: Integracion Continua Y Rails
David Calavera
 
Scripting para Pentesters v1.0
Scripting para Pentesters v1.0Scripting para Pentesters v1.0
Scripting para Pentesters v1.0
wcuestas
 

Ähnlich wie Gems for rails (20)

Conferencia Rails: Integracion Continua Y Rails
Conferencia Rails: Integracion Continua Y RailsConferencia Rails: Integracion Continua Y Rails
Conferencia Rails: Integracion Continua Y Rails
 
7 Gemas de Ruby on Rails que podrían salvarte el dia
7 Gemas de Ruby on Rails que podrían salvarte el dia7 Gemas de Ruby on Rails que podrían salvarte el dia
7 Gemas de Ruby on Rails que podrían salvarte el dia
 
Monitorización En OpenSolaris
Monitorización En OpenSolarisMonitorización En OpenSolaris
Monitorización En OpenSolaris
 
Scripting para Pentesters v1.0
Scripting para Pentesters v1.0Scripting para Pentesters v1.0
Scripting para Pentesters v1.0
 
Meetup Real Time Aggregations Spark Streaming + Spark Sql
Meetup Real Time Aggregations  Spark Streaming + Spark SqlMeetup Real Time Aggregations  Spark Streaming + Spark Sql
Meetup Real Time Aggregations Spark Streaming + Spark Sql
 
Javascript en proyectos reales: jQuery
Javascript en proyectos reales: jQueryJavascript en proyectos reales: jQuery
Javascript en proyectos reales: jQuery
 
Tecnologías para microservicios
Tecnologías para microserviciosTecnologías para microservicios
Tecnologías para microservicios
 
Marchando sobre Rieles
Marchando sobre RielesMarchando sobre Rieles
Marchando sobre Rieles
 
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVCSEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
 
Rendimiento en magento
Rendimiento en magentoRendimiento en magento
Rendimiento en magento
 
Katanga
KatangaKatanga
Katanga
 
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
 
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
 
PHPAJAX
PHPAJAXPHPAJAX
PHPAJAX
 
Workshop administracion cassandra
Workshop administracion cassandraWorkshop administracion cassandra
Workshop administracion cassandra
 
Programa en Rails como si Jugases con Lego. Javier Ramirez
Programa en Rails como si Jugases con Lego. Javier RamirezPrograma en Rails como si Jugases con Lego. Javier Ramirez
Programa en Rails como si Jugases con Lego. Javier Ramirez
 
Javier Ramirez Rails Plugins Pdf
Javier Ramirez Rails Plugins PdfJavier Ramirez Rails Plugins Pdf
Javier Ramirez Rails Plugins Pdf
 
Rails Plugins. Javier Ramirez
Rails Plugins. Javier RamirezRails Plugins. Javier Ramirez
Rails Plugins. Javier Ramirez
 
Presentación Ruby on Rails en Softare Freedom Day 09 Buenos Aires
Presentación Ruby on Rails en Softare Freedom Day 09 Buenos AiresPresentación Ruby on Rails en Softare Freedom Day 09 Buenos Aires
Presentación Ruby on Rails en Softare Freedom Day 09 Buenos Aires
 
Presentacion Ruby on Rails en Universidad Autónoma 2009
Presentacion Ruby on Rails en Universidad Autónoma 2009Presentacion Ruby on Rails en Universidad Autónoma 2009
Presentacion Ruby on Rails en Universidad Autónoma 2009
 

Kürzlich hochgeladen

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Kürzlich hochgeladen (11)

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 

Gems for rails