El sinatra es generador de aplicaciones de Sinatra. Generará la aplicación Sinatra con una configuración mínima. Las razones detrás de este proyecto porque quiero crear muchas aplicaciones web pequeñas basadas en Sinatra con otras gemas de Ruby de terceros como fundación.
gem install sinatorCon Bundler, pon este código en su archivo gem:
gem 'sinator'Genere la aplicación en el directorio actual sin base de datos.
sinator -n my_app
Genere la aplicación en el directorio de destino sin base de datos.
sinator -n my_app -t target/dir
Genere la aplicación en el directorio actual con la base de datos. -d La opción generará la aplicación con el adaptador Sequel ORM y PostgreSQL.
sinator -n my_app -d
Ejecute el servidor web en localhost.
bundle exec puma
Ejecute la consola de aplicación / modo interactivo / IRB.
bundle exec tux
Este ejemplo supone que PostgreSQL ya se está ejecutando. Consulte github.com/kuntoaji/todo_sinator para la aplicación TODO generada con SINATOR.
sinator -n my_app -dmy_appbundle installconfig/database.ymlcreatedb my_app_development .db/migrations/001_create_artists.rb y coloque el siguiente código: Sequel . migration do
up do
create_table ( :artists ) do
primary_key :id
String :name , :null => false
end
end
down do
drop_table ( :artists )
end
endrake db:migrateapp/models/Artist.rb y colocar el siguiente código: class Artist < Sequel :: Model
endapp/routes/artists.rb y coloque el siguiente código: class MyApp
get '/artists' do
@artists = Artist . all
erb :"artists/index"
end
post '/artists' do
@artist = Artist . new
@artist . name = params [ :name ]
@artist . save
redirect '/artists'
end
endapp/views/artists/index.erb y coloque el siguiente código: < h1 > List of Artist </ h1 >
< ul >
<% @artists . each do | artist | %>
< li > <%= artist . name %> </ li >
<% end %>
</ ul >
< form action =" /artists " method =" post " >
<%= Rack :: Csrf . tag ( env ) %>
< input type =" text " name =" name " />
< button > Submit </ button >
</ form >bundle exec puma de servidorlocalhost:9292/artists