Hanami 1.2.0 追加機能
昨日Hanamiのバージョン1.2.0がリリースされたので変更点をまとめたいと思います。
HTTP/2 Early Hints
HTTP/2のあたらしいステータスコードであるEarly Hintsに対応しました。
以下のように設定すれば有効化されます。
# config/puma.rb
# ...
early_hints true
# config/environment.rb
Hanami.configure do
# ...
early_hints true
end
Unobtrusive JavaScript (UJS)
日本語で控えめなjavascriptですね。
rails4で言うところの
form_for @user, remote: true
がサポートされました。
使用方法はまずhanami-ujs
をGemfile
に追加します。
そしてapps/web/templates/application.html.erb
を以下のように修正します
-
<head>
の中に<%= csrf_meta_tags %>
を追加する。 -
<%= javascript 'hanami-ujs' %>
を任意の場所に追加する。(</body>
の直前がおすすめです。)
これで設定は終わりです。実際に使用する場合は
<%=
form_for :search, "/search", remote: true do
# ...
submit "Search"
end
%>
このようにすれば使用できます。
新しい開発者のためのエラーページ
better_errors
をもとに新しいhanami-webconsole
が追加されました。
これはアップデートすればデフォルトで設定されるようです。
※追記
デフォルトでは入らないみたいです
hanami-webconsole
を使用するにはGemfile
に
group :development do
gem 'hanami-webconsole'
end
を追記します。
さらに条件があり、shotgun
のコードリローディングと互換性が無いようなので、
以下のようにコードリローディングを無効化して起動する
$ bundle exec hanami s --no-code-reloading
もしくはGemfile
以下を追記しコマンドを実行
group :plugins do
gem 'hanami-reloader'
end
$ bundle exec hanami g reloader
あとはいつものように
$ bundle exec hanami s
で起動するだけでリッチなエラー画面が出るようになります
CLI hook
Hanamiのcliにhookを仕込めるようになりました。
使用方法は以下の2つあり、以下のようにブロックで処理を渡すか、
Hanami::CLI.after("db migrate") do
puts "the database has 23 tables"
end
#call
を実装したクラスのインスタンスを引数として渡すかのどちらかです。
class DatabaseTableCounter
def call(*)
puts "the database has 23 tables"
end
end
Hanami::CLI.after "db migrate", DatabaseTableCounter.new
Project Rack middleware
これはgem
開発者向けの機能ですが、
Rack middlewareをuse
する新しい方法として、以下のような使用が認められるようになりました。
Hanami.plugin do
middleware.use BetterErrors::Middleware
end
これによりgem
側でrack middlewareのuse
を強制させることが可能になりました。
Custom repositories commands
Hanamiでrom
のcommands
が使用できるようになったようです。
例えば複数のレコードを一括で登録したい場合に以下のような方法で実現することができるようです。
class TaskRepository < Hanami::Repository
def create_many(data)
command(create: :tasks, result: :many).call(data)
end
end
これに関しては詳しいことはちょっとわからないので、後日追記したいと思っています。
おわり
以上が今回のアップデートで追加された機能です。
もちろんバグ修正もいくつか含まれているようです。
またHanami 2.0.0の開発も始まったようです。
個人的にはrubyといえばの中にHanamiも入ることを願ってます
皆さんもEnjoy Hanamiしましょう!
Author And Source
この問題について(Hanami 1.2.0 追加機能), 我々は、より多くの情報をここで見つけました https://qiita.com/ippachi/items/6ae192fe81da93917683著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .