Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 53 lines (30 sloc) 2.43 kb
f2a4bfb David Lake Support Serfs Decoders, rexml example, clean up, improved File support, ...
authored
1 h1. IronRubyEmbeddedApps
2
3 (More detail on the Wiki pages)
4
5 This repository shows how to create _standalone_ .Net applications written in Ruby.
6
7 You can package up Ruby applications as ordinary .Net executables without having to ship a collection of plain-text Ruby source files and the associated standard Ruby libraries.
8
9 If you want proof, look at the single file @IRSinatra.exe@ which demonstrates a fully operational Sinatra example program. It needs no other files - you just need the IronRuby runtime DLLs to be available on the PC.
10
11 Your source Ruby files are embedded directly into your executable, and you can use @require@, @load@, @File.open@ etc just as if the files were on disk.
12
13 No-one need ever know... (including your IT department).
14
15 Example:
16
17 <pre><code> EmbeddedRuby er = new EmbeddedRuby();
18 er.Mount("Applications");
19 exitcode = er1.Run("main.rb");
20 </code></pre>
21
22 h2. How
23
24 To create an Embedded Ruby application, you just need the following components:
25
26 h3. IronRuby
27
28 "IronRuby":http://github.com/ironruby/ironruby is the Open Source version of Ruby for .Net
29
30 h3. Serfs
31
32 "Serfs":http://github.com/rifraf/Serfs is a "Simple Embedded Resource File System" for .Net. It provides access to files embedded in .Net assemblies. Files can be encoded for privacy.
33
34 h3. IREmbeddedApp
35
36 "IREmbeddedApp":http://github.com/rifraf/IronRubyEmbeddedApps/tree/master/IREmbeddedApp/ provides a wrapper for IronRuby and Serfs, and a bootstrapper that patches the appropriate Ruby methods so that they can read files from embedded resources.
37
38 h1. Repository contents
39
40 This repository contains the following parts
41
42 # *IREmbeddedApp* : The core IREmbeddedApp dll.
43 # *ExampleApps* : An example command-line program showing how to run Ruby programs.
44 # *IREmbeddedLibraries* : A DLL containing a copy of the standard Ruby 1.8 libraries (including @rubygems@, @rexml@ etc), plus @rack-1.1.0@ and @sinatra-1.0@. This can be optionally included in an application if you need library support.
45 # *IRSinatra* : A fully working Sinatra application with 2 flavours, one with libraries in individual DLLs, one with them all merged into the .exe
46 # *IRTestResources* : An example DLL containing no code, just embedded resources (optparse, test::unit and flexmock taken directly from an ordinary Ruby install).
5fba6e1 David Lake Added license info
authored
47
48 h1. License
49
50 Copyright (c) 2010 David Lake (rifraf -> rifraf.net)
51
52 Released under the MIT license. See LICENSE file for details.
Something went wrong with that request. Please try again.