-
Notifications
You must be signed in to change notification settings - Fork 71
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
正方形に切り抜くように修正する #7431
正方形に切り抜くように修正する #7431
Conversation
6aa3586
to
888ec80
Compare
@unikounio さん レビュアーにさせていただきました! レビューしていただきたいファイルはuser.rbだけです😆 そうなんです、1ファイルだけの修正です🫡 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
確認させていただきました~
変更確認手順に沿って確認したところ、「新しいタブで開いた画像」は正方形に、「保存した画像」は120 x 120になっていることが確認できました👍
コードもよく整理されていて読みやすかったです!
1点だけ気になった点をお伝えさせていただきます。
変更確認方法の中でユーザー一覧ページのURL(http://localhost:3000/users
)をお示しいただいたのですが、Screenshotではユーザーのプロフィールページ(http://localhost:3000/users/#{@user.id}
)での確認の様子が示されているので、ここを統一していただくともっと良くなるかもしれません。
どちらのページからも同様の結果が確認できましたので、アプリの変更作業自体は問題なしとして、私からはApproveとさせていただきます。
よっちゃんさんの卒業前に一緒に開発できて嬉しかったです😄
app/models/user.rb
Outdated
else | ||
image_url default_image_path | ||
end | ||
rescue ActiveStorage::FileNotFoundError, ActiveStorage::InvariableError | ||
image_url default_image_path | ||
rescue Vips::Error | ||
avatar.variant(resize_to_fit: [120, 120]).processed.url |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
rescue句の中でエラーが発生しそうな処理を書くのはやめた方がいいと思います。
さらに外側のbeginなどでキャッチできなくはないですが、一般的に悪い作法とされているので避けた方がいいかなと思います。
925b8c5
to
945359d
Compare
@yocchan-git コンフリクトの修正をお願いします。 |
945359d
to
3ee84fd
Compare
app/models/user.rb
Outdated
@@ -804,4 +810,34 @@ def category_having_active_practice | |||
def category_having_unstarted_practice | |||
unstarted_practices&.first&.categories&.first | |||
end | |||
|
|||
def fetch_avatar_size(width, height) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
userモデルがfatになりすぎてしまうので別のクラスを作成することを含めて設計してみてください。
単純に別クラスに同名メソッドを切り出すとか、クラスメソッドだけの手続き型のクラスを作ってしまうとかがよくある間違いですが、オブジェクト指向プログラミングのプラクティスにあったように、ゼロからオブジェクト指向で設計してみてください。
下記のPRではOGPの画像のリサイズをやろうとしていますが、もしかしたらこちらと合わせて共通化も考えられるかもしれません。 @wata00913 さんと連絡を取り合ってみるのもいいと思います。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@komagata さん
ImageResizerクラスを作成しました!
お手隙で再度レビューいただけますと嬉しいです🙇♂️
また、送っていただいたOGPのリサイズでも使えるクラスにしました。
レビューよろしくお願いいたします🙏
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@wata00913 さんとまず連絡をとっていただければありがたいとおもいます。
@wata00913 さんもこの部分を長く作業してきているので話がなく勝手に方針がかわったり、共通化されると混乱されるとおもいます。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
承知しました!まずwataさんに確認を取ってみます
ありがとうございます🙏
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@komagata さん
wataさんとも話をして、結局共通化しなくても良くなりました。
それを踏まえてレビューしていただけますと嬉しいです🙇♂️
#6483 (comment)
a97a765
to
7352933
Compare
@@ -593,11 +593,11 @@ def avatar_url | |||
default_image_path = '/images/users/avatars/default.png' | |||
|
|||
if avatar.attached? | |||
avatar.variant(resize_to_limit: AVATAR_SIZE, autorot: true, saver: { strip: true, quality: 60 }).processed.url | |||
avatar.variant(resize_to_fill: AVATAR_SIZE, autorot: true, saver: { strip: true, quality: 60 }).processed.url |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
resize_to_fill
オプションの説明です。(参考)
- アスペクト比を維持して拡大(or縮小)する
- 大きくなった場合は真ん中で切り取る
ざっくりこのようなオプションです。😁
気になる点ありましたら、ぜひコメントください!
よろしくお願いいたします🙇
32efd05
to
2f350dd
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@yocchan-git めっちゃすっきりした仕様になってよかったですね。
確認させていただきました。OKです~👌
ありがとうございます! |
Issue
概要
変更確認方法
feature/resize-avatar-to-square-120-120
をローカルに取り込むforeman start -f Procfile.dev
でサーバーを起動Screenshot
同じ画像でリサイズの違いを確認しました
変更前
変更後