Langkah apa yang bisa diambil untuk mewarisi dan menimpa beberapa bagian dari buku masak Chef?


9

Dengan 3200+ buku masak yang tersedia di supermarket Chef, seringkali sudah ada buku masak yang mencakup kebutuhan yang perlu saya pecahkan.

Hampir setiap kali ada beberapa perubahan yang diperlukan untuk templat, atau variabel, atau sumber daya di buku masak yang ada.

Apa langkah-langkah untuk mengganti dan / atau meningkatkan buku masak yang ada? Tanpa memalsukan kode mereka, dan mempertahankan kemampuan untuk mendapatkan pembaruan versi di masa depan.


1
Sebagian besar buku masak memiliki sejumlah atribut tertentu yang dapat dengan mudah diatur saat membuat buku resep bungkus. Anda biasanya tidak perlu "menimpa" apa pun untuk membuat tweak yang diharapkan.
anak ayam

Jawaban:


13

Ada banyak hal yang spesifik, tetapi pola keseluruhan yang kami gunakan adalah "membungkus dan memperluas". Gagasan umum adalah membuat buku masak yang tergantung pada buku masak komunitas, biasanya dinamai mycompany_originalthing, dan kemudian membuat resep dengan apa yang disebut include_recipe 'originalthing::whatever'tetapi dengan lebih banyak barang ditambahkan sebelum / sesudah atau dengan panggilan ke hal-hal seperti edit_resourcemengubah sumber daya. Hindari edit_resourcejika memungkinkan karena mengarah ke kode rapuh, tetapi ada jika Anda membutuhkannya. Anda juga dapat menggunakan buku resep bungkus untuk mengatur atribut, subkelas atau membungkus sumber daya khusus, dan sebagainya.

Untuk kasus khusus "Saya perlu mengubah template dalam resep komunitas" akan terlihat seperti ini:

include_recipe 'original::whatever'

edit_resource!(:template, '/path/to/something') do
  source 'mytemplate.erb'
  cookbook 'mycompany_original'
end

Anda dapat menemukan detail lebih lanjut tentang edit_resourcedan teman-teman di https://coderanger.net/rewind/

Dengan buku masak yang didasarkan pada sumber daya khusus alih-alih resep, hal-hal bisa menjadi lebih kompleks tetapi spesifiknya sangat bergantung pada bagaimana tepatnya buku masak yang Anda kembangkan ditulis.


Ini adalah pola yang kami ikuti dan biasanya berfungsi sampai mengutak-atik buku resep komunitas menjadi terlalu sulit dan lebih mudah untuk hanya menulis ulang dari awal.
Travis Thompson

Bagus! Bahkan tidak tahu mereka mengubah hal mundur kereta tua menjadi sesuatu yang merupakan bagian dari Chef.
Evgeny

Maaf untuk bertanya, tetapi nama pengguna Anda juga termasuk dalam tautan yang Anda sebutkan ... Yang membuat saya bertanya-tanya apakah Anda memiliki afiliasi dengan tautan itu. Jika demikian, apakah Anda terbiasa dengan kebijakan SE tentang memasukkan "pengungkapan" yang tepat tentang hal itu (untuk dimasukkan dalam jawaban Anda juga)?
Pierre.Vriens

1
@ Pierre.Vriens dalam konteks dunia Chef, blog saya kira-kira setara dengan dokumen resmi. Periksa riwayat saya di SO jika Anda ingin konfirmasi :)
coderanger

(dalam hal ini saya tidak menautkan ke dokumen resmi karena mengandung kesalahan sintaksis untuk API ini)
coderanger
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.