Sinator é o gerador de aplicação Sinatra. Ele gerará o aplicativo Sinatra com a configuração mínima. As razões por trás deste projeto porque quero criar muitos pequenos aplicativos da Web baseados em Sinatra com outras jóias Ruby de terceiros como fundamento.
gem install sinatorCom o Bundler, coloque este código no seu GemFile:
gem 'sinator'Gere aplicativo no diretório atual sem banco de dados.
sinator -n my_app
Gere aplicativo no diretório de destino sem banco de dados.
sinator -n my_app -t target/dir
Gere um aplicativo no diretório atual com o banco de dados. -d Opção gerará aplicativo com Sequel ORM e Adaptador PostgreSQL.
sinator -n my_app -d
Execute o servidor da web no localhost.
bundle exec puma
Execute o console do aplicativo / modo interativo / IRB.
bundle exec tux
Este exemplo assume que o PostgreSQL já está em execução. Consulte Github.com/kuntoaji/todo_sinator para aplicativos TODO gerados com Sinator.
sinator -n my_app -dmy_appbundle installconfig/database.ymlcreatedb my_app_development .db/migrations/001_create_artists.rb e coloque o seguinte 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 e coloque o seguinte código: class Artist < Sequel :: Model
endapp/routes/artists.rb e coloque o seguinte 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 e coloque o seguinte 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 pumalocalhost:9292/artists