Gems for rails

428 views

Published on

Gems for Rails
Gemas para el día a día

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
428
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Gems for rails

  1. 1. Gems for RailsGemas para el día a díaStephanie Burckhardt@sluthien
  2. 2. ProducciónException-notificationWheneverRansackPaper-trailChartkick+groupdate
  3. 3. Exception NotificationAdelantarse al bug, antes de que el cliente lo note
  4. 4. WheneverTrabajos cron para railsApuntar al binarioset :job_template, niljob_type :production_rake, cd :path && /var/www/rails/.rvm/bin/rake-ruby-1.9.3-p286 :task RAILS_ENV=productionevery 1.hour doproduction_rake "ccv:get_results"end
  5. 5. 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)
  6. 6. Métodos RansackeqltlteqInContOtros
  7. 7. Paper-trailPermite protegerse de los cambios indeseadosEn el modelo:has_paper_trail•Elegir cuando guardar los cambios•Quién es el responsable del último cambio•Revertir cambios
  8. 8. Chartkick+groupdateGráficos rápidos<%= line_chartUser.group_by_day(:created_at).count%><%= column_chartTask.group_by_hour_of_day(:created_at).count %>si está registrado el binario:mysql_tzinfo_to_sql /usr/share/zoneinfo| mysql -u root mysql
  9. 9. DesarrolloAnnotateDebuggerBulletBetter errors+metarequest
  10. 10. AnnotateDocumentació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::Basebelongs_to :product
  11. 11. DebuggerLevantar zona de controlSeguimiento línea a líneaComandos :C= continuar ejecuciónN=siguiente líneaP= imprimir valor variable
  12. 12. BulletPreviene múltiples consultas a la base de datos , envezde una consulta que carga las relaciones del objeto deunavez.Mejorar el trato a las relaciones N+1Persona tiene muchas mascotas
  13. 13. Better errorsErrores y depuración en el navegador
  14. 14. FinGracias!

×