Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
tag: v0.3.2
Fetching contributors…

Cannot retrieve contributors at this time

115 lines (92 sloc) 2.837 kB
# inspired by http://www.rowtheboat.com/archives/32
###################################################
# get all datamapper related gems
gem 'addressable', :lib => 'addressable/uri'
# assume sqlite3 to be database
gem 'do_sqlite3'
# assume you want to have validations and timestamps in your models
gem 'dm-validations'
gem 'dm-timestamps'
gem 'dm-migrations'
gem 'dm-serializer' # to allow xml interface to work
# assume you prefer rspec over unit tests
gem 'rspec', :lib => false
gem 'rspec-rails', :lib => false
# this pulls in rails_datamapper and rack_datamapper
gem 'datamapper4rails'
# install all gems
rake 'gems:install'
# install specs rake tasks
generate('rspec', '-f')
# install datamapper rake tasks
generate('datamapper_install')
# fix config files to work with datamapper instead of active_record
environment ''
environment 'config.frameworks -= [ :active_record ]'
environment '# deactive active_record'
gsub_file 'spec/spec_helper.rb', /^\s*config[.]/, ' #\0'
gsub_file 'test/test_helper.rb', /^[^#]*fixtures/, ' #\0'
file 'spec/support/datamapper.rb', <<-CODE
require 'datamapper4rails/rspec'
CODE
# add middleware
def middleware(name)
log 'middleware', name
environment "config.middleware.use '#{name}'"
end
environment ''
middleware 'DataMapper::RestfulTransactions'
middleware 'DataMapper::IdentityMaps'
middleware 'Rack::Deflater'
environment '# add middleware'
# init a session store
initializer 'datamapper_store.rb', <<-CODE
# init a session store which uses a memory cache and a persistent store
# cleanup can be a problem. jruby uses soft-references for the cache so
# memory cleanup with jruby is not a problem.
require 'datamapper4rails/datamapper_store'
ActionController::Base.session_store = :datamapper_store
ActionController::Base.session = {
:cache => true,
}
CODE
# gzip fix for jruby
initializer 'monkey_patches.rb', <<-CODE
if RUBY_PLATFORM =~ /java/
require 'zlib'
class Zlib::GzipWriter
def <<(arg)
write(arg)
end
end
end
CODE
file 'prepare_jruby.sh', <<-CODE
#!/bin/bash
echo
echo "shall freeze rails and fix a bug which prevents rails to use certain"
echo "java gems like the dataobjects drivers !!"
echo
mvn --version
if [ $? -ne 0 ] ; then
echo "please install maven >= 2.0.9 from maven.apache.org"
exit -1
fi
mvn de.saumya.mojo:rails-maven-plugin:rails-freeze-gems de.saumya.mojo:rails-maven-plugin:gems-install
echo
echo "you can run rails with (no need to install jruby !!)"
echo
echo "\tmvn de.saumya.mojo:rails-maven-plugin:server"
echo
echo "more info on"
echo "\thttp://github.org/mkristian/rails-maven-plugin"
echo
echo
CODE
rake 'db:sessions:create'
logger.info
logger.info
logger.info "info mavenized rails application"
logger.info "\thttp://github.org/mkristian/rails-maven-plugin"
logger.info
logger.info
Jump to Line
Something went wrong with that request. Please try again.