Mengapa Menggunakan Pemformat Ruby Ini
- Pemformatan bergaya Rufo yang tegas untuk kode Ruby yang konsisten
- Menormalkan indentasi, baris kosong, dan spasi di sekitar operator
- Keluaran idempoten – memformat file yang sama lagi menghasilkan hasil yang sama
- Menghormati semantik Ruby – hanya perubahan tata letak, tanpa perubahan perilaku
- Mendukung file .rb, .rake, dan .gemspec langsung
- Tanpa konfigurasi: satu klik Format, tidak perlu pengaturan rumit
- Berjalan sepenuhnya di UI peramban Anda – cukup tempel atau jatuhkan file
- Pendamping yang bagus untuk rubocop/standard sebagai pemformat tata letak saja
🛠️ Cara Menggunakan Pemformat Ruby for ruby-formatter
1. Tempel atau Unggah Kode Ruby Anda
📥 Tempel kode Ruby langsung ke editor, atau seret-dan-lepas file `.rb`, `.rake`, atau `.gemspec`. Alat ini membaca konten dan mempersiapkannya untuk pemformatan.
2. Klik Tombol Format
✨ Tekan **Format** untuk mengirim kode Anda ke pemformat gaya Rufo. Indentasi, jeda baris, dan spasi dinormalisasi dalam satu langkah sambil mempertahankan logika asli.
3. Tinjau Hasilnya
🔍 Bandingkan keluaran yang diformat dengan kode Ruby asli Anda. Anda akan melihat indentasi yang konsisten, blok yang lebih bersih, serta metode dan kondisional yang lebih mudah dibaca.
4. Salin atau Unduh
📤 Setelah puas, salin kode yang diformat kembali ke editor Anda atau unduh sebagai file. Siap untuk komit, pull request, atau penerapan produksi.
Spesifikasi Teknis
Mesin & Gaya Pemformatan
Pemformat mengikuti aturan pemformatan Ruby gaya Rufo yang opiniatif untuk menjaga basis kode Anda konsisten dan mudah dipindai dalam tinjauan.
| Aspek | Perilaku | Catatan |
|---|---|---|
| Indentasi | Dua spasi per tingkat | Tab dinormalisasi ke spasi untuk mencocokkan gaya Ruby yang idiomatis. |
| Blok & do/end | Sejajar dan diindentasi secara konsisten | Membantu menjaga blok bersarang (each, map, if, case) mudah dibaca. |
| Spasi putih | Membersihkan spasi berlebih | Menormalisasi spasi di sekitar operator, koma, dan simbol. |
| Baris kosong | Distandarisasi antara metode & kelas | Meningkatkan pemisahan kepentingan dan pengelompokan visual. |
| Idempotensi | Input sama → output sama | Menjalankan formatter berulang kali selalu aman. |
Input & Batasan yang Didukung
Dirancang untuk proyek Ruby dunia nyata: gem, aplikasi Rails, skrip, dan alat internal.
| Parameter | Batas / Perilaku | Catatan |
|---|---|---|
| Ekstensi file | .rb, .rake, .gemspec | File sumber Ruby umum, tugas Rake, dan spesifikasi gem. |
| Tipe MIME | text/x-ruby | Membantu editor memilih mode bahasa Ruby dan penyorotan sintaks. |
| Ukuran input maksimum | ≈ 2 MB sumber Ruby | Sumber yang sangat besar atau bundel vendor lebih baik ditangani secara lokal melalui CLI. |
| Encoding | UTF-8 direkomendasikan | Untuk encoding lama, konversi ke UTF-8 sebelum memformat. |
Keamanan & Eksekusi
Pemformatan berjalan di backend yang diamankan menggunakan formatter yang memahami Ruby.
| Aspek | Perilaku | Catatan |
|---|---|---|
| Eksekusi | Panggilan API aman ke formatter | Hanya kode sumber dan opsi dasar yang dikirim ke endpoint pemformatan. |
| Timeout | ≈ 25 detik | Input yang sangat panjang atau patologis dihentikan untuk menjaga responsivitas UI. |
| Semantik | Hanya perubahan tata letak | Formatter dirancang untuk tidak mengubah perilaku kode Ruby yang valid. |
Alternatif Baris Perintah untuk Pemformatan Ruby
Ingin gaya yang sama di editor, CI, atau pre-commit hooks? Gunakan Rufo atau formatter Ruby lainnya secara lokal.
Linux / 🍎 macOS / 🪟 Windows
Instal Rufo secara global
gem install rufoMenambahkan executable `rufo` ke lingkungan Ruby Anda.
Format satu file Ruby
rufo app/models/user.rbMenulis ulang file di tempat menggunakan aturan Rufo.
Format seluruh proyek
rufo .Secara rekursif memformat semua file Ruby dalam struktur direktori saat ini.
Dengan pre-commit atau CI
Tambahkan Rufo via pre-commit
repos:
- repo: https://github.com/ruby-formatter/rufo
rev: v0.17.0
hooks:
- id: rufoMenjalankan Rufo secara otomatis sebelum setiap commit (cuplikan YAML untuk `.pre-commit-config.yaml`).
Kasus Penggunaan Praktis untuk Ruby Formatter
Aplikasi Ruby on Rails
Bersihkan controller, model, dan job sebelum tinjauan kode.
- Normalisasi gaya lintas tim yang bekerja pada aplikasi Rails yang sama.
- Format otomatis file sebelum membuka pull request.
- Rapikan hasil scaffolding dan generator untuk keterbacaan jangka panjang.
class UsersController < ApplicationController
def create
user = User.new(user_params)
if user.save
redirect_to user_path(user)
else
render :new
end
end
end
class UsersController < ApplicationController
def create
user = User.new(user_params)
if user.save
redirect_to user_path(user)
else
render :new
end
end
end
Gem, CLI, dan Alat Internal
Jaga sumber gem, tugas Rake, dan skrip otomasi internal tetap rapi.
- Terapkan gaya konsisten sebelum mempublikasikan gem.
- Bersihkan file Rake yang berantakan dan skrip deployment.
- Buat alat CLI internal lebih mudah dipelihara dan diperluas.
Mengajar & Belajar Ruby
Tunjukkan kepada siswa seperti apa Ruby yang idiomatis tanpa berdebat tentang gaya.
- Format otomatis kiriman siswa sebelum umpan balik sehingga Anda bisa fokus pada logika.
- Demonstrasikan perbedaan antara Ruby yang "berfungsi" dan yang "bersih".
- Gunakan formatter dalam workshop untuk menstandarisasi contoh dengan cepat.
numbers=[1,2,3]
nums.each do |n| puts n*n end
numbers = [1, 2, 3]
numbers.each do |n|
puts n * n
end
❓ Frequently Asked Questions
❓Apakah Ruby formatter akan mengubah perilaku kode saya?
🧹Apa bedanya dengan RuboCop atau Standard?
🔒Apakah aman menempelkan kode produksi ke alat ini?
📂Versi Ruby mana yang didukung?
⚡Seberapa cepat proses pemformatannya?
Pro Tips
Gunakan formatter ini sebelum membuka pull request agar reviewer dapat fokus pada logika daripada spasi.
Gabungkan pemformatan dengan linter seperti RuboCop atau Standard untuk mencakup masalah tata letak dan kualitas yang lebih mendalam.
Selalu jalankan rangkaian tes Anda setelah proses auto-formatting besar untuk memastikan semuanya masih berperilaku benar.
Untuk gem, terapkan pemformatan sebelum meningkatkan versi untuk menghindari perbedaan yang berisik antar rilis.
Additional Resources
Other Tools
- Pemerindah CSS
- Pemerindah HTML
- Pemerindah Javascript
- Pemerindah PHP
- Pemilih Warna
- Ekstraktor Sprite
- Dekoder Base64
- Encoder Base64
- Pemformat Csharp
- Pemformat CSV
- Dockerfile Formatter
- Pemformat Elm
- Pemformat ENV
- Pemformat Go
- Pemformat GraphQL
- Pemformat HCL
- Pemformat INI
- Pemformat JSON
- Pemformat Latex
- Pemformat Markdown
- Pemformat ObjectiveC
- Php Formatter
- Pemformat Proto
- Pemformat Python
- Pemformat Rust
- Pemformat Scala
- Pemformat Skrip Shell
- Pemformat SQL
- Pemformat SVG
- Pemformat Swift
- Pemformat TOML
- Typescript Formatter
- Pemformat XML
- Pemformat YAML
- Pemformat Yarn
- Pengecil CSS
- Html Minifier
- Javascript Minifier
- Pengecil JSON
- Pengecil XML
- Penampil Header HTTP
- PDF Ke Teks
- Penguji Regex
- Pemeriksa Peringkat SERP
- Pencarian Whois