2013-04-10 6 views
6

Ich bin daran interessiert, mit einem Ruby-Skript (https://github.com/zmoazeni/csscss) mit einer ASPNET MVC-Site. Ich habe keine Erfahrung mit Ruby, daher könnte meine Frage naiv sein.kann Ironruby Nugget-Paket installiert werden dann in einer Vanille verwendet VS2012

Ist es möglich, das Ironruby-Paket zu importieren und die Ruby-Skripte auszuführen?

Mein Ziel wäre es, einen .net-Wrapper um die Ruby-Skripte zu legen und die Ausgabe als HTML auszugeben.


Bisher habe ich versucht, googeln mit IronRuby ersten Schritte aber nicht viel gefunden, dass ich verstehe und bekommen konnte arbeiten, (ja, dass eine solide vage, aber ich weiß nicht, Rubin oder IronRuby und konnte nicht finden irgendwelche guten einfachen Anleitungen, um anzufangen).

+0

[Was haben Sie versucht?] (Http: // mattgemell.com/2008/12/08/was-hast-du-versucht /) –

Antwort

3

Ich habe einen einfachen Proof of Concept unter https://github.com/edymtt/csscss-from-ironruby realisiert, das in einer Konsolenanwendung zeigt, wie IronRuby verwendet wird, um den Quellcode csscss zu analysieren, um ein aus einer Datei geladenes CSS zu analysieren. Um dieses Ergebnis zu erreichen, habe ich von diesem SO question gestartet - Sie können die zusätzlichen Ressourcen finden, die ich in den Kommentaren des Programms verwendet habe. Ich habe diesen Code in einer ASP.net MVC-Site nicht ausprobiert - trotzdem sollte dieses Beispiel ein guter Ausgangspunkt sein.

Diese Lösung ist ein wenig mühsam zu warten, da Sie die Quellen für die csscss und ihre abhängigen Bibliotheken manuell in die Lösung einfügen müssen. Eine alternative Lösung ist, Ruby auf dem Rechner zu installieren, csscss mit gem zu installieren (so dass die Abhängigkeiten automatisch heruntergeladen werden) und das Programm von .NET aufzurufen - ich werde diesen Ansatz auch im Beispiel zeigen. Beachten Sie, dass diese Lösung erfordert, dass Sie Ruby auf dem Webserver installieren können.

UPDATE 2013.09.02 18.15 UTC Nach dem Vorschlag von Zach Moazeni Ich habe in der Lage gewesen, die Annäherung an semplify die IronRuby verwendet csscss zu laufen und ich habe entsprechend den Proof of Concept aktualisiert. Auf den Punkt gebracht:

  • außerhalb des .NET-Programm, das ich verwendet habe bundler csscss und json (und abhängig Edelsteine) in einen lokalen Ordner des Projekts zum Download;
  • im .NET-Programm Ich habe eine Funktion geschrieben, um alle Pfade der Bibliotheken in der Edelstein-Ordner von bundler (durch Auffinden der gems Ordner und dann für jeden Unterordner der lib Ordner, wurde diese Algoritmus inspiriert gefunden) zu entdecken this SO thread);
  • Ich habe diese Liste der Pfade zum IronRuby-Interpreter vor dem Start csscss übergeben.

von gem und bundler Dieser Ansatz soll die Fähigkeit zu verwenden, nur .NET konjugiert das Programm mit der Leichtigkeit des Updates gegeben auszuführen.

+0

Ich bin nicht vertraut mit IronRuby, aber ist es kompatibel mit [Bundler] (http://gembundler.com/)? Wenn dem so ist, kann das eine Menge Ärger mit einer "Gemfile" ersparen. –

+0

Danke für die Rückmeldung - ich muss etwas recherchieren und experimentieren. Es scheint, dass IronRuby Unterstützung für Edelsteine ​​sowohl von der Kommandozeile als auch von der gehosteten Maschine hat (siehe [hier] (http://stackoverflow.com/questions/44973/cani-irun-rubygems-in-ironruby) und [hier] (http://rubyforge.org/pipermail/ironruby-core/2010-July/007119.html)) aber ab jetzt kann ich 'csscss' nicht herunterladen, das in einem lokalen Ordner mit' bundler' unter Ruby 2.0 heruntergeladen wurde. – edymtt

+0

@ZachMoazeni Ich war in der Lage, Ihren Vorschlag zu verwenden, um eine bessere Möglichkeit zu finden, 'csscss' unter IronRuby auszuführen. Danke noch einmal! – edymtt

2

Ich bin der Autor von csscss und ich baute die JSON-Ausgabe aus diesem Grund.

csscss -j file.css 

Es ist keine perfekte Lösung, sondern für Menschen lesbaren Text der ausgegeben wird, wird es ausgegeben JSON, die Sie aus welcher Sprache/Laufzeit analysieren kann.