Синатор - это генератор приложений Sinatra. Он будет генерировать приложение Sinatra с минимальной конфигурацией. Причины этого проекта, потому что я хочу создать много небольших веб -приложений, основанных на Sinatra с другими сторонними рубиновыми драгоценными камнями в качестве основы.
gem install sinatorС Бундлером поместите этот код в свой Gemfile:
gem 'sinator'Создать приложение в текущем каталоге без базы данных.
sinator -n my_app
Создать приложение в целевом каталоге без базы данных.
sinator -n my_app -t target/dir
Создать приложение в текущем каталоге с базой данных. -d опция будет генерировать приложение с помощью Sequel ORM и адаптера PostgreSQL.
sinator -n my_app -d
Запустите веб -сервер на Localhost.
bundle exec puma
Запустите консоль приложения / интерактивный режим / IRB.
bundle exec tux
Этот пример предполагает, что PostgreSQL уже работает. См. Github.com/kuntoaji/todo_sinator для приложения TODO, сгенерированного с синатором.
sinator -n my_app -dmy_appbundle installconfig/database.ymlcreatedb my_app_development .db/migrations/001_create_artists.rb и поместите следующий код: 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 и поместите следующий код: class Artist < Sequel :: Model
endapp/routes/artists.rb и поместите следующий код: 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 и поместите следующий код: < 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