Slingshot scheint tot zu sein. Funktioniert nicht mit aktuellen Rails-Versionen, der letzte Blogpost darüber stammt vom 2. August 2007 und die Doku wurde vor zwei Jahren das letzte mal aktualisiert.
Schade eigentlich. Wollte damit grad eine kleine Rails-Anwendung offline für Win+Mac benutzbar machen. Eine Alternative fand ich bis jetzt noch nicht.
Sorry für die downtime. Leichtes Versions-Chaos auf meinem neuen Rechner und dem Server führte zu obskuren Fehlern.
Aber immerhin hab ich bei der Gelegenheit gleich mal auf Rails 2.3 aktualisiert und ne neue Error-Seite gemalt :> Rechts gibts nun auch die neuesten Kommentare zu sehn.
Kleine Notiz für mich, da ich das immer vergesse und es auch nicht auf Ultraviolets Website steht:
actionscript, active4d, active4d_html, active4d_ini, active4d_library, ada, antlr, apache, applescript, asp, asp_vb.net, bibtex, blog_html, blog_markdown, blog_text, blog_textile, build, bulletin_board, c++, c, cake, camlp4, cm, coldfusion, context_free, cs, css, css_experimental, csv, d, diff, dokuwiki, dot, doxygen, dylan, eiffel, erlang, f-script, fortran, fxscript, greasemonkey, gri, groovy, gtd, gtdalt, haml, haskell, html-asp, html, html_django, html_for_asp.net, html_mason, html_rails, html_tcl, icalendar, inform, ini, installer_distribution_script, io, java, javaproperties, javascript, javascript+prototype, javascript+prototype_bracketed, jquery_javascript, json, languagedefinition, latex, latex_beamer, latex_log, latex_memoir, lexflex, lighttpd, lilypond, lisp, literate_haskell, logo, logtalk, lua, m, macports_portfile, mail, makefile, man, markdown, mediawiki, mel, mips, mod_perl, modula-3, moinmoin, mootools, movable_type, multimarkdown, objective-c++, objective-c, ocaml, ocamllex, ocamlyacc, opengl, pascal, perl, php, plain_text, pmwiki, postscript, processing, prolog, property_list, python, python_django, qmake_project, qt_c++, quake3_config, r, r_console, ragel, rd_r_documentation, regexp, regular_expressions_oniguruma, regular_expressions_python, release_notes, remind, restructuredtext, rez, ruby, ruby_experimental, ruby_on_rails, s5, scheme, scilab, setext, shell-unix-generic, slate, smarty, sql, sql_rails, ssh-config, standard_ml, strings_file, subversion_commit_message, sweave, swig, tcl, template_toolkit, tex, tex_math, textile, tsv, twiki, txt2tags, vectorscript, xhtml_1.0, xml, xml_strict, xsl, yaml, yui_javascript
Das sind die verfügbaren Syntaxen in Ultraviolet. Erzeugt hiermit:
require 'rubygems'
require 'uv'
File.open('/Users/rob/Desktop/syntaxes.txt', 'w') {|f| f.write(Uv.syntaxes.join(', '))}
Ultraviolet ist eine klasse Library zum highlighten von Syntax. Benutz ich zusammen mit tm_syntax_highlighting für die schicken Codeboxen hier im Blag. tm_syntax_highlighting wiederum liest die Farbdefinitionen von TextMate aus, wodurch der Code hier genauso chique aussieht wie in meinem Lieblingseditor. Har!
Hier ist mein HTML-Hex-Viewer als Rails-Helper. Er markiert die Bytes, wenn man mit der Maus drüberfährt und färbt optional verschiedene Codesegmente bunt ein (z.B. Header, Text und Data-Segmente einer EXE).
Beginning today, the Merb team will be working with the Rails core team on a joint project. [...] Effectively, Merb 2 is Rails 3.
Whoa.
Why!?
As you have probably gathered from the above, there aren’t any clear points that the Merb and Rails team disagree on anymore. [...] Given this philosophical convergence, it just didn’t seem like there was much to gain by continuing to duplicate effort and spend time and energy fighting each other.
Mit gutem Fix für das Safari/IE-XML-Header-Problem.
Praktisches gem von Reg Braithwaite mit dem Methoden-Aufrufe auf nil-Objekten abgefangen werden können.
# Ohne andand:
@user = User.find(1)
@address = @user ? @user.address : nil
# Mit andand:
@address = User.find(1).andand.address
Enthält außerdem noch tap zum leichten debugging:
# Original:
p [1, 2, 3].reverse.map {|x| x**2 }
# Debug durch Auseinanderrupfen und Zwischenvariable:
bla = [1, 2, 3].reverse
p bla
p bla.map {|x| x**2 }
# Debug mit tap:
p [1, 2, 3].reverse.tap {|d| p d }.map {|x| x**2 }
Einfach sudo gem install andand und
require 'rubygems'
require 'andand'
in den Code.
Ähnlich praktisch ist der tee-Befehl auf der Commandline:
ps aux | tee p.txt | more
ps aux gibt alle laufenden Prozesse aus, tee p.txt schreibt die Ausgabe von ps aux in die Datei p.txt und gibt sie weiter an more.
Update:
Rails 2.3 hat andand-ähnliche Funktionalität schon eingebaut: try
@address = User.find(1).try(:address)
Mehr dazu: ozmm.org/posts/try.html