Sebastians Blog Neues aus den Softwareminen…

Schlagwort-Archive: OSBN

Herausfinden, wo eine Methode definiert wurde

In manchen Situationen ist es alles andere als offensichtlich, welche Klasse oder welches Modul eine Methode bereitstellt. Wer implementiert die Get-Methode für Rspec-Controller-Tests? Gerade in solch zusammengewürfelten Umgebungen ist das nur schwer nachvollziehbar. Ruby hilft hierbei: Die Metamethode method gibt Auskunft, … Weiterlesen

Veröffentlicht unter | Verschlagwortet mit , , | Hinterlasse einen Kommentar

Rails-Konfiguration in Engine auslagern

Für die meisten Rails-Projekte verwende ich die gleichen Gems mit ähnlichen Konfigurationen. Um den Projektstart und den Update-Prozess zu vereinheitlichen, möchte ich eine Engine, die diese Abhängigkeiten und Konfigurationen übernimmt. Für den einfacheren Einstieg erzeuge ich innerhalb einer bestehenden Rails-App eine neue Engine: … Weiterlesen

Veröffentlicht unter | Verschlagwortet mit , , , | Hinterlasse einen Kommentar

Ubuntu-Update kränkelt nach Owncloud-Installation

Nach der Installation des Owncloud-Clients über eine zusätzliche Paketquelle erhalte ich vom Ubuntu-Update-Manager Fehlermeldungen. Ein Update in der Konsole jammert: sudo apt-get update … Paketlisten werden gelesen… Fertig W: GPG-Fehler: http://download.opensuse.org Release: Die folgenden Signaturen konnten nicht überprüft werden, weil ihr … Weiterlesen

Veröffentlicht unter | Verschlagwortet mit , , | 3 Kommentare

ActiveRecord: Klasse einer Model-Instanz ändern

ActiveRecord erlaubt das direkte Ändern der Klasse einer Model-Instanz mittels #becomes. Dies kann zum Beispiel hilfreich sein, wenn man für einen Spezialfall weitere Funktionen oder Validierungen zu einem Model hinzufügen will: > company = Company.last > company.persisted? => true > company.valid? … Weiterlesen

Veröffentlicht unter | Verschlagwortet mit , , , | Hinterlasse einen Kommentar

Action-Mailer-Previews im Spec-Verzeichnis

Die Mailer-Previews in Rails 4 sind ein Segen. Wer Rspec statt der üblichen Testsuite verwendet kann das Verzeichnis von test in spec ändern, so dass alle Testdateien zusammen bleiben: # config/application.rb # … config.action_mailer.preview_path = „#{Rails.root}/spec/mailers/previews“ Nach einem Serverneustart sollten die Previews gefunden … Weiterlesen

Veröffentlicht unter | Verschlagwortet mit , , , | Hinterlasse einen Kommentar

Suchstatus in ActiveAdmin deaktivieren

Der Suchstatus des Active-Admin-Masters funktioniert momentan fehlerhaft. Weder Scope-Namen noch Ransack-Suchen werden korrekt übersetzt. Da ich das Konzept ohnehin nicht sonderlich gewinnbringend finde, schalte ich es zentral im Active-Admin-Initializer ab: Wer das Konzept, wie ich, nicht sonderlich gewinnbringend und eines umständlichen Workarounds … Weiterlesen

Veröffentlicht unter | Verschlagwortet mit , , , | Hinterlasse einen Kommentar

ActiveAdmin: Authentifizierung für Browser und API

Eine einfache API-Authentifizierung lässt sich in ActiveAdmin durch Wiederverwendung des Standard-Admin-Users im Initializer erreichen: # config/initializers/active_admin.rb ActiveAdmin.setup do |config| config.prepend_before_filter do if active_admin_config.namespace.name == :api authenticate_or_request_with_http_basic(‚API‘) do |name, password| user = AdminUser.find_by_email!(name) sign_in(:admin_user, user) if user.valid_password?(password) end end end Dies … Weiterlesen

Veröffentlicht unter | Verschlagwortet mit , , , , , | Hinterlasse einen Kommentar

API-Namespace für ActiveAdmin

In ActiveAdmin kann man neben dem Standard weitere Namespaces definieren. Hierfür wird bei der Ressourcen-Registrierung die entsprechende Option angegeben: # app/admin/api/my_resource.rb ActiveAdmin.register MyResource, namespace: :api do # … Das Namespace-Verzeichnis kann unter app/admin abgelegt werden, ohne das „admin“ Teil der URL, des … Weiterlesen

Veröffentlicht unter | Verschlagwortet mit , , , | Hinterlasse einen Kommentar