miércoles, 10 de mayo de 2017

Primeros pasos en Sinatra


Donde nos lleva la vida, no? Nunca pensé que tenia que retomar mis estudios en ruby y mucho menos con Sinatra. Pero esta bueno, volver a leer un lenguaje que me gusta mucho.

Si quieren saber que es Sinatra, acá tenemos un post:
http://emanuelpeg.blogspot.com.ar/2012/11/sinatra-rapida-creacion-de-aplicaciones.html

Empecemos por el principio, instalar Ruby. Eso es muy fácil y si usan linux :

sudo apt-get install ruby-full

En distros Debian, Ubuntu, Mint o cualquier derivado de debian que use apt.

$ sudo yum install ruby

En distros rhel y para otras distros: https://www.ruby-lang.org/es/documentation/installation/

También tenemos que instalar el software de instalación de paquetes RubyGem.

$  sudo apt-get install rubygems 

En distros Debian, Ubuntu, Mint o cualquier derivado de debian que use apt.

$  sudo yum install rubygems 

En distros rhel.

Vamos a ver la versión que instalamos con el comando:

ruby -v

Si dice algo así hemos tenido éxito:

ruby 2.3.1p112 (2016-04-26) [x86_64-linux-gnu]

Ya tenemos ruby las gemas, y ahora lo necesitamos a Sinatra:

$  gem install sinatra  

Esto hará que nuestro sistema descargue todas las dependencias como Rack y otras utilidades, aparte de la documentación oficial para varios de estos componentes, de forma que tengamos ayuda cuando queramos ejecutar algún comando en particular.

Ya una vez que tenemos instalado Sinatra y sus dependencias, empezar a utilizarlo , simplemente debemos crear un nuevo proyecto, es decir, una carpeta donde almacenar nuestros archivos y crear un archivo que llamaremos ejemplo.rb (muy original)

~ $ mkdir ejemplo
~ $ cd ejemplo
 ~/ejemplo $ nano ejemplo.rb

Y ahora escribimos el siguiente código:

require 'sinatra'

get '/' do
  "Hola, mundo!"
end

Y ya estamos, ahora a ejecutarlo:

$ ruby ejemplo.rb

Si todo salio bien tenemos la siguiente salida o parecida :

 /var/lib/gems/2.3.0/gems/rack-2.0.2/lib/rack/show_exceptions.rb:16: warning: already initialized constant Rack::ShowExceptions::CONTEXT
/usr/lib/ruby/vendor_ruby/rack/showexceptions.rb:16: warning: previous definition of CONTEXT was here
/var/lib/gems/2.3.0/gems/rack-2.0.2/lib/rack/show_exceptions.rb:114: warning: already initialized constant Rack::ShowExceptions::TEMPLATE
/usr/lib/ruby/vendor_ruby/rack/showexceptions.rb:115: warning: previous definition of TEMPLATE was here
[2017-05-10 22:44:39] INFO  WEBrick 1.3.1
[2017-05-10 22:44:39] INFO  ruby 2.3.1 (2016-04-26) [x86_64-linux-gnu]
== Sinatra (v1.4.7) has taken the stage on 4567 for development with backup from WEBrick
[2017-05-10 22:44:39] INFO  WEBrick::HTTPServer#start: pid=26437 port=4567

Lo importante es que levanto un servidor WEBrick en el puerto 4567 es decir que deberíamos ver un hermoso hola mundo en : http://localhost:4567/