Hvad er en perle? – RubyGems Guides
On oktober 24, 2021 by adminUdpak mysteriet bag hvad der er i en RubyGem.
Strukturen af en gem
Hver gem har et navn, en version og en platform. For eksempel har theerake gem en 0.8.7
version (fra maj,2009). Rake’s platform er ruby
, hvilket betyder, at den fungerer på enhver platform, som Rubyruns kører på.
Platforme er baseret på CPU-arkitekturen, operativsystemtypen ogundertiden operativsystemversionen. Eksempler omfatter “x86-mingw32” eller “java”. Platformen angiver, at perlen kun fungerer med en ruby, der er bygget til den samme platform. RubyGems vil automatisk downloade den korrekte version til din platform. Se gem help platform
for alle detaljer.
Inden for gems er følgende komponenter:
- Kode (herunder tests og understøttende hjælpeprogrammer)
- Dokumentation
- gemspec
Hver gem følger den samme standardstruktur for kodeorganisering:
% tree freewillfreewill/├── bin/│ └── freewill├── lib/│ └── freewill.rb├── test/│ └── test_freewill.rb├── README├── Rakefile└── freewill.gemspec
Her kan du se de vigtigste komponenter i en gem:
- Den
lib
mappe indeholder koden til gem’en - Den
test
ellerspec
mappe indeholder tests, afhængigt af hvilket testframework udvikleren bruger - En gem har normalt en
Rakefile
, somerake-programmet bruger til at automatisere tests,generere kode og udføre andre opgaver. - Denne perle indeholder også en eksekverbar fil i mappen
bin
, som vil blive indlæst i brugerensPATH
, når perlen erinstalleret. - Dokumentation er normalt inkluderet i
README
og inline med koden.Når du installerer en gem, genereres dokumentationen automatisk for dig.De fleste gems indeholder RDoc-dokumentation, men nogle bruger YARD-dokumentation i stedet. - Den sidste del er gemspec’en, som indeholder oplysninger om gem’en.Gemmens filer, testinformation, platform, versionsnummer og meget mere er allelaid ud her sammen med forfatterens e-mail og navn.
Mere oplysninger om gemspec-filen
Byg din egen gem
Gemspec
Gemspec’en angiver oplysninger om en gem, såsom dens navn, version,beskrivelse, forfattere og hjemmeside.
Her er et eksempel på en gemspec-fil. Du kan lære mere i hvordan man laver agem.
% cat freewill.gemspecGem::Specification.new do |s| s.name = 'freewill' s.version = '1.0.0' s.summary = "Freewill!" s.description = "I will choose Freewill!" s.authors = s.email = '[email protected]' s.homepage = 'http://example.com/freewill' s.files = end
Skriv et svar