forked from jruby/jruby
-
Notifications
You must be signed in to change notification settings - Fork 0
RailsAOT
john_brock edited this page Jan 6, 2011
·
1 revision
AOT compilation of Ruby on Rails controllers and models can be useful for protecting/hiding/obfuscating/obscuring your Ruby on Rails source code when you develop applications not hosted by you. (Naturally this is not a secure solution for protecting source code.)
JRuby 1.1 is required.
- Compile your controller/model using jrubyc
$jrubyc your_controller.rb
- Choose one of the following three ways:
- 1. Two files, different file prefixes
- Rename your compiled file to e.g. your_controller_compiled.class and place it in the same directory as your Ruby controller/model
-
$mv ruby/your_controller.class ./your_controller_compiled.class
- Replace the content of your original Ruby controller/model (e.g. your_controller.rb) with a reference to your newly compiled file
-
require 'your_controller_compiled'
- 2. Two files, same file prefix (does this work by luck, or are .class files prioritized?)
- Move your compiled file to the same directory as your Ruby controller/model
-
$mv ruby/your_controller.class ./
- Replace the content of your original Ruby controller/model (e.g. your_controller.rb) with a reference to your newly compiled file
-
require 'your_controller'
- 3. Replace your .rb file with your .class file
-
$mv ruby/your_controller.class ./your_controller.rb