See the published demo: dubious-demo.appspot.com
This is s starter project for Mirah on App Engine. Dubious provide a way to build apps in Mirah, with conventions familiar to Rails developers. Mirah has no runtime dependencies, everything is compiled ahead-of-time. Mirah apps have none of the initialization costs associated with JRuby. Dubious supports ERb and has a simple datastore adapter that uses a syntax similar to DataMapper.
Mirah is a new language with Ruby-inspired syntax that compiles to JVM bytecode. Mirah is statically typed, with local type inference, and a simple macro system. The goal is to make Mirah as expressive as Ruby without introducing any runtime library and while maintaining Java’s level of performance. Just write code that looks like Ruby, but reference the Java docs to find out what method calls to make. Mirah uses the Java type system. Join the duby-dev mailing list to get involved: kenai.com/projects/duby/lists/dev/archive
Fetch App Engine Java SDK and JRuby, then install them into /usr/local
-
googleappengine.googlecode.com/files/appengine-java-sdk-1.3.7.zip
-
jruby.org.s3.amazonaws.com/downloads/1.5.1/jruby-bin-1.5.1.tar.gz
Make sure the appengine tools are executable
sudo chmod a+x /usr/local/appengine-java-sdk-1.3.7/bin/*.sh
Now git clone bitescript, mirah and dubious to your drive
mkdir -p ~/mystuff; cd ~/mystuff git clone http://github.com/headius/bitescript.git git clone http://github.com/headius/mirah.git git clone http://github.com/mirah/dubious.git
Edit .bash_profile to find these tools
export JRUBY_HOME=/usr/local/jruby-1.5.1 export MIRAH_HOME=~/mystuff/mirah export APPENGINE_JAVA_SDK=/usr/local/appengine-java-sdk-1.3.7 export PATH=$PATH:$JRUBY_HOME/bin:$MIRAH_HOME/bin:$APPENGINE_JAVA_SDK/bin
Verify tools are configured properly, and check to see that script/build.sh has the correct path to the SDK.
which appcfg.sh which dev_appserver.sh which mirah which jruby
After that you should install the appengine-sdk gem
jgem install appengine-sdk
To build the gem
jgem build dubious.gemspec
Install the gem
jgem install dubious
Generate your app
dubious new my-app cd my-app
There are two ways to develop the app. The first way is to run the build script each time you make a change. The new way is to use the Rakefile. If you are using jruby’s rake, the task will watch for source file changes and update the running class files. Otherwise, you need to restart the server when you have changes.
Compile the Mirah files and populate the WEB-INF/lib dir
./script/build.sh
Run the app locally
./script/server.sh
Edit the app-id in app.yaml, then publish to appspot.com
./script/publish.sh
Populate the WEB-INF/lib dir
./script/environment.rb
Run the app locally
jruby -S rake server
Edit the app-id in app.yaml, then publish to appspot.com
jruby -S rake publish