Gem Yapısı
Dosyalar ve gemspec
Gem Yapısı, CoddyKit'te ücretsiz bir Ruby Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Ruby Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Ruby Academy kursu toplamda 4 dersten oluşur.
Gem Paketi Nedir
Bir gem paketi, RubyGems aracılığıyla kurulabilen, sürümlenebilen ve paylaşılabilen paketlenmiş bir Ruby kütüphanesi veya uygulamasıdır. Kullandığınız neredeyse her Ruby aracı bir gem paketidir.
- Bir gem paketi kodu, üstveriyi ve bağımlılıkları bir araya getirir.
- Üstveri bir paket belirtim dosyasında bulunur.
bundlervegemgibi araçlar gem paketlerini yönetir.
İskelet Oluşturma
En hızlı başlangıç bundle gem mygem komutudur. Bu komut standart klasör düzeninin, bir paket belirtim dosyasının, bir sınama klasörünün, bir README dosyasının ve bir lisansın iskeletini oluşturur. Daha sonra kodu siz doldurursunuz.
Standart Düzen
mygem adlı tipik bir gem paketi şu şekilde görünür:
lib/mygem.rbgiriş dosyasıdır.lib/mygem/ek kaynak dosyalarını içerir.lib/mygem/version.rbsürüm sabitini içerir.mygem.gemspecüstveriyi içerir.test/veyaspec/sınamaları içerir.README.mdve bir lisans dosyası bulunur.
Giriş Dosyası
lib/mygem.rb, biri require 'mygem' komutunu çalıştırdığında yüklenir. Bu dosya genellikle sürüm dosyasını ve kütüphanenin geri kalanını yükler ve en üst düzey modülü tanımlar.
module Mygem
def self.greet(name)
"Hello, " + name
end
end
puts Mygem.greet("world")Sürüm Dosyası
Sürümü kendi dosyasında tutmak, hem paket belirtim dosyasının hem de kodun sürümü okumasını sağlar. Geleneksel yaklaşım, paketin modülü içinde bir VERSION sabiti bulundurmaktır.
module Mygem
VERSION = "0.1.0"
end
puts "Current version: " + Mygem::VERSIONPaket Belirtim Dosyası Nedir
Paket belirtim dosyası, gem paketini açıklayan bir Ruby dosyasıdır: adını, sürümünü, yazarını, özetini, dosyalarını ve bağımlılıklarını içerir. RubyGems, paketi derlemek ve yayımlamak için bu dosyayı okur.
Bu dosya normal Ruby kodudur; dolayısıyla değerleri hesaplayabilirsiniz, ancak dosyayı basit ve bildirimsel tutun.
En Küçük Paket Belirtim Dosyası
Temel alanlar ad, sürüm, yazarlar, özet ve dosyalardır. Aşağıda, mygem.gemspec içine yerleştirebileceğiniz düz Ruby koduyla yazılmış temel yapı gösterilmektedir.
require "ostruct"
spec = OpenStruct.new
spec.name = "mygem"
spec.version = "0.1.0"
spec.authors = ["Your Name"]
spec.summary = "A tiny example gem"
puts spec.name + " " + spec.versionDosyaları Listeleme
Paket belirtim dosyası, gem paketine hangi dosyaların dahil edileceğini belirtmelidir. Birçok paket belirtim dosyası, hiçbir şeyin unutulmaması için izlenen dosyaları git'ten ister:
spec.files = Dir['lib/**/*.rb'] + ['README.md']
Yalnızca listelenen dosyalar pakete alınır; bu nedenle unutulan bir dosya, bozuk bir kuruluma yol açar.
Bağımlılıkları Bildirme
Paket belirtim dosyasına iki tür bağımlılık eklenir:
add_dependency, kullanıcıların kurması gereken çalışma zamanı gereksinimleri içindir.add_development_dependency, sınama çatısı gibi yalnızca geliştirme sırasında kullanılan araçlar içindir.
Uyumluluğu korumak için '~> 1.2' gibi sürüm kısıtlamaları kullanın.
Gerekli Ruby Sürümü
spec.required_ruby_version değerini ayarlayın; böylece çok eski bir Ruby kullanan kişiler kafa karıştırıcı bir çökme yerine açık bir hata alır. Ayrıca kusursuz bir paket için homepage, license ve metadata alanlarını da doldurun.
required = ">= 3.0.0"
current = RUBY_VERSION
puts "Requires Ruby " + required
puts "Running Ruby " + currentGem Paketini Derleme
Paket belirtim dosyası hazır olduğunda gem build mygem.gemspec komutu bir .gem dosyası oluşturur. Yayımlamadan önce sınamak için dosyayı gem install ./mygem-0.1.0.gem komutuyla yerel olarak kurabilirsiniz.
Kısa Sınama
Gem paketi yapısıyla ilgili anlayışınızı sınayın.
Özet: Gem Paketi Yapısı
Bir gem paketinin nasıl düzenlendiğini öğrendiniz:
bundle gemklasör düzeninin iskeletini oluşturur.lib/mygem.rbgiriş noktasıdır.- Sürüm kendi dosyasında bulunur.
- Paket belirtim dosyası üstveriyi, dosyaları ve bağımlılıkları içerir.
gem buildpaketi oluşturur.
Sırada paket içindeki asıl kodu düzenlemek var.
Sıkça Sorulan Sorular
“Gem Yapısı” dersi ücretsiz mi?
Evet — “Gem Yapısı” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Ruby Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Ruby Academy kursu toplamda 4 dersten oluşur.
“Gem Yapısı” dersinde ne öğreneceğim?
Dosyalar ve gemspec Ruby Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Ruby Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Ruby Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“Gem Yapısı” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Ruby Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Ruby Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.