Slide 1

Slide 1 text

Algunas herramientas comunes en Ruby

Slide 2

Slide 2 text

Fernando Briano picandocodigo.net @picandocodigo

Slide 3

Slide 3 text

neo.com

Slide 4

Slide 4 text

RVM rvm.io Gestiona versiones de Ruby

Slide 5

Slide 5 text

fernando@endor ~ $ rvm list rvm rubies =* ruby­1.9.3­p286 [ x86_64 ] ruby­1.9.3­p327 [ x86_64 ] # => ­ current # =* ­ current && default # * ­ default fernando@endor ~ $ rvm list known # MRI Rubies [ruby­]1.8.6[­p420] (...) [ruby­]1.9.3­head [ruby­]2.0.0­preview1 ruby­head JRuby, GoRuby, TheCodeShop ­ MRI experimental patches, Rubinius, Ruby Enterprise Edition, Kiji, MagLev, Mac OS X Snow Leopard Or Newer, IronRuby ­­ Not implemented yet.

Slide 6

Slide 6 text

fernando@endor ~ $ rvm install jruby jruby­1.7.0 ­ #downloading jruby­bin­1.7.0, this may take a while depending on your connection... jruby­1.7.0 ­ #extracting jruby­bin­1.7.0 to /home/fernando/.rvm/src/jruby­1.7.0 jruby­1.7.0 ­ #extracted to /home/fernando/.rvm/src/jruby­1.7.0 jruby­1.7.0 ­ #nailgun jruby­1.7.0 ­ #installing to /home/fernando/.rvm/rubies/jruby­1.7.0 jruby­1.7.0 ­ #importing default gemsets (/home/fernando/.rvm/gemsets/) Saving wrappers to '/home/fernando/.rvm/bin'. fernando@endor ~ $ ruby ­­version jruby 1.7.0 (1.9.3p203) 2012­10­22 ff1ebbe on OpenJDK 64­Bit Server VM 1.7.0_09­b30 [linux­amd64] fernando@endor ~ $ rvm use jruby Using /home/fernando/.rvm/gems/jruby­1.7.0

Slide 7

Slide 7 text

rvm.io Usar archivos rvmrc por proyecto gemset por proyecto (cada aplicación tiene su ambiente de gemas distintivo) Alternativa: Simple Ruby Version Management: rbenv https://github.com/sstephenson/rbenv (no la he usado pero tiene buena pinta)

Slide 8

Slide 8 text

Ruby Gems gema – paquete de software en Ruby (aplicación, biblioteca, etc) Contenido: ● Código ● Documentación ● Gemspec (info)

Slide 9

Slide 9 text

Sistema de empaquetado: Formato estándard para distribuír código Ruby y publicar paquetes gem Herramienta sencilla para gestionar la instalación de paquetes Servidor de gemas para servirlas

Slide 10

Slide 10 text

¿A quién le interesaría ver cómo crear una gema?

Slide 11

Slide 11 text

fernando@endor ~ $ gem ­h gem install rake gem list ­­local gem build package.gemspec gem query gem help install http://docs.rubygems.org/

Slide 12

Slide 12 text

Debugger Cómo 'debuguear' en Ruby fernando@endor ~ $ gem install debugger require 'debugger'; debugger #Bundler: gem 'debugger'

Slide 13

Slide 13 text

Debugger Configuración fernando@endor ~ $ cat .rdebugrc set autolist set autoeval set autoreload

Slide 14

Slide 14 text

Comandos comunes # Siguiente (rdb:1) n # Step into (rdb:1) s # Continue (rdb:1) c # mostrar línea actual (rdb:1) l= # inspect ­ Returns a string containing a human­readable representation of obj.

Slide 15

Slide 15 text

Debugger ¿Demo?

Slide 16

Slide 16 text

¿Preguntas? ¡Gracias! http://www.meetup.com/rubymvd/