-
Gambaran artikel
- Memperkenalkan berbagai trik untuk mewujudkan otomatisasi alat CLI dengan menggabungkan Ruby ke dalam skrip Bash.
- Bahasa scripting lain juga bisa digunakan, tetapi artikel ini menekankan keterbacaan dan fleksibilitas Ruby.
-
Mengapa Ruby, bukan Bash?
- Ruby menyediakan tipe data yang jelas (integer, floating point, string, array, hash, dll.) sehingga meningkatkan keterbacaan kode.
- Bagi pengguna macOS, jika Homebrew terpasang, Ruby bawaan yang ikut tersedia membuatnya sangat praktis untuk dimanfaatkan.
- Ruby berguna dalam skrip build/otomatisasi seperti CocoaPod dan Fastlane.
- Berbagai format data seperti JSON, CSV, dan YAML dapat ditangani dengan mudah melalui library bawaan.
-
Menulis skrip Ruby one-liner
- Skrip satu baris dapat dijalankan dalam format
ruby -e "<expression>". - Dengan pipe dan redirection, hasil dari alat CLI lain dapat diterima lalu diproses.
- Opsi
-rmemungkinkan library yang diperlukan dimuat lebih dulu untuk memperluas fungsionalitas.
- Skrip satu baris dapat dijalankan dalam format
-
Mencoba menggabungkannya dengan alat CLI lain
- Menggabungkan Ruby dengan AWS CLI, Git, GitHub CLI, jq, curl, dan lainnya dapat memaksimalkan kekuatan masing-masing alat yang berfokus pada satu fungsi.
- Contoh pemrosesan data JSON:
- Setelah memanggil API dengan
curl, data di-parse menggunakan library JSON milik Ruby lalu field tertentu (misalnyatitle) ditampilkan.
- Setelah memanggil API dengan
- Contoh pemrosesan data YAML:
- Setelah membaca file dengan
cat config.yaml, data di-parse menggunakan library YAML Ruby untuk mengekstrak nilai pengaturan tertentu.
- Setelah membaca file dengan
- Hasil dari alat CLI dapat diolah lebih lanjut dengan Ruby untuk membangun workflow otomatisasi yang lebih fleksibel.
-
Pemrosesan data tidak terstruktur (contoh Git Log)
- Tidak semua data terstruktur seperti JSON/CSV/YAML.
- Dengan regular expression dan kemampuan pemrosesan teks Ruby, log, pesan sistem, dan lainnya dapat dibaca baris demi baris untuk mengekstrak informasi yang dibutuhkan.
- Contoh skrip Git Log:
- Mengekstrak log commit satu baris dengan
git log --oneline #{file}. - Memilih log yang diinginkan secara interaktif dengan
gum choose --limit 100. - Mengekstrak hash commit dari tiap log yang dipilih lalu menampilkan detail perubahan dengan
git show. - Pada akhirnya, log yang dipilih disusun ulang dan ditampilkan dalam bentuk checklist.
- Mengekstrak log commit satu baris dengan
-
Penutup
- Dengan menggabungkan alat CLI dan skrip Ruby, Anda dapat membuat alat otomatisasi yang kuat hanya dari kombinasi command sederhana.
- Pemrosesan data kompleks, analisis log, dan pekerjaan version control dapat diotomatisasi secara efisien untuk memaksimalkan produktivitas.
- Langkah kecil bisa membawa perubahan besar, dan pembaca didorong untuk mulai mengerjakan side project versinya sendiri.
- Sebagai tambahan, Perl juga berguna, dan referensi seperti Perl One-Liners Guide dapat membantu.
Belum ada komentar.