Grunderna för att skapa Rails Plugins
Programmering är lite som att vara en adrenalinjunkie för äventyrssporter. När du har upplevt snorkling vill du ge dig ut på djuphavsdykning. Du är alltid redo för att skala högt. Det kommer faktiskt inte att vara en överdrift att säga att om samma problem måste lösas dag för dag, skulle programmerarens värld ha en brist på geniala programmerare. Istället är programmerare alltid redo för nya utmaningar, för att kunna tillämpa befintliga lösningar på de problem som uppstår utan att slösa bort för mycket tid. Speciellt när det kommer till Ruby on Rails där smidighet är normen och konventionen över konfiguration riktmärket, att använda befintliga lösningar för problem tas för givet. De skrivna koderna representerar abstrakta lösningar på ett problem och kan därför återanvändas genom att förfina eller återanvända det i olika sammanhang. Genom återanvändningen kan en programmerare spara tid och ansträngningar som kan fokuseras på att skapa nyare intressanta koder. När allt kommer omkring kan nya applikationer inte skapas bara genom att uppfinna hjulet på nytt utan genom att komma med nya lösningar.
Ruby on Rails är verkligen kraftfullt men så småningom kan du upptäcka att Ruby saknar en viss funktionalitet eller önskar en viss funktion under ditt arbete. När allt kommer omkring är inget programmeringsspråk perfekt och Rubys kärnteam kan inte lägga till vad alla önskar sig. Det är här plugins kommer in i bilden. Rails 1.0 introducerade ett pluginsystem för att göra Rails till ett riktigt flexibelt förlängningssystem som låter programmerare utveckla plugins som kan användas för att utöka eller åsidosätta delar av Rails ramverk och dela dessa funktioner och modifieringar med andra programmerare i ett återanvändbart format.
En plugin är ett utmärkt sätt att paketera vanliga lösningar på allmänna problem och att återanvända koderna. Plugins gör det verkligen enkelt och genomförbart att extrahera koder och dela dem som en fristående enhet som är lätt att underhålla och dela. Plugins är inte bara bekväma för att dela nya funktioner och applikationer, de kan användas för att testa ändringen av Rails-ramverket. Och naturligtvis, med Rails är det inte svårt att bli pluginförfattare. Efter att plugin-programmet har skapats kan det enkelt lagras på servar (gratis eller betalda) och distribueras till Rails-communityt. Faktum är att Rails kärnteam rekommenderar att alla populära plugins publiceras som RubyGems.
Det första steget innan du kan skapa plugin är att förstå om din plugin är specifik för just den applikation du arbetar med eller om den kan användas över applikationer. Om plugin-programmet som du skapar är applikationsspecifikt, skulle det betraktas som ett leverantörsplugin (leverantörsspecifikt plugin). Om din plugin skulle kunna tillämpas över applikationer, skulle den betraktas som gemified plugin (gem plugin).
Uppstart
Generera ett plugin från säljaren:
För att skapa ett programspecifikt insticksprogram kan du använda kommandot Rails generera plugin i Rails rotkatalog för att skapa ett nytt plugin som kommer att sitta i katalogen för leverantör/plugin. Kolla in hjälpkatalogen för att lära dig mer om hur du skapar leverantörsspecifika plugin.
Generera ett gemified plugin:
Genom att skriva ädelstensspecifika Rails-plugin kan du dela de skapade plugin-programmen mellan olika rails-applikationer med Bundler och RubyGems. Kolla in hjälpkatalogen för att lära dig mer om hur du skapar gem-plugin.
Testar ditt nyskapade plugin:
Du kan navigera till katalogen som innehåller plugin-programmet, kör paketinstallation kommandot och kör det genererade testet med hjälp av räfsa kommando.
Du borde se:
Detta berättar att allt genererades korrekt och du kan börja lägga till funktionalitet.
Utöka kärnklasser:
Det här avsnittet förklarar hur du lägger till en metod till String som kommer att vara tillgänglig var som helst i din rails-applikation.
I det här exemplet kommer du att lägga till en metod till String named to_squawk. Börja med att skapa en ny testfil med några påståenden:
Springa räfsa att köra testet. Det här testet borde misslyckas eftersom vi inte har implementerat to_squawkmetod:
Bra – nu är du redo att börja utveckla.
Sedan i lib/yaffle.rb behöva lib/core_ext:
Kontakta oss.
Prenumerera för de senaste uppdateringarna
relaterade inlägg