Apa itu Gemfile?
Gemfile adalah file konfigurasi pada bahasa pemrograman ruby, semua dependensi gem atau kebanyakan orang menyebutnya adalah library atau perpustakaan yang dapat kita temukan di RubyGems. Siapaun dapat membuat, menambah, mengolah gem milik kalian bahkan kita juga dapat berkolaborasi di hosting git. Sedangkan pengoprasiannya dapat dilakukan dengan bundler dan perintahnya menggunakan bundle
.
Jika kita ingin membuat sebuah proyek berbasis bahasa ruby biasanya Gemfile akan selalu dipakai mungkin malah harus menggunakannya.
Saya disini tidak akan membahasa tentang cara penggunaan gem pada situs rubygems.org, tapi lebih bagaimana mendefinisikan isi dari Gemfile pada bahasa ruby.
Yang pertama kita harus menginisialiasi sumber atau source alamat yang akan kita gunakan, sebagai contoh:
1
|
|
Yang selenjutnya adalah bagaimana kita mendefinisikan gem yang akan kita gunakan, jadi misal kita ingin menggunakan gem json maka:
1
|
|
- gem adalah perintah untuk memanggila nama gem tersebut
- json dari mana? json adalah nama yang diambil dari situs resminya rubygems.org disini https://rubygems.org/gems/json
Yang selanjutnya adalah bagaimana jika kita ingin mendefinisikan versinya juga? karena setiap gem itu memiliki versi, contoh diatas tidak mendefinisikan versi maka akan menggunakan versi yang terbaru. Jika kita ingin mendefinisikan dengan versinya maka:
1
|
|
atau
1
|
|
- ~> adalah operator yang berarti sama dengan
- 2.1.0 adalah nilai dari versinya, nilai versi ini harus tersedia di https://rubygems.org/gems/json, kalian bisa melihat dibagian VERSION, saya mengambil versi yang terbaru saat ini.
Adapun operator lain yang dapat digunakan:
- >= adalah operator yang berarti lebih besar atau sama dengan
- < adalah operator yang berarti lebih kecil
Yang selanjutnya kita mengenal group, mungkin kalian akan langsung paham jika melihat kode dibawah:
1 2 3 |
|
Kita bisa melihat kode diatas bahwa gem 'json'
diapit oleh group :development
, development yang artinya bahwa gem json hanya dapat digunakan pada environment development.
Selain group development kita bisa juga menggunakan group production dan test
Sekarang saya kenalkan Gemfile milik Rails versi 5.1.2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
|
Maka dari sini saya rasa anda cukup bisa memahaminya, ya kan? Yes…
Namun kita lihat disana ada platforms yang belum kita definisikan, kita ambil kutipan kode diatas:
1 2 3 |
|
Gem byebug akan digunakan oleh nilai array yang ada didalam platforms.
Dan satu lagi, dari kutipan kode dibawah ini:
1 2 3 4 |
|
Bahwa source dapat diambil dari hosting git langsung yaitu GitHub. Revisi kode pada Gemfile ini baru muncul di Rails versi 5 keatas.
Sebenarnya masih ada beberapa fungsi yang bisa digunakan di Gemfile ini, tapi saya rasa bacaan ini cukup sekian dulu lah ya ^_^, nantikan bacaan saya selanjutnya tentang Ruby / Ruby on Rails ataupun pengetahuan lainnya.