sinator
1.0.0
سيناتور هو مولد تطبيق Sinatra. سوف يولد تطبيق Sinatra مع الحد الأدنى من التكوين. الأسباب الكامنة وراء هذا المشروع لأنني أريد إنشاء العديد من تطبيقات الويب الصغيرة استنادًا إلى Sinatra مع GEMS من طرف ثالث آخر كأساس.
gem install sinatorمع Bundler ، ضع هذا الرمز في 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.
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