Artikel zum Thema »ruby«

Es ist Liebe!

Josh Marcello – »A Love Letter to Ruby and Rails«:

»In my experience working in other technologies, 50-80% of my time is spent solving technology problems and what's left is used to solve actual business problems. These technology problems are tasks such as building out database connections, setting up boilerplate, writing build pipelines, etc. Meanwhile with Rails I've noticed I get to spend spent the vast majority of my time focusing on business logic.«

Ich würde es nicht gar so lyrisch wie Josh ausdrücken, aber das ist auch meine Erfahrung. Während manche noch ihr tolles Serverless konfigurieren und sich die Festplatte mit npm füllen, tippen wir trocken ein rails new schoenenuetzlicheapp ins Terminal und beginnen mit der Programmierung.

Auch 2021 ist Ruby on Rails immer eine gute Wahl für ein Webprojekt. Zumal man auch zunehmend weniger anstrengende Lösungen für die glorreichen JavaScript-Segnungen der Moderne im gewohnten Rails-Stil mitgeliefert bekommt…

rails ruby meta

zwitschiloesch.rb, oder: Wie man mit Ruby den eigenen Twitter-Account leert!

ruby twitter

Ein Smartphone mit durchgestrichenem Twitter-Logo, daneben ein Kampfmesser. Twitter ist ein gefährliches Netz-Pflaster geworden. Irgendein schnoddriger Tweet von 2012 kann Dich einholen und Dir in der dort mittlerweile 24/7/365 tobenden Polit- und Ideologie-Schlacht um die Ohren gehauen werden. Davon abgesehen schadet es eh nicht, mal die Netz-Spuren von Jahren ein wenig zu verwischen…

Es ist im Hause Twitter nicht vorgesehen, dass man die Inhalte des eigenen Twitter-Account »einfach so« auf einmal löschen kann. Mit ein paar Zeilen Ruby und dem Twitter-Gem kann man sich aber selbst etwas bauen, was den eigenen Twitter-Account gründlich leert…

(Photo by Jeremy Zero on Unsplash, thanx!)

Weiterlesen…

XML in Rails verarbeiten

xml rails ruby

XML! Kaum jemand ist ein großer Fan davon, man kann dem großen Klammern-Salat aber kaum entrinnen, wenn man mit externen Daten von »The Enterprise™« arbeiten muss. Zur Weiterverarbeitung in der eigenen Rails-Anwendung hatte ich dazu bisher stets eine große Parserei mit Nokogiri veranstaltet oder auf zur Datenquelle passende Gems zurückgegriffen.

Aber, TIL: Schon seit Rails 3.0.0 hat Active Support eine Erweiterung für Hash an Bord, die einen String voller hässliches XML in einen wohlgeformten Hash umwandelt.

Weiterlesen…

Projektbezogene irb-Historie für Rails

ruby rails irb

Problem: Wenn man mit rails c in der Console mit irb (interactive Ruby) arbeitet, hat man nur eine globale History. Diese liegt im home-Verzeichnis des Users unter .irb_history (aber .irb-history wenn man RVM benutzt). Das ist unschön, denn wenn man an einem Projekt arbeitet, möchte man auch nur den dafür relevanten Teil der History sehen.

Abhilfe schafft eine auf Github gefundene Konfigurationsdatei .irbrc im Homeverzeichnis. Diese speichert die Kommando-Historie fortan im Rails-Projektverzeichnis, »normale« Ruby-Arbeit aber weiterhin in der globalen Historie im home-Verzeichnis:

  # ~/.irbrc
  require 'irb/completion'
  require 'irb/ext/save-history'
  IRB.conf[:SAVE_HISTORY] = 1000
  if defined?(::Rails)
    IRB.conf[:HISTORY_FILE] = File.join(ENV['PWD'], '.irb-history')
  else
    IRB.conf[:HISTORY_FILE] = File.join(ENV['HOME'], '.irb-history')
  end

Fortan liegt eine .irb-history im Rails-Projektverzeichnis. Man sollte diese dann in die .gitignore aufnehmen.

Bonustipp: Wenn man in der Rails-Console mit Objekten arbeitet, kann die ständige Ausgabe der im Hintergrund ablaufenden SQl-Kommandos stören. Mit dem folgenden Befehl wird diese für die aktuelle irb-Session abgeschaltet:

  ActiveRecord::Base.logger = nil

Eine populäre Alternative zu irb ist pry. pry hat viele Features, fast schon zu viele, weshalb ich irb bevorzuge.