1. tanaken on Rails
  2. #035: devcontainer, encrypte..
2024-09-01 07:41

#035: devcontainer, encrypted file, credentials:diff

Summary

今回のエピソードでは、Rails Luminary Awardsの推薦受付情報と、3件のプルリクエストが紹介されています。特に、DevContainerや暗号化ファイルの修正、そしてレールズクレデンシャルズの新機能について詳しく語られています。

Rails Luminary Awardsの紹介
第35回のtanaken on Railsです。
今週は、1件のお知らせと、3件のプルリクエストの紹介をします。
一つ目、これは以前もお知らせされていたお知らせなんですけども、
Rails Luminary Awardsの推薦の受付をしていますよというところで、
受付が明日までということになっております。
Rails Luminary Awardsは、
Railsのエコシステムとコミュニティに貢献した人を称える表彰です。
お心当たりがある方がいれば、推薦をぜひやってみましょう。
続いて、プルリクエスト3つの紹介に行きます。
一つ目、FixDevContainerGeneratorWith--DevOptionPathError、
Railtiesに関する変更です。
Railsのジェネレーターには、--Devというオプションがあります。
このオプションは、Rails本体をローカルブランチで変更したときに、
動作確認をするために使います。
RailsRailsのリポジトリを修正・開発する人向けの機能ということですね。
RailsのContributing Guideにも記載されていて、
BundleExecRailsNew--Devというような形で、
自分の手元のRails向けにRailsアプリケーションを作ることができます。
今回のプルリクエストでは、DevContainerGeneratorコマンドに
Devオプションを付けたときに、エラーになることを見つけて、
そのエラーを修正するということをやっています。
具体的にはどんなエラーが出ていたのかというと、
まず、例えばExampleApp--Devで開発用のRailsアプリケーションを入手したと、
そのExampleAppにディレクトリチェンジして、
BundleExecRailsNew--Devコンテナーを入手するとエラーになります。
パスのエラーになって、
RailsGenerators-RailsDevPathというコンスタントがありませんよ、
UninitializedConstantですよというエラーになっているということですね。
これを修正しましたということです。
2つ目、StripEncryptedFileContentsということで、
アクティブサポートに関する変更です。
暗号化ファイルのコンテンツに対して、
ストリング、ストリップメソッドをするように変更しています。
Railsのクレデンシャルなどの暗号化ファイルについて、
意図せずに開業コードが含まれちゃう場合ってありますよね。
そういう場合に複合化に失敗するということが、
よく複合化に失敗してて困ってるみたいな問題に陥ることがよくあります。
例えば、エディターが勝手に業末の開業を入れてくれたりするケースもあって、
開発者本人が気づかないことも結構あるんですよね。
この問題によるエラーが発生したときに、
エラーメッセージはごく一般的なエラー表現になっているので、
暗号化ファイルの中身が不正ですよ、インバリットですよ、
みたいなエラーになったりしており、
原因が開業なのかっていうのをすぐに開発者は分からないと。
多分これはエラーメッセージについても、
開業がおかしいですっていうエラーメッセージは達成なそうですよね。
素朴に暗号化ファイルの中身を検証していると思うんで。
ってなったときに、
このエラーが起きたときに解決するまでの時間っていうのは結構無駄だよね、
という話になりますよね。
なので、暗号化ファイルの中身について、
ストリングストリップメソッドを使うことで、
文字列の先頭と末尾の空白文字、開業などを含む、
これらを取り除いてあげることで、
同様のエラーが発生しなくなると。
そういう対応をしています。
続いて3つ目。
サポートカスタムエンヴァイロメンツオンビンレールズクレデンシャルディフト。
こちらはレールタイズに関する変更です。
レールズクレデンシャルズコマンドにおいて、
エンヴァイロメントオプションをつけると、
独自の環境変数の名前を扱うことができる。
プロダクションとかデベロップメントとか、
その辺はデフォルトである環境名ですけど、
他にも、ステージングとかプレビューとか、
そういう環境名を使いたいってことは世の中にはあるでしょう。
そういう時のために、レールズクレデンシャルコマンド、
レールズクレデンシャルショーとか、
エディットとかのコマンドでは、
--オプション、--エンヴァイロメントオプションをつけることで、
独自の環境名を扱うことができるようになっているんですけど、
クレデンシャルズディフコマンドだけは、
この独自の環境名を使うオプションが、
サポートされていないということが分かったと。
なので、サポートするように変更しましたというプレリクエストです。
このクレデンシャルズディフコマンドは、
認証情報の変更点を確認するために使うコマンドですね。
レールズクレデンシャルズエディットとかで、
エディットをした後、
レールズクレデンシャルズディフで、
変更点を確認できると。
クレデンシャルズは暗号化されたファイルになっているので、
そのファイルを目視で見ても内容は分からないですよね。
その内容を変更点を簡単に確認するために、
このディフコマンドとかがあると便利だよというので、
存在しているコマンドということですね。
そんな感じです。
では今週は1件のお知らせと、
3つのプレリクエストを紹介しました。
では今週は以上とします。
ではまた来週。バイバイ。
07:41

Comments

Scroll