Lucky是一个用Crystal写的Web框架,它可以帮助你在编译时捕获bug,并提供快速的响应,使编写Web应用程序快速、有趣和容易。
Lucky使用Action类来处理HTTP请求和响应,类将它处理的路由和参数映射到响应块。
特性:
速度快和使用很少的内存在创建一个新的Lucky项目时,可以包括身份验证、资产管理、CORS、数据库ORM等等与在QA或生产中发现bug不同,Lucky的设计目的是在编译时捕获尽可能多的bugJSONAPI
classApi::Users::Show<ApiActionget"/api/users/:user_id"dojsonuser_jsonendprivatedefuser_jsonuser=UserQuery.find(user_id){name:user.name,email:user.email}endendDatabase
#SetupthemodelclassUser<BaseModeltable:usersdocolumnlast_active_at:Timecolumnlast_name:Stringendend#AddsomemethodstohelpquerythedatabaseclassUserQuery<User::BaseQuerydefrecently_activelast_active_at.gt(1.week.ago)enddefsorted_by_last_namelast_name.lower.desc_orderendend#QuerythedatabaseUserQuery.new.recently_active.sorted_by_last_nameRenderingHTML:
classUsers::Index<BrowserActionroutedousers=UserQuery.new.sorted_by_last_namerenderIndexPage,users:usersendendclassUsers::IndexPage<MainLayoutneedsusers:UserQuerydefcontentrender_new_user_buttonrender_user_listendprivatedefrender_new_user_buttonlink"NewUser",to:Users::Newendprivatedefrender_user_listulclass:"user-list"do@users.eachdo|user|lidolinkuser.name,to:Users::Show.with(user.id)text"-"textuser.nickname||"NoNickname"endendendendend
评论