lucky
v1.3.0

目標:バグを防ぎ、ほとんどのパフォーマンスの問題を忘れ、テストのデバッグと修正の代わりにコードにもっと時間を費やします。
要約すると、見事なWebアプリケーションを速く、楽しく、簡単に書くことができます。
ラッキーには、簡単に開始できる新しいガイドセットがあります。
こんにちはと言ってください。また、チャットルームで質問してください。
または、ラッキージャンプスタートで実際の作業アプリをコピーすることもできます。
ラッキーをインストールするには、オペレーティングシステムのインストールラッキーガイドをお読みください。このガイドでは、新しいラッキーアプリケーションの生成に使用されるコマンドラインユーティリティのインストールをご紹介します。
Twitterで@luckyframeworkをフォローして、最新の状態に保ちます。
API(メイン)
class Api::Users::Show < ApiAction
get " /api/users/:user_id " do
user = UserQuery .find(user_id)
json UserSerializer .new(user)
end
endget "/sign_in"などのカスタムルートをセットアップできます。user_idルートパラメーターがあるため、 user_idメソッドが生成されます。jsonを使用してJSONをレンダリングします。再利用可能なJSON応答のためのシリアル化剤を抽出します。 # Set up the model
class User < BaseModel
table do
column last_active_at : Time
column last_name : String
column nickname : String ?
end
end?列がnilなることができるタイプに。クリスタルは、機能しない方法を呼び出さないことを覚えておくのに役立ちます。last_active_atおよびlast_nameの存在検証を設定します。 # Add some methods to help query the database
class UserQuery < User::BaseQuery
def recently_active
last_active_at.gt( 1 .week.ago)
end
def sorted_by_last_name
last_name.lower.desc_order
end
end
# Query the database
UserQuery .new.recently_active.sorted_by_last_nameUser::BaseQueryが自動的に生成されます。クエリをカスタマイズするために継承します。String列列のlowerメソッドを使用して、Postgresが小文字のすべてをソートすることを確認します。gtを使用して、1週間以上前にユーザーを最後にアクティブにします。 Luckyには、複雑なクエリを作成し、特定の方法をタイプするための強力な抽象化がたくさんあります( lowerなど)。 class Users::Index < BrowserAction
get " /users " do
users = UserQuery .new.sorted_by_last_name
render IndexPage , users: users
end
end
class Users::IndexPage < MainLayout
needs users : UserQuery
def content
render_new_user_button
render_user_list
end
private def render_new_user_button
link " New User " , to: Users :: New
end
private def render_user_list
ul class: " user-list " do
users.each do | user |
li do
link user.name, to: Users :: Show .with(user.id)
text " - "
text user.nickname || " No Nickname "
end
end
end
end
endneeds users : UserQueryタイプUserQueryのユーザーを渡す必要があることをコンパイラに伝えます。Users::Newを使用してください。 with : Users::Show.with(user.id)を使用してパラメーションを渡します。パスヘルパーとヘルパーが複数化されているかどうかを思い出そうとすることはもうありません - パラメーションをルートに渡すのを忘れた場合、ラッキーはコンパイル時にあなたに知らせます。column nickname : String? NILABLEとして、Luckyは、 nil印刷を許可していないため、 text user.nickname行った場合、ページをコンパイルできません。代わりに、 "No Nickname"フォールバックを追加します。 HTMLに空のテキストを誤って印刷することはもうありません! クリスタルの依存関係をインストールする必要があります。
shards installcrystal specを実行します。 Convributing.mdを参照してください
私たちは、ラッキーをより良くするために努力をしたすべてのコミュニティメンバーを愛しています。あなたがそれらの人々の一人なら、私たちはあなたにTシャツを与えたいです!
シャツを手に入れるには、あなたがラッキーに多大な貢献をしたことをお願いします。これには、バグの修正と機能の実装を備えたPRを提出すること、他のメンバーが問題を介して作業するのを支援すること、Luckyを使用してReal Worldアプリケーションの展開などが含まれます。
シャツを請求するには、このフォームに記入してください。
Paulcsmith Paul Smith - ラッキーのオリジナルクリエイター
contrib.rocksで作られています。
lucky watch 。ありがとう@samueleaton!