Hai! Sebagai pemasok Rails, saya memiliki pengalaman yang adil dengan membuat tugas menyapu kustom di Rails. Ini adalah keterampilan yang sangat berguna yang benar -benar dapat meningkatkan produktivitas Anda dan membuat hidup Anda jauh lebih mudah. Jadi, saya pikir saya akan membagikan wawasan saya tentang bagaimana Anda dapat membuat tugas menyapu kustom Anda sendiri di Rails.
Apa saja tugas Rake?
Hal pertama yang pertama, mari kita bicara tentang apa tugas Rake. Rake adalah alat otomatisasi build yang ditulis dalam Ruby, dan terintegrasi erat dengan rel. Pikirkan tugas -tugas Rake sebagai skrip kecil yang dapat Anda jalankan dari baris perintah untuk melakukan berbagai tugas di aplikasi Rails Anda. Mereka dapat digunakan untuk apa pun mulai dari migrasi basis data dan populasi data benih hingga menjalankan tes dan menggunakan aplikasi Anda.


Mengapa Membuat Tugas Rake Kustom?
Anda mungkin bertanya -tanya, "Mengapa saya perlu membuat tugas rake kustom saya sendiri? Tidak bisakah saya menggunakan yang datang dengan rel?" Nah, sementara rel memang datang dengan sekelompok tugas yang bermanfaat - dalam tugas menyapu, sering kali ada saat -saat ketika Anda perlu melakukan tugas tertentu yang tidak tercakup oleh yang default. Di situlah tugas rake kustom masuk.
Misalnya, katakanlah Anda sedang mengerjakan aplikasi rel untuk perusahaan kereta api (seperti yang ditanganiRel Standar Eropa,CR104 Rel Steel, atauBritish Standard BSC13 Steel Rail). Anda mungkin perlu melakukan impor harian data inventaris kereta api dari sumber eksternal. Alih -alih menjalankan banyak perintah secara manual setiap hari, Anda dapat membuat tugas Rake khusus untuk mengotomatiskan proses ini.
Memulai dengan Tugas Rake Kustom
Oke, jadi sekarang setelah Anda tahu apa tugas Rake dan mengapa Anda mungkin ingin membuat yang kustom, mari kita masuk ke seluk -beluk - berpasir tentang cara membuatnya.
Langkah 1: Temukan tempat yang tepat
Dalam aplikasi Rails, tugas menyapu kustom biasanya disimpan dilib/tugasdirektori. Direktori ini adalah tempat Rails mencari tugas rake khusus saat Anda menjalankanmenyapumemerintah. Jadi, hal pertama yang perlu Anda lakukan adalah membuat yang baru.menyapufile dilib/tugasdirektori. Anda dapat menamainya sesuatu yang bermakna, sepertirail_inventory.rake.
Langkah 2: Tentukan tugas
Setelah Anda membuat.menyapufile, Anda dapat mulai mendefinisikan tugas rake kustom Anda. Berikut adalah contoh dasar dari seperti apa tugas penggaruk sederhana:
Namespace: Rail do Desc 'Impor Data Inventarisasi Kereta Api' Tugas Impor_inventory :: Lingkungan melakukan # kode untuk mengimpor data inventaris kereta api di sini menempatkan 'data inventaris kereta api yang berhasil diimpor!' akhir akhir
Mari kita hancurkan ini. ItunamespaceKata kunci digunakan untuk mengelompokkan tugas menyapu bersama. Dalam hal ini, kami membuat arelNamespace untuk semua tugas terkait kereta api kami. ItudescKata kunci digunakan untuk memberikan deskripsi tentang apa yang dilakukan tugas itu. Deskripsi ini akan ditampilkan saat Anda berlariRake -tUntuk mendaftar semua tugas menyapu yang tersedia.
ItutugasKata kunci digunakan untuk menentukan tugas yang sebenarnya. Dalam contoh kami, tugas itu dinamaiimport_inventory, dan itu tergantung pada:lingkungantugas. Itu:lingkunganTugas adalah tugas yang dibangun - dalam rel yang memuat lingkungan aplikasi rel. Ini penting karena memungkinkan tugas menyapu Anda untuk mengakses model, pengontrol, dan bagian lain dari aplikasi Rails Anda.
Di dalam blok untukimport_inventoryTugas, Anda dapat menulis kode untuk melakukan tugas yang sebenarnya. Dalam contoh sederhana kami, kami hanya mencetak pesan ke konsol, tetapi dalam skenario dunia yang nyata, Anda akan memiliki kode untuk terhubung ke sumber data eksternal, mengambil data inventaris, dan memperbarui database aplikasi Rails Anda.
Langkah 3: Jalankan tugas
Setelah Anda menentukan tugas Rake Kustom Anda, Anda dapat menjalankannya dari baris perintah. Arahkan ke direktori root aplikasi Rails Anda di terminal dan jalankan perintah berikut:
Rake Rail: Import_inventory
Jika semuanya diatur dengan benar, Anda akan melihat pesan "Data inventaris kereta api berhasil diimpor!" dicetak ke konsol.
Fitur tugas rake lanjutan
Lulus argumen
Terkadang, Anda mungkin perlu meneruskan argumen ke tugas rake Anda. Misalnya, Anda mungkin ingin menentukan kisaran tanggal untuk impor data inventaris. Begini cara Anda melakukannya:
Namespace: Rail do desc 'Impor Rail Inventory Data untuk rentang tanggal tertentu' Tugas Impor_inventory :: Lingkungan do | t, args | start_date = args [: start_date] end_date = args [: end_date] menempatkan "mengimpor data inventaris kereta api dari #{start_date} ke #{end_date}" #kode untuk mengimpor data untuk kisaran tanggal yang ditentukan pergi ke sini akhir akhir
Untuk meneruskan argumen ke tugas, Anda dapat menjalankan perintah berikut:
Rake Rail: Import_inventory [2023-01-01.2023-12-31]
Ketergantungan tugas
Anda juga dapat mendefinisikan dependensi antara tugas -tugas rake khusus Anda. Misalnya, katakanlah Anda memiliki tugas untuk memvalidasi data inventaris kereta api yang diimpor setelah diimpor. Anda dapat membuat tugas validasi tergantung pada tugas impor:
Namespace: Rail do Desc 'Impor Data Inventarisasi Kereta Api' Tugas Impor_inventory :: Lingkungan melakukan # kode untuk mengimpor data inventaris kereta api di sini menempatkan 'data inventaris kereta api yang berhasil diimpor!' end desc 'validasi data inventaris kereta api impor' tugas validasi_inventory :: import_inventory do # kode untuk memvalidasi data yang diimpor di sini menempatkan 'data inventaris kereta api impor berhasil divalidasi!' akhir akhir
Sekarang, saat Anda berlariRake Rail: Validate_inventory,import_inventoryTugas akan dijalankan terlebih dahulu, diikuti olehvalidate_inventorytugas.
Kesimpulan
Membuat Tugas Rake Kustom di Rails adalah cara yang kuat untuk mengotomatisasi tugas berulang dan membuat proses pengembangan Anda lebih efisien. Apakah Anda sedang mengerjakan aplikasi Rails sederhana atau proyek level perusahaan yang kompleks, tugas Rake Kustom dapat menghemat banyak waktu dan upaya.
Jika Anda berada di industri kereta api dan membutuhkan bantuan untuk mengotomatiskan tugas yang terkait denganRel Standar Eropa,CR104 Rel Steel, atauBritish Standard BSC13 Steel Rail, kami di sini untuk membantu Anda. Kami memiliki tim pengembang Rails berpengalaman yang dapat membuat tugas rake khusus yang disesuaikan dengan kebutuhan spesifik Anda. Jadi, jika Anda tertarik untuk mengeksplorasi bagaimana tugas Rake Kustom dapat bermanfaat bagi bisnis Anda, jangan ragu untuk menghubungi kami untuk diskusi pengadaan.
Referensi
- Railsguides - Tugas Rake dan Rakefile
- Dokumentasi Ruby - Rake Gem
