Sinator adalah generator aplikasi Sinatra. Ini akan menghasilkan aplikasi Sinatra dengan konfigurasi minimum. Alasan di balik proyek ini karena saya ingin membuat banyak aplikasi web kecil berdasarkan Sinatra dengan permata Ruby pihak ketiga lainnya sebagai fondasi.
gem install sinatorDengan Bundler, masukkan kode ini di Gemfile Anda:
gem 'sinator'Hasilkan APP di direktori saat ini tanpa database.
sinator -n my_app
Hasilkan APP di direktori target tanpa database.
sinator -n my_app -t target/dir
Hasilkan APP di direktori saat ini dengan database. -d Opsi akan menghasilkan aplikasi dengan adaptor Sequel ORM dan postgresql.
sinator -n my_app -d
Jalankan server web di localhost.
bundle exec puma
Jalankan Konsol Aplikasi / Mode Interaktif / IRB.
bundle exec tux
Contoh ini mengasumsikan bahwa PostgreSQL sudah berjalan. Lihat github.com/kuntoaji/todo_sinator untuk aplikasi TODO yang dihasilkan dengan Sinator.
sinator -n my_app -dmy_appbundle installconfig/database.ymlcreatedb my_app_development .db/migrations/001_create_artists.rb dan letakkan kode berikut: 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 dan letakkan kode berikut: class Artist < Sequel :: Model
endapp/routes/artists.rb dan letakkan kode berikut: 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 dan letakkan kode berikut: < 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