Skip to content

Instantly share code, notes, and snippets.

@hackhowtofaq
Forked from DamirSvrtan/app_template.rb
Last active August 29, 2015 14:10
Show Gist options
  • Save hackhowtofaq/c3f586d5b78b04492818 to your computer and use it in GitHub Desktop.
Save hackhowtofaq/c3f586d5b78b04492818 to your computer and use it in GitHub Desktop.
### Rails app generator template. Run it:
### rails new _app_name_ -m https://gist.githubusercontent.com/DamirSvrtan/28a28e50d639b9445bbc/raw/app_template.rb
bin_setup_file = <<-FILE
#!/bin/sh
bundle install
bundle exec rake db:setup
FILE
create_file 'bin/setup', bin_setup_file
remove_file "README.rdoc"
create_file "README.md", "Development: run ./bin/setup"
run 'mv app/assets/stylesheets/application.css app/assets/stylesheets/application.scss'
database_type = ask("Do you want to use postgres or mysql?", limited_to: ["pg", "mysql"])
adapter = if database_type == 'pg'
gem 'pg'
'postgresql'
else
gem 'mysql2'
'mysql2'
end
database_file = <<-FILE
default: &default
adapter: <%= adapter %>
pool: 5
timeout: 5000
host: localhost
username: root
development:
<<: *default
database: <%= @app_name %>_development
password:
test:
<<: *default
database: <%= @app_name %>_test
production:
<<: *default
database: <%= @app_name %>_production
FILE
create_file 'config/database.yml', ERB.new(database_file).result(binding), force: true
# Remove unwanted gems. spring will be added later in the development group of gems
%w(spring coffee-rails).each do |unwanted_gem|
gsub_file("Gemfile", /gem '#{unwanted_gem}'.*\n/, '')
end
# remove commented lines
gsub_file("Gemfile", /#.*\n/, '')
# remove double newlines
gsub_file("Gemfile", /^\n\n/, '')
#simple_form_installation = "simple_form:install"
if yes?('Use bootstrap?')
gem 'bootstrap-sass'
#simple_form_installation << " --bootstrap"
end
#gem 'simple_form'
gem 'slim-rails'
gem 'draper'
gem_group :development do
gem 'spring'
gem 'better_errors'
gem 'binding_of_caller'
gem 'quiet_assets'
gem 'pry-rails'
gem 'bullet'
gem 'traceroute'
gem 'letter_opener'
end
run "bundle install"
#generate simple_form_installation
git :init
%w(.sass-cache powder public/system dump.rdb logfile .DS_Store).each do |gitignored|
append_file ".gitignore", gitignored
end
git add: ".", commit: "-m 'Initial commit'"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment