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/