Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Geleitwort des Fachgutachters
Einleitung
1 Einführung
2 Installation
3 Erste Schritte
4 Einführung in Ruby
5 Eine einfache Bookmarkverwaltung
6 Test-Driven Development
7 Rails-Projekte erstellen
8 Templatesystem mit ActionView
9 Steuerzentrale mit ActionController
10 Datenbankzugriff mit ActiveRecord
11 E-Mails verwalten mit ActionMailer
12 Nützliche Helfer mit ActiveSupport
13 Ajax on Rails
14 RESTful Rails und Webservices
15 Rails mit Plug-ins erweitern
16 Performancesteigerung
17 Sicherheit
18 Veröffentlichen einer Rails-Applikation auf einem Server
Ihre Meinung?

Spacer
 <<   zurück
Ruby on Rails 2 von Hussein Morsy, Tanja Otto
Das Entwickler-Handbuch
Buch: Ruby on Rails 2

Ruby on Rails 2
geb., mit DVD
699 S., 39,90 Euro
Rheinwerk Computing
ISBN 978-3-89842-779-1
Online bestellenPrint-Version jetzt bestellen
* versandkostenfrei in (D) und (A)
Pfeil 15 Rails mit Plug-ins erweitern
  Pfeil 15.1 Plug-ins Grundlagen
  Pfeil 15.2 Nützliche Plug-ins

15 Rails mit Plug-ins erweitern

Sie müssen das Rad nicht neu erfinden, wenn Sie Erweiterungen für Rails nutzen können.

In diesem Kapitel möchten wir Ihnen zunächst das Konzept von Plug-ins in Ruby on Rails vorstellen, bevor wir einzelne Plug-ins erläutern. Die meisten davon werden wir in einer eigenen Mini-Railsapplikation vorstellen, damit Sie die Beispiele besser nachvollziehen können.


Rheinwerk Computing - Zum Seitenanfang

15.1 Plug-ins Grundlagen  Zur nächsten ÜberschriftZur vorigen Überschrift

Einer der Gründe für den großen Erfolg von Rails ist die Möglichkeit, Rails durch Plug-ins zu erweitert. Vielleicht kennen Sie das von Photoshop, das auch durch Plug-ins leicht ergänzt werden kann.

DRY-Prinzip

Im Prinzip kann man alles, was die Plug-ins liefern, auch selbst entwickeln. Aber warum etwas entwickeln, wofür es bereits fertige Lösungen gibt? Damit würden wir doppelte Arbeit machen und deshalb im wahrsten Sinne des Wortes gegen das DRY-Prinzip (»Don't repeat yourself«) verstoßen, das besagt, dass es nach Möglichkeit zu vermeiden ist, Code doppelt zu entwickeln.

Über 1.000 Plug-ins

In Rails gibt es inzwischen über 1.000 veröffentliche Plug-ins (siehe http://railsbuch.de/urls/8 und http://railsbuch.de/urls/9 ).

Rails 2 und Plug-ins
In Rails 2 wurden einige Funktionen aus dem Kern (Core) entfernt und als Plug-ins zur Verfügung gestellt, wie z. B. acts_as_list , acts_as_tree und in_place_editing .

Plug-ins werden sehr stark weiterentwickelt. Das heißt, es kann vorkommen, dass ein hier vorgestelltes Plug-in zwischenzeitlich in einer neueren Version vorliegt. Sollte das ein oder andere nicht so funktionieren, wie hier beschrieben, schauen Sie bitte in der Dokumentation zu der jeweiligen aktuellen Version des Plug-ins nach.

Rails-Plug-ins werden in der Regel immer pro Projekt im Verzeichnis vendor/plugins installiert.

script/plugin

Für die Verwaltung von Plug-ins steht der Befehl ruby script/plugin mit folgenden Optionen zur Verfügung:

Befehl Beschreibung
ruby script/plugin install Installiert das angegebene Plug-in.
ruby script/plugin remove Entfernt das angegebene Plug-in.
ruby script/plugin update Aktualisiert die installierten Plug-ins.
ruby script/plugin list Zeigt alle verfügbaren Plug-ins an (siehe auch den nächsten Befehl).
ruby script/plugin sources Zeigt eine Liste aller Quellen an, aus der die Liste der verfügbaren Plug-ins gelesen wird.
ruby script/plugin source Fügt die angegebene URL der Liste der Quellen hinzu.
ruby script/plugin unsource Entfernt eine Quelle.
ruby script/plugin discover Schlägt über 50 Quellen für Plug-ins vor. Man kann entscheiden, welche der eigenen Quell-liste hinzugefügt wird.

Tabelle  Befehle zum Verwalten von Plug-ins


Rheinwerk Computing - Zum Seitenanfang

Plug-ins installieren und deinstallieren  Zur nächsten ÜberschriftZur vorigen Überschrift

script/plugin install

Sie können ein Plug-in mit dem Befehl ruby script/plugin install, dem Sie den Namen des zu installierenden Plug-ins oder die URL des Plug-ins übergeben, installieren. Wenn Sie eine URL angeben, so wird das Plug-in von der angegebenen URL geladen. Wird hingegen nur der Name des Plug-ins übergeben, so wird in allen Quellen (siehe Abschnitt 15.1.2), die dem System bekannt sind, nach dem Plug-in gesucht.

Subversion für einige Plug-ins erforderlich
Für einige Plug-ins ist das Tool Subversion erforderlich, um sie zu installieren.

Im folgenden Beispiel wird das Plug-in acts_as_list installiert:

ruby script/plugin install acts_as_list
+ ./acts_as_list/README
+ ./acts_as_list/init.rb
+ ./acts_as_list/lib/active_record/acts/list.rb
+ ./acts_as_list/test/list_test.rb

Subversion

Falls Ihr Projekt unter Subversion läuft, können Sie Plug-ins auch mit der Option -x installieren, damit es als External Repository installiert wird.

ruby script/plugin install -x acts_as_list

Vor- und Nachteile

Dies hat zwei Vorteile. Zum einen werden Ihrem Repository nicht sämtliche Dateien des Plug-ins hinzugefügt, sondern nur ein Verweis darauf gespeichert. Zum anderen wird bei jedem Aufruf von svn update überprüft, ob eine neue Version im (externen) Repository vorhanden ist. Der Nachteil ist, das wenn das externe Repository des Plug-ins wegen einer Störung nicht erreichbar ist, u. a. die Befehle svn update und svn checkout fehlschlagen.

Abbildung  Verzeichnisstruktur von vendor

init.rb

Im Verzeichnis vendor/plugins wurde das Verzeichnis acts_as_list angelegt. Nach der Installation eines Plug-ins müssen Sie Ihre Rails-Anwendung neu starten, damit die Datei init.rb des Plug-ins ausgeführt wird. Diese Datei wird für jedes Plug-in beim Start der Rails-Anwendung ausgeführt. Sie wird genutzt um Code einzubinden, der von dem Plug-in benötigt wird. Bei vielen Plug-ins ist die init.rb jedoch leer.

Plug-ins listen

Der Befehl ruby script/plugin list listet alle Plug-ins der dem System bekannten Quellen. Übergeben Sie --local, werden alle lokal installierten Plug-ins gelistet.

Plug-ins updaten

Mit dem Befehl ruby script/plugin update können Sie die bereits installierten Plug-ins auf den neuesten Stand bringen.

Plug-ins deinstallieren

Mit dem Befehl ruby script/plugin remove, dem Sie ein oder mehrere Plug-in-Namen übergeben können, deinstallieren Sie Plug-ins:

ruby script/plugin remove acts_as_list
Plug-ins als RubyGems-Paket installieren

Manche Plug-ins, wie z. B. »Gravatar« (siehe Abschnitt 15.2.3) liegen als RubyGems -Pakete vor. Das hat den Vorteil, dass diese Plug-ins global verfügbar sind und nicht pro Applikation installiert werden müssen. Es hat aber den Nachteil, dass diese Plug-ins auch auf dem Produktionsserver installiert werden müssen.

RubyGems -Pakete werden nicht mit dem ruby script/plugin -Befehl installiert, sondern über gem install . Rails selbst ist z. B. auch ein RubyGems -Paket (siehe Website http://rubyforge.org).



Rheinwerk Computing - Zum Seitenanfang

Plug-ins-Quellen verwalten  topZur vorigen Überschrift

Quelle hinzufügen

Mit dem Befehl ruby script/plugin source können Sie eine Quelle hinzufügen, indem Sie die URL als Parameter übergeben. Die Quelle http://svn.techno-weenie.net/projects/plugins enthält z. B. zahlreiche Plug-ins. Anstatt nun bei der Installation eines Plug-ins jedes Mal die komplette URL anzugeben, wie z. B.

ruby script/plugin install http://svn.techno-weenie.net/\
projects/plugins/restful_authentication

kann man auch zunächst die Quelle mit

ruby script/plugin source http://svn.techno-weenie.net/\
projects/plugins

hinzufügen und anschließend das gewünschte Plug-in über sein Namen installieren:

ruby script/plugin install restful_authentication.

Quelle entfernen

Wenn Sie eine Quelle wieder entfernen möchten, übergeben Sie dem Befehl ruby script/plugin unsource die URL der zu entfernenden Quelle.

ruby script/plugin unsource  \
http://svn.techno-weenie.net/projects/plugins

Quellen auflisten

Der Befehl ruby script/plugin discover listet alle dem System bekannten Repositories bzw. Quellen für Plug-ins auf. Werden neue Quellen gefunden, wird zu jeder abgefragt, ob Sie sie hinzufügen möchten oder nicht. Da es inzwischen über 50 Quellen gibt, ist die Verwendung dieses Befehls kaum praktikabel.

ruby script/plugin discover
  Add http://www.agilewebdevelopment.com/plugins/? [Y/n] n
  Add http://expressica.com/plugins/? [Y/n] n
  Add http://soen.ca/svn/projects/rails/plugins/? [Y/n] n
  Add http://technoweenie.stikipad.com/plugins/? [Y/n] n
  ...

Mit dem Befehl ruby script/plugin discover -l werden allen Quellen (ohne Rückfragen) aufgelistet.



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen. >> Zum Feedback-Formular
 <<   zurück
  Zum Katalog
Zum Katalog: Ruby on Rails 2
Ruby on Rails 2
Jetzt bestellen
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchtipps
Zum Katalog: Ruby on Rails 3.1






 Ruby on Rails 3.1


Zum Katalog: Responsive Webdesign






 Responsive Webdesign


Zum Katalog: Suchmaschinen-Optimierung






 Suchmaschinen-
 Optimierung


Zum Katalog: JavaScript






 JavaScript


Zum Katalog: Schrödinger lernt HTML5, CSS3 und JavaScript






 Schrödinger lernt
 HTML5, CSS3
 und JavaScript


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Rheinwerk Verlag GmbH 2008
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Rheinwerk Computing]

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de