記事

Last Modified:

Release Slack-v0.4.0 #Perl #Slack

この文書は以前のバージョン0.03とv0.4.0の変更点を記述しています。

このリリースには以前のバージョンと互換性の無い変更が含まれています。

インターフェースの追加

ありません。

インターフェースの変更

コントローラーのprefixを上書きできるようになりました

MyApp::Rootと名付けられたコントローラーが/にマッチするという仕組みは悪です。 /root/にマッチするコントローラーを(そのような要求は少ないことは分かっていますが)美しく記述できません。 特殊な名前は忌むべき存在です。

Dancerを参考に、必要とする場合にprefixを上書きできるようになりました。

sub prefix { return q{/}; }

この変更により、MyApp::Rootはその名の通り/root/にマッチするようになりました。

以前のバージョンではルートコントローラーはMyApp::Rootという形式のパッケージ名である必要がありました。

コントローラーはアプリケーションそのものを保持するようになりました

今後はコントローラーのappアクセサを通してconfigを取得してください。

Slack::LogSlack::Utilに変更されました

これはログ出力以外の役割を担うためです。

インターフェースの削除

コンテキストオブジェクトが一旦削除されました

コンテキストオブジェクトの仕様が不安定であるため、一旦削除されました。

ビューの実行のため、代わりにres->stash->{c}が用意されました。

res->stash->{c} = { app => $self, req => $req };

res->paramが削除されました

res->paramはもはや使われていませんでした。

実装の変更

Smart::Commentsの出力がより見やすくなりました

res->stashが空のハッシュで初期化されるように修正されました

以前のバージョンではundefでした。

appdirの検出に失敗していた問題が修正されました

パッケージ名が単層でない場合、典型的にはMyApp::Webなどの場合にappdirの検出に失敗していた問題が修正されました。

未定義のアクションコードを呼んでしまう問題が修正されました

リクエストに対応するアクションコードが定義されている場合のみ呼び出されるようになりました。

実装例が追加されました

簡単なアプリケーションの実装例がexample/ディレクトリに追加されました。