Daniel Dengler
web developer
Ruby on Rails
Workshop SS 2009
„Ruby on Rails“ and the Rails-Logo are registered trademarks of David Heinemeier Hansson – www.rubyonrails.org
12
Ruby on Rails
Plugins & Gems
Plugins & Gems
Installation & Verwendung
Installation - Plugin
script/plugin install NAME ODER URL
script/plugin update NAME
script/plugin remove NAME
Alle Plugins werden in der aktuellen Anwendung
installiert und beim Start des Servers automatisch
aus vendor/plugins geladen.
Installation - Gems
(sudo) gem install NAME
Gems werden nicht automatisch geladen, da sie nicht
in die Anwendung sondern auf dem aktuellen System
installiert werden.
Um Gems zu laden müssen diese den Con g-Dateien
der Anwendung hinzugefügt werden.
Installation - Gems
In der Kon gurationsdatei con g/environment.rb:
con g.gem ' rst_gem'
con g.gem 'second_gem', :version => '0.4.1'
con g.gem 'third_gem', :version => '>=1.1.0'
Es wird geprüft, ob die Gems vorhanden sind und
falls vorhanden, werden diese geladen.
Mögliche Pluginfeatures
• Erweiterung alle Kernklassen um neue
Features wie etwa act_as_tree,
acts_as_versioned, ...
• Generatoren
• Rake-Tasks
• Tests
Quellen für Plugins
• github.com
• agilewebdevelopment.com
Wichtige
Erweiterungen
Listen
ActiveRecord Erweiterung
• acts_as_list
Erlaubt das individuelle Sortieren von
ActiveRecord Datensätzen
Baumstrukturen
ActiveRecord Erweiterung
• acts_as_tree
• awesome_nested_set
Erlaubt es Baumstrukturen einfach in der
Datenbank abzubilden. Beide Plugins haben
verschiedene Vor- und Nachteile, die berücksichtigt
werden sollten.
Versionierung
ActiveRecord Erweiterung
• acts_as_versioned
Legt beim speichern immer eine neue Version des
Datensatzes an ohne eine alte zu überschreiben.
Zudem können alte Versionen eingesehen und
wiederhergestellt werden.
Paranoia
ActiveRecord Erweiterung
• acts_as_paranoid
Anstelle Datensätze zu löschen, werden diese als
gelöscht markiert und bei den normalen Abfragen
nicht mehr zurückgeliefert.
Tags
ActiveRecord Erweiterung
• acts_as_taggable
• acts_as_taggable_on_steroids
Erlaubt das einfache Taggen von Datensätzen
Dateinanhänge
ActiveRecord Erweiterung
• paperclip
Erlaubt es Dateien an Datensätze zu binden.
Zudem können Bilder, wie etwa Avatare
entsprechend den Vorgaben neu berechnet
werden.
Suche
ActiveRecord Erweiterung
• searchlogic
• squirrel
Erweiterung um einfacher komplexe Suchanfragen
formulieren zu können.
Einstellungen
Allgemeine Erweiterung
• settingslogic
Erlaubt es Einstellungen einfach zu verwalten.
Erweiterte Datenbankfunktionen
ActiveRecord Erweiterung
• redhillonrails_core
• foreign_key_migrations
Erlaubt die Verwendung von Foreign Keys, Views
und anderen erweiterten Datenbankfunktionen.
Tests
Testing Erweiterungen
• RSpec
• cucumber
• factory_girl
• shoulda
Erlaubt es Dateien an Datensätze zu binden. Zudem
können Bilder, wie etwa Avatare entsprechend den
Vorgaben neu berechnet werden.
HAML & SASS
ActionView Erweiterungen
• haml
Erlaubt die Verwendung der Markupsprache HAML
in Views und die De nition von CSS mittels SASS.
Paginierung
ActiveRecord & ActionView Erweiterung
• will_paginate
Bietet Funktionen zur Einteilung in Einzelseiten bei
langen Au istungen.
CMS
Eigenständige Erweiterung
• browsercms
Bringt ein umfangreiches Content Management
System in die Anwendung.
Viele, viele andere Erweiterungen
In den häu gsten Fällen lohnt die Suche nach
einem entsprechenden Plugin für eine bestimmte
Funktion, da viele grundlegende Probleme bereits
von anderen Entwicklern gelöst wurden.
0 comments
Post a comment