Will this work with a Rails app?

----- Original Message -----
From: "Ryan Davis" <ryand-ruby / zenspider.com>
To: "ruby-talk ML" <ruby-talk / ruby-lang.org>; <ruby / zenspider.com>
Sent: Tuesday, June 13, 2006 3:56 AM
Subject: ANN: ZenObfuscate - for when you really really have to ship a
binary


> "Being perfectly honest, your obfuscator has made me feel like
> writing RubyCocoa apps is a commercially viable business, whereas
> before I had my doubts." - Aidan Rogers
>
> - ZenObfuscate
>      - What is it?
>          - For when you really really have to ship a binary.
>          - Lets you: Write in ruby, and ship a binary.
>          - ZenObfuscate is a translator for a fairly large subset of
>            ruby that converts your pure ruby code into a dynamically
>            loadable binary, protecting your intellectual property(*).
>      - How does it work?
>            zenobfuscate has a commandline interface that takes the
>            specified ruby files and outputs a dynamically loadable
>            binary (.bundle on osx, .so on unix/linux and .dll or
>            windows).
>          - TODO: diagram
>          - e.g., ./bin/zenobfuscate -o mylibrary lib/blah.rb; ruby
>            -rmylibrary -e 'use_my_library'
>          - Built on a solid foundation: RubyInline and ParseTree. Long
>            standing open source packages for ruby.
>      - When is it available?
>            Available nowish on an individual basis
>      - How much does it cost and what is its licensing?
>            ZenObfuscate costs $2500 for a site license or is
>            individually negotiable. ZenObfuscate is a commercial product
>            produced wholly by Eric Hodel and Ryan Davis and is not for
>            redistribution. All rights are reserved, etc., etc. Binaries
>            produced from ZenObfuscate have no restrictions of any kind
>            (except determined by their authors).
>      - Requirements
>            ruby 1.8.x, ruby2c, parse_tree, rubyinline (all available as
>            gems)
>            available on darwin ppc, darwin intel, freebsd x86, freebsd
>            amd/64bit, and linux x86 (with coaxing).
>      - Known Limitations
>            There are issues with what the obfuscator can translate to C
>            and as a result you may need to modify your code in order to
>            translate it. Usually this is a pretty straightforward and
>            simple task. We do a good job of translating static ruby to
>            its equivalent C, but not all ruby has an equivalent in C.
>          - Only translates methods in classes and modules, not
>            freestanding code.
>          - Explicit returns are required in all methods.
>          - Temporary: Conditional logic (including ?:) may not be on the
>            right hand side of an assignment.
>          - Temporaryish: Exception handling and generic block closures
>            currently don't translate.
>          - Some expressions in ruby we don't currently do, but could
>            upon request, where some other ruby expressions will never
>            translate.
>
> --
> I know that you believe you understand what you think I said but,
> I'm not sure you realize that what you heard is not what I meant.
>
>