Forked from banker/Rails MongoMapper Template.rb
Created
February 18, 2010 05:44
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# mongo_template.rb | |
# fork of Ben Scofield's Rails MongoMapper Template (http://gist.github.com/181842) | |
# fork of banker's Rails MongoMapper Template (http://gist.github.com/219223) | |
# | |
# Uso: | |
# rails project_name -m "http://gist.github.com/307386.txt" | |
# removendo arquivos desnecessarios | |
run "rm public/index.html" | |
run "rm public/images/rails.png" | |
# Colocando o nome do seu banco no MongoDB | |
db_name = ask('Qual será o nome do seu banco no mongodb? ') | |
# Editando o arquivo database.yml | |
# Com os dados do banco | |
file 'config/database.yml', <<-CODE | |
base: &base | |
adapter: mongodb | |
# em tempo de execucao vamos adicionar o "-\#{Rails.env}" ao nomo do banco | |
database: "#{db_name}" | |
# Se estiver rodando o mongodb em outro host, | |
#vc deveria autenticar-se | |
#host: host.mongodb.com | |
#username: your-username | |
#password: your-password | |
# use as proximas linhas para colocar algo especifico a cada ambiente | |
development: | |
<<: *base | |
test: | |
<<: *base | |
production: | |
<<: *base | |
CODE | |
# colocando um arquivo na inicialização do rails | |
# Este arquivo será encarregado de conectar no banco | |
initializer 'database.rb', <<-CODE | |
include MongoMapper | |
db_config = YAML::load(File.read(File.join(Rails.root, "/config/database.yml"))) | |
if db_config[Rails.env] && db_config[Rails.env]['adapter'] == 'mongodb' | |
mongo = db_config[Rails.env] | |
MongoMapper.connection = Mongo::Connection.new(mongo['host'] || 'localhost', | |
mongo['port'] || 27017, | |
:logger => Rails.logger) | |
MongoMapper.database = "\#{mongo['database']}-\#{Rails.env}" | |
if mongo['username'] && mongo['password'] | |
MongoMapper.database.authenticate(mongo['username'], mongo['password']) | |
end | |
end | |
ActionController::Base.rescue_responses['MongoMapper::DocumentNotFound'] = :not_found | |
CODE | |
# Não precisamos do Active Record | |
environment 'config.frameworks -= [:active_record]' | |
# adicionando a gem do MongoMapper | |
gem 'mongo_mapper' | |
# Testing Helper | |
file 'test/test_helper.rb', <<-CODE | |
ENV['RAILS_ENV'] = 'test' | |
require File.expand_path(File.dirname(__FILE__) + '/../config/environment') | |
require 'test_help' | |
class ActiveSupport::TestCase | |
# Apagando todas colecoes depois de cada test case | |
def teardown | |
MongoMapper.database.collections.each do |coll| | |
coll.remove | |
end | |
end | |
# adicionando o metodo teardown em todos test cases | |
def inherited(base) | |
base.define_method teardown do | |
super | |
end | |
end | |
end | |
CODE | |
# Gem management | |
rake 'gems:install' | |
rake 'gems:unpack' | |
rake 'rails:freeze:gems' | |
# source control | |
file '.gitignore', <<-FILES | |
.DS_Store | |
**/.DS_Store | |
log/* | |
tmp/* | |
tmp/**/* | |
FILES | |
# comitando os fontes <img src="http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif" alt=";)" class="wp-smiley"> | |
git :init | |
git :add => '.' | |
msg_git = ask('Escreva seu comentario no commit do git') | |
git :commit => "-a -m \"#{msg_git}\"" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment