generator

ジェネレータ

花見は、当社の開発プロセスをスピードアップするために便利なコードジェネレータを持っています。

 

アプリケーション

花見のアーキテクチャでは、我々は下で実行されている複数の花見アプリケーションを持つことができますapps/。デフォルトのアプリケーションが呼び出されたWebとの下で住んでいますapps/web

私たちは私たちのプロジェクトに追加するさまざまなコンポーネントのための新しいアプリケーションを生成することができます。

% bundle exec hanami generate app admin

これは名前のアプリケーション生成Adminの下をapps/admin

 

行動

1つのコマンドで対応するビュー、テンプレート、ルート及びテストコードと一緒にアクションを発生させます。

% bundle exec hanami generate action web books#show

最初の引数は、web、花見プロジェクトにおけるターゲットアプリケーションの名前です。

引数は、books#showコントローラの名前と番号記号によって分離されたアクション(あります#)。

あなたがビューとテンプレートなしで、唯一のアクションを生成したい場合は、使用してそれを行うことができます--skip-view

% bundle exec hanami generate action web books#show --skip-view

あなたが特定の方法で行動を生成したい場合は、使用してそれを行うことができます--method

% bundle exec hanami generate action web books#create --method=post

 

ルート

生成されたルートは、コントローラ名にちなんで命名されます。

# apps/web/config/routes.rb
get '/books', to: 'books#show'

我々はルートファイルを編集せずに、ルートURLをカスタマイズしたい場合は、我々は指定することができ--url、引数を。

% bundle exec hanami generate action web books#show --url=/books/:id

これは、次のルートが生成されます。

# apps/web/config/routes.rb
get '/books/:id', to: 'books#show'

デフォルトのHTTPメソッドがあるGETという名前のアクションを除き、:

  • create、これを使用します。 POST
  • update、これを使用します。 PATCH
  • destroy、これを使用します。 DELETE

これは、使用して、あなたのルートを助けるべきでRESTfulなリソースを

また、指定することによって、HTTPメソッドを設定することができます--method呼び出すときに引数をhanami generate action

 

モデル

1つのコマンドでエンティティとリポジトリーの生成

% bundle exec hanami generate model book
      create  lib/bookshelf/entities/book.rb
      create  lib/bookshelf/repositories/book_repository.rb
      create  spec/bookshelf/entities/book_spec.rb
      create  spec/bookshelf/repositories/book_repository_spec.rb

これは、対応するリポジトリと、テストコードでエンティティを生成します。

 

移行

データベースの移行を生成します

% bundle exec hanami generate migration create_books
      create  db/migrations/20161112113203_create_books.rb

それはUTCタイムスタンプと、我々が指定した名前で空のマイグレーションを生成しますdb/migrations/20161112113203_create_books.rb

 

メーラー

メーラーを生成します

% bundle exec hanami generate mailer welcome

これは、次のファイルを作成します。

% tree lib/
lib
├── bookshelf
│   # ...
│   ├── mailers
│   │   ├── templates
│   │   │   ├── welcome.html.erb
│   │   │   └── welcome.txt.erb
│   │   └── welcome.rb # Mailers::Welcome
# ...

 

秘密

アプリケーションのためのHTTPセッションの秘密を生成します。

% bundle exec hanami generate secret web
Set the following environment variable to provide the secret token:
WEB_SESSIONS_SECRET="a6aa65a71538a56faffe1b1c9e96c0dc600de5dd14172f03c35cc48c3b27affe"