Sinator est un générateur d'application Sinatra. Il générera l'application Sinatra avec une configuration minimale. Les raisons de ce projet parce que je veux créer de nombreuses petites applications Web basées sur Sinatra avec d'autres tiers Ruby Gems comme fondation.
gem install sinatorAvec Bundler, mettez ce code dans votre Gemfile:
gem 'sinator'Générez l'application dans le répertoire actuel sans base de données.
sinator -n my_app
Générez l'application dans le répertoire cible sans base de données.
sinator -n my_app -t target/dir
Générez l'application dans le répertoire actuel avec base de données. L'option -d générera l'application avec Sequel ORM et l'adaptateur PostgreSQL.
sinator -n my_app -d
Exécutez le serveur Web sur localhost.
bundle exec puma
Exécutez la console d'application / mode interactif / IRB.
bundle exec tux
Cet exemple supposait que PostgreSQL est déjà en cours d'exécution. Voir github.com/kuntoaji/todo_sinator pour l'application TODO générée avec Sinator.
sinator -n my_app -dmy_appbundle installconfig/database.ymlcreatedb my_app_development .db/migrations/001_create_artists.rb et mettre le code suivant: 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 et mettez le code suivant: class Artist < Sequel :: Model
endapp/routes/artists.rb et mettez le code suivant: 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 et mettez le code suivant: < 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