「RMagick 正方形」でググると Railsでアップロードした画像からRMagickで正方形のサムネイルを作成 - Qiita という記事が出てきますが、こちらは正方形の白い画像の上に縮小した画像を貼った状態となり、あまり期待される操作だと思わなかったのでこちらにメモ
RMagick 版
def create_square_image(rmagick, size)
narrow = rmagick.columns > rmagick.rows ? rmagick.rows : rmagick.columns
rmagick.crop(Magick::CenterGravity, narrow, narrow).resize(size, size)
end
MiniMagick 版
def create_square_image(magick, size)
narrow = magick[:width] > magick[:height] ? magick[:height] : magick[:width]
magick.combine_options do |c|
c.gravity "center"
c.crop "#{narrow}x#{narrow}+0+0"
end
magick.resize "#{size}x#{size}"
end