shoestrap 0.4.1 → 1.0.0.pre1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +17 -18
  3. data/.rspec +1 -1
  4. data/.ruby-version +1 -0
  5. data/.travis.yml +4 -11
  6. data/CHANGELOG.md +15 -1
  7. data/CONTRIBUTING +1 -0
  8. data/Gemfile +1 -1
  9. data/Guardfile +7 -0
  10. data/LICENSE +17 -4
  11. data/README.md +32 -14
  12. data/Rakefile +11 -10
  13. data/bin/shoestrap +2 -10
  14. data/features/features_helper.rb +91 -0
  15. data/features/shoestrap/commands/new_command_feature.rb +191 -0
  16. data/features/shoestrap/generators/bdd_generator_feature.rb +43 -0
  17. data/features/shoestrap/generators/bootstrap_generator_feature.rb +11 -0
  18. data/features/shoestrap/generators/coffee_files_generator_feature.rb +32 -0
  19. data/features/shoestrap/generators/foundation_generator_feature.rb +34 -0
  20. data/features/shoestrap/generators/kuhsaft_generator_feature.rb +38 -0
  21. data/features/shoestrap/generators/smacss_files_generator_feature.rb +45 -0
  22. data/lib/generators/shoestrap/bdd_generator.rb +34 -0
  23. data/lib/generators/shoestrap/bootstrap_generator.rb +6 -0
  24. data/lib/generators/shoestrap/coffee_files_generator.rb +19 -0
  25. data/lib/generators/shoestrap/database_generator.rb +9 -0
  26. data/lib/generators/shoestrap/foundation_generator.rb +24 -0
  27. data/lib/generators/shoestrap/gem_install_generator.rb +12 -0
  28. data/lib/generators/shoestrap/kuhsaft_generator.rb +34 -0
  29. data/lib/generators/shoestrap/mailcatcher_generator.rb +14 -0
  30. data/lib/generators/shoestrap/smacss_file_generator.rb +33 -0
  31. data/lib/shoestrap.rb +2 -6
  32. data/lib/shoestrap/application_generator.rb +96 -0
  33. data/lib/shoestrap/cli.rb +35 -0
  34. data/lib/shoestrap/railtie.rb +7 -0
  35. data/lib/shoestrap/shell.rb +9 -0
  36. data/lib/shoestrap/version.rb +3 -0
  37. data/shoestrap.gemspec +28 -21
  38. data/spec/shoestrap/application_generator_spec.rb +170 -0
  39. data/spec/shoestrap/cli_spec.rb +28 -0
  40. data/spec/spec_helper.rb +34 -0
  41. data/templates/application_generator/application.html.haml +51 -0
  42. data/templates/application_generator/application_helper.rb +6 -0
  43. data/templates/application_generator/application_template.rb +72 -0
  44. data/templates/application_generator/favicons/favicon-sc-129x129.png +0 -0
  45. data/templates/application_generator/favicons/favicon-sc-16x16.ico +0 -0
  46. data/templates/application_generator/favicons/favicon-sc-32x32.png +0 -0
  47. data/templates/bdd_generator/active_record_spec_helper.rb +19 -0
  48. data/templates/bdd_generator/dotrspec +2 -0
  49. data/templates/bdd_generator/fast_spec_helper.rb +6 -0
  50. data/templates/bdd_generator/spec_helper.rb +12 -0
  51. data/templates/coffee_generator/application.js.coffee +3 -0
  52. data/templates/foundation_generator/_ie8_grid.css +85 -0
  53. data/templates/foundation_generator/_settings.css.sass +171 -0
  54. data/templates/kuhsaft_generator/kuhsaft.rb +5 -0
  55. data/templates/smacss_generator/application.css.sass +18 -0
  56. metadata +165 -74
  57. data/.rvmrc +0 -34
  58. data/lib/generators/shoestrap/app_generator.rb +0 -35
  59. data/lib/generators/shoestrap/cms_generator.rb +0 -57
  60. data/lib/generators/shoestrap/deployment_generator.rb +0 -62
  61. data/lib/generators/shoestrap/templates/cms/migration.rb +0 -15
  62. data/lib/generators/shoestrap/templates/cms/model.rb +0 -10
  63. data/lib/generators/shoestrap/templates/cms/model.yml.erb +0 -9
  64. data/lib/generators/shoestrap/templates/cms/view.yml.erb +0 -10
  65. data/lib/generators/shoestrap/templates/deployment/airbrake.rb +0 -10
  66. data/lib/generators/shoestrap/templates/deployment/database.yml.erb +0 -30
  67. data/lib/generators/shoestrap/templates/deployment/deployment.rake.erb +0 -23
  68. data/lib/generators/shoestrap/templates/deployment/unicorn.rb +0 -38
  69. data/lib/shoestrap/app_builder.rb +0 -132
  70. data/lib/shoestrap/tasks/middleman.rb +0 -21
  71. data/lib/shoestrap/tasks/radiant.rb +0 -41
  72. data/lib/shoestrap/tasks/rails.rb +0 -81
  73. data/templates/Gemfile.erb +0 -43
  74. data/templates/Guardfile +0 -33
  75. data/templates/README.md.erb +0 -30
  76. data/templates/_main_navigation.html.haml.erb +0 -5
  77. data/templates/application.html.haml +0 -24
  78. data/templates/bootstrap_and_overrides.css.sass +0 -7
  79. data/templates/cms_navigation.rb +0 -9
  80. data/templates/development_mail_interceptor.rb +0 -7
  81. data/templates/haml/scaffold/_form.html.haml +0 -10
  82. data/templates/haml/scaffold/edit.html.haml +0 -8
  83. data/templates/haml/scaffold/index.html.haml +0 -29
  84. data/templates/haml/scaffold/new.html.haml +0 -5
  85. data/templates/haml/scaffold/show.html.haml +0 -11
  86. data/templates/index.html.haml +0 -27
  87. data/templates/kuhsaft.css.sass +0 -2
  88. data/templates/rails/scaffold_controller/controller.rb +0 -89
  89. data/templates/setup_mail.rb +0 -1
  90. data/templates/shoestrap.yml +0 -41
@@ -0,0 +1,43 @@
1
+ require_relative '../../features_helper'
2
+
3
+ describe 'application generated with shoestrap new <name>' do
4
+ before :all do
5
+ generate_test_app_with_shoestrap
6
+ end
7
+
8
+ context '.rspec file' do
9
+ it 'sets up rspec to use colored output' do
10
+ expect(application_file('.rspec')).to match /--color/
11
+ end
12
+
13
+ it 'sets up rspec to use the documentation format' do
14
+ expect(application_file('.rspec')).to match /--format d/
15
+ end
16
+ end
17
+
18
+ it 'has a spec_helper' do
19
+ expect(application_file('spec/spec_helper.rb')).not_to be_nil
20
+ end
21
+
22
+ it 'has a fast_spec_helper' do
23
+ expect(application_file('spec/fast_spec_helper.rb')).not_to be_nil
24
+ end
25
+
26
+ it 'has a active_record_spec_helper' do
27
+ expect(application_file('spec/active_record_spec_helper.rb')).not_to be_nil
28
+ end
29
+
30
+ context 'Guardfile' do
31
+ it 'has a Guardfile' do
32
+ expect(application_file('Guardfile')).not_to be_nil
33
+ end
34
+
35
+ it 'has the rspec config in it' do
36
+ expect(application_file('Guardfile')).to match /guard\ :rspec\ do/
37
+ end
38
+
39
+ it 'has the spring config in it' do
40
+ expect(application_file('Guardfile')).to match /guard\ 'spring'\ do/
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,11 @@
1
+ require_relative '../../features_helper'
2
+
3
+ describe 'application generated with shoestrap new <name> --css=bootstrap' do
4
+ before :all do
5
+ generate_test_app_with_shoestrap('--css=bootstrap')
6
+ end
7
+
8
+ it 'has bootstrap-sass in the Gemfile' do
9
+ expect(application_file('Gemfile')).to match /gem "bootstrap-sass"/
10
+ end
11
+ end
@@ -0,0 +1,32 @@
1
+ require_relative '../../features_helper'
2
+
3
+ describe 'application generated with shoestrap new <name>' do
4
+ before :all do
5
+ generate_test_app_with_shoestrap
6
+ end
7
+
8
+ it 'has coffee-rails in the Gemfile' do
9
+ expect(application_file('Gemfile')).to match /gem\ 'coffee\-rails'/
10
+ end
11
+
12
+ it 'has uglifier in the Gemfile' do
13
+ expect(application_file('Gemfile')).to match /gem\ 'uglifier'/
14
+ end
15
+
16
+ context 'application.js.coffee' do
17
+ it 'has the application javascript' do
18
+ expect(application_file('app/assets/javascripts/application.js.coffee')).not_to be_nil
19
+ end
20
+
21
+ %w[
22
+ jquery
23
+ jquery_ujs
24
+ turbolinks
25
+ ].each do |js_requirement|
26
+ it "has #{js_requirement} required in the application.js.coffee" do
27
+ expect(application_file('app/assets/javascripts/application.js.coffee')).to match "#= require #{js_requirement}"
28
+ end
29
+ end
30
+ end
31
+ end
32
+
@@ -0,0 +1,34 @@
1
+ require_relative '../../features_helper'
2
+
3
+ describe 'application generated with shoestrap new <name> --css=foundation' do
4
+
5
+ options = '--css=foundation'
6
+
7
+ before :all do
8
+ generate_test_app_with_shoestrap(options)
9
+ end
10
+
11
+ it 'has the foundation gem in the Gemfile' do
12
+ expect(application_file('Gemfile', options)).to match /gem "zurb-foundation"/
13
+ end
14
+
15
+ it 'has the foundation requirement in the application.js.coffee' do
16
+ expect(application_file('app/assets/javascripts/application.js.coffee', options)).to match /\#=\ require\ foundation/
17
+ end
18
+
19
+ it 'has the foundation requirement in the application.css.sass' do
20
+ expect(application_file('app/assets/stylesheets/application.css.sass', options)).to match /@import\ foundation/
21
+ end
22
+
23
+ it 'has the ie8 grid requirement in the application.css.sass' do
24
+ expect(application_file('app/assets/stylesheets/application.css.sass', options)).to match /@import\ ie8_grid/
25
+ end
26
+
27
+ it 'has the ie8 grid support' do
28
+ expect(application_file('app/assets/stylesheets/_ie8_grid.css', options)).not_to be_nil
29
+ end
30
+
31
+ it 'has the foundation settings file' do
32
+ expect(application_file('app/assets/stylesheets/_settings.css.sass', options)).not_to be_nil
33
+ end
34
+ end
@@ -0,0 +1,38 @@
1
+ require_relative '../../features_helper'
2
+
3
+ describe 'application generated with shoestrap new <name> --kuhsaft true' do
4
+
5
+ let(:migrations_count) { Dir.glob(File.join(application_path,'db/migrate/*kuhsaft*.rb')).size }
6
+
7
+ before :all do
8
+ generate_test_app_with_shoestrap
9
+ end
10
+
11
+ it 'has the kuhsaft migrations installed' do
12
+ expect(migrations_count).to be 12
13
+ end
14
+
15
+ it 'has db migrated with kuhsaft migrations' do
16
+ reload_application_gemfile
17
+ migration_status = Dir.chdir(application_path) { `bundle exec rake db:migrate:status` }
18
+ expect(migration_status.split("\n").select { |x| x.include? 'kuhsaft' }.size).to be 12
19
+ end
20
+
21
+ it 'has the db with kuhsaft seeds' do
22
+ expect(Dir.chdir(application_path) { `bundle exec rails runner "puts Kuhsaft::BrickType.all.size"` }.to_i).to be 11
23
+ end
24
+
25
+ it 'has the kuhsaft assets installed' do
26
+ expect(application_file('app/assets/stylesheets/kuhsaft/cms/customizations.css.sass')).not_to be_nil
27
+ expect(application_file('app/assets/javascripts/kuhsaft/cms/customizations.js.coffee')).not_to be_nil
28
+ expect(application_file('app/assets/javascripts/kuhsaft/cms/ck-config.js.coffee')).not_to be_nil
29
+ end
30
+
31
+ it 'has kuhsaft mounted as an engine on /' do
32
+ expect(application_file('config/routes.rb')).to match("mount Kuhsaft::Engine => '/'")
33
+ end
34
+
35
+ it 'has the default image size initializer' do
36
+ expect(application_file('config/initializers/kuhsaft.rb')).not_to be_nil
37
+ end
38
+ end
@@ -0,0 +1,45 @@
1
+ require_relative '../../features_helper'
2
+
3
+ describe 'application generated with shoestrap new <name>' do
4
+ before :all do
5
+ generate_test_app_with_shoestrap
6
+ end
7
+
8
+ it 'has bourbon in the Gemfile' do
9
+ expect(application_file('Gemfile')).to match /gem "bourbon"/
10
+ end
11
+
12
+ it 'has the modules directory and at least one module stylesheet' do
13
+ expect(File.directory?('app/assets/stylesheets/modules/')).not_to be_nil
14
+ expect(application_file('app/assets/stylesheets/modules/_main_nav.css.sass')).not_to be_nil
15
+ end
16
+
17
+ it 'has the initial stylesheet partials' do
18
+ expect(application_file('app/assets/stylesheets/_base.css.sass')).not_to be_nil
19
+ expect(application_file('app/assets/stylesheets/_fonts.css.sass')).not_to be_nil
20
+ expect(application_file('app/assets/stylesheets/_layout.css.sass')).not_to be_nil
21
+ expect(application_file('app/assets/stylesheets/_mixins.css.sass')).not_to be_nil
22
+ expect(application_file('app/assets/stylesheets/_settings.css.sass')).not_to be_nil
23
+ expect(application_file('app/assets/stylesheets/_states.css.sass')).not_to be_nil
24
+ end
25
+
26
+ context 'application.css.sass' do
27
+ it 'has the application stylesheet' do
28
+ expect(application_file('app/assets/stylesheets/application.css.sass')).not_to be_nil
29
+ end
30
+
31
+ %w[
32
+ settings
33
+ bourbon
34
+ mixins
35
+ base
36
+ layout
37
+ states
38
+ modules/*
39
+ ].each do |stylesheet_import|
40
+ it "has #{stylesheet_import} in the application.css.sass" do
41
+ expect(application_file('app/assets/stylesheets/application.css.sass')).to match "@import #{stylesheet_import}"
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,34 @@
1
+ require 'rails/generators'
2
+ require_relative '../../shoestrap/shell'
3
+
4
+ module Shoestrap
5
+ class BddGenerator < Rails::Generators::Base
6
+
7
+ def source_paths
8
+ [File.join(File.dirname(__FILE__), '../../../templates/bdd_generator')]
9
+ end
10
+
11
+ def install_rspec
12
+ generate("rspec:install")
13
+ end
14
+
15
+ # TODO: make force optional and make it an option of cli method?
16
+ def copy_dotrspec
17
+ copy_file "dotrspec", ".rspec", force: true
18
+ end
19
+
20
+ def copy_spec_helpers
21
+ copy_file "spec_helper.rb", "spec/spec_helper.rb", force: true
22
+ copy_file "fast_spec_helper.rb", "spec/fast_spec_helper.rb", force: true
23
+ copy_file "active_record_spec_helper.rb", "spec/active_record_spec_helper.rb", force: true
24
+ end
25
+
26
+ def init_guard_rspec
27
+ Shell.exec('guard init rspec')
28
+ end
29
+
30
+ def init_guard_spring
31
+ Shell.exec('guard init spring')
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,6 @@
1
+ require 'rails/generators'
2
+
3
+ module Shoestrap
4
+ class BootstrapGenerator < Rails::Generators::Base
5
+ end
6
+ end
@@ -0,0 +1,19 @@
1
+ require 'rails/generators'
2
+ require_relative '../../shoestrap/shell'
3
+
4
+ module Shoestrap
5
+ class CoffeeFilesGenerator < Rails::Generators::Base
6
+
7
+ def source_paths
8
+ [File.join(File.dirname(__FILE__), '../../../templates/coffee_generator')]
9
+ end
10
+
11
+ def remove_application_js
12
+ remove_file 'app/assets/javascripts/application.js'
13
+ end
14
+
15
+ def copy_application_js_coffee
16
+ copy_file 'application.js.coffee', 'app/assets/javascripts/application.js.coffee'
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,9 @@
1
+ require 'rails/generators'
2
+
3
+ module Shoestrap
4
+ class DatabaseGenerator < Rails::Generators::Base
5
+ def migrate_db
6
+ rake 'db:create'
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,24 @@
1
+ require 'rails/generators'
2
+
3
+ module Shoestrap
4
+ class FoundationGenerator < Rails::Generators::Base
5
+
6
+ def source_paths
7
+ [File.join(File.dirname(__FILE__), '../../../templates/foundation_generator')]
8
+ end
9
+
10
+ def copy_application_sass
11
+ copy_file '_settings.css.sass', 'app/assets/stylesheets/_settings.css.sass', force: true
12
+ end
13
+
14
+ def copy_ie8_css
15
+ copy_file '_ie8_grid.css', 'app/assets/stylesheets/_ie8_grid.css'
16
+ end
17
+
18
+ def add_foundation_requirements
19
+ inject_into_file 'app/assets/javascripts/application.js.coffee', "#= require foundation", after: "#= require turbolinks\n"
20
+ inject_into_file 'app/assets/stylesheets/application.css.sass', "// Foundation\n@import foundation\n\n", after: "@import settings\n\n"
21
+ inject_into_file 'app/assets/stylesheets/application.css.sass', "// IE8 Foundation Grid Fix\n@import ie8_grid\n\n", after: "@import foundation\n\n"
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,12 @@
1
+ require 'pry'
2
+ require 'rails/generators'
3
+
4
+ module Shoestrap
5
+ class GemInstallGenerator < Rails::Generators::Base
6
+ def add_gems
7
+ args.each do |gem_name|
8
+ gem gem_name
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,34 @@
1
+ require 'rails/generators'
2
+
3
+ module Shoestrap
4
+ class KuhsaftGenerator < Rails::Generators::Base
5
+
6
+ def source_paths
7
+ [File.join(File.dirname(__FILE__), '../../../templates/kuhsaft_generator')]
8
+ end
9
+
10
+ def install_migrations
11
+ rake 'kuhsaft:install:migrations'
12
+ end
13
+
14
+ def migrate_db
15
+ rake 'db:migrate'
16
+ end
17
+
18
+ def seed_db
19
+ rake 'db:seed'
20
+ end
21
+
22
+ def install_assets
23
+ generate 'kuhsaft:assets:install'
24
+ end
25
+
26
+ def add_kuhsaft_routing
27
+ route "mount Kuhsaft::Engine => '/'"
28
+ end
29
+
30
+ def add_default_image_size
31
+ copy_file 'kuhsaft.rb', 'config/initializers/kuhsaft.rb'
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,14 @@
1
+ require 'rails/generators'
2
+
3
+ module Shoestrap
4
+ class MailcatcherGenerator < Rails::Generators::Base
5
+ def add_mailcatcher_config
6
+ application(nil, env: "development") do
7
+ "config.action_mailer.smtp_settings = { address: 'localhost', port: 1025 }"
8
+ end
9
+ application(nil, env: "development") do
10
+ "config.action_mailer.delivery_method = :smtp"
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,33 @@
1
+ require 'rails/generators'
2
+ require_relative '../../shoestrap/shell'
3
+
4
+ module Shoestrap
5
+ class SmacssFilesGenerator < Rails::Generators::Base
6
+
7
+ def source_paths
8
+ [File.join(File.dirname(__FILE__), '../../../templates/smacss_generator')]
9
+ end
10
+
11
+ def remove_application_css
12
+ remove_file 'app/assets/stylesheets/application.css'
13
+ end
14
+
15
+ def copy_application_sass
16
+ copy_file 'application.css.sass', 'app/assets/stylesheets/application.css.sass'
17
+ end
18
+
19
+ def create_initial_stylesheets
20
+ create_file 'app/assets/stylesheets/_base.css.sass'
21
+ create_file 'app/assets/stylesheets/_fonts.css.sass'
22
+ create_file 'app/assets/stylesheets/_layout.css.sass'
23
+ create_file 'app/assets/stylesheets/_mixins.css.sass'
24
+ create_file 'app/assets/stylesheets/_settings.css.sass'
25
+ create_file 'app/assets/stylesheets/_states.css.sass'
26
+ end
27
+
28
+ def create_modules_directory
29
+ empty_directory 'app/assets/stylesheets/modules/'
30
+ create_file 'app/assets/stylesheets/modules/_main_nav.css.sass'
31
+ end
32
+ end
33
+ end
data/lib/shoestrap.rb CHANGED
@@ -1,8 +1,4 @@
1
+ require_relative "shoestrap/version"
2
+
1
3
  module Shoestrap
2
- class Railtie < Rails::Railtie
3
- config.app_generators do |g|
4
- g.templates.unshift File::expand_path('../../templates', __FILE__)
5
- end
6
- end
7
4
  end
8
-
@@ -0,0 +1,96 @@
1
+ require 'active_support/inflector'
2
+ require_relative 'shell'
3
+ Dir[File.join(File.dirname(__FILE__), '../generators/shoestrap/*_generator.rb')].each{ |f| require f }
4
+
5
+ module Shoestrap
6
+ module ApplicationGenerator
7
+ extend self
8
+
9
+ APPLICATION_TEMPLATE = File.join(File.dirname(__FILE__), '../../templates/application_generator/application_template.rb')
10
+
11
+ def start(application_name, options)
12
+ puts "[shoestrap] Generating new Rails Application #{application_name}"
13
+ rails_new_with_template(application_name, options[:database])
14
+ shoestrap_generators(application_name, options)
15
+ end
16
+
17
+ def shoestrap_generators(application_name, options)
18
+ Dir.chdir(application_name) do
19
+ # Sorry guys, a tiny little bit of setup that is very SC specific is added
20
+ # by an additional gem we maintain privately.
21
+ # This ugly hack allows us to run it here while not messing
22
+ # with your setup.
23
+ #
24
+ if ENV['GIVE_ME_SPECIAL_SAUCE']
25
+ apply_special_sauce(application_name)
26
+ end
27
+
28
+ install_gems(required_gems(options))
29
+ setup_database
30
+ setup_smacss_files
31
+ setup_coffee_files
32
+ setup_css_framework(options[:css])
33
+ setup_bdd_environment
34
+ setup_mailcatcher
35
+ setup_kuhsaft
36
+ end
37
+ end
38
+
39
+ def install_gems(gemlist)
40
+ Shoestrap::GemInstallGenerator.start(gemlist)
41
+ Shell.exec('bundle')
42
+ reload_gemfile_for_application
43
+ end
44
+
45
+ def setup_database
46
+ Shoestrap::DatabaseGenerator.start
47
+ end
48
+
49
+ def setup_smacss_files
50
+ Shoestrap::SmacssFilesGenerator.start
51
+ end
52
+
53
+ def setup_coffee_files
54
+ Shoestrap::CoffeeFilesGenerator.start
55
+ end
56
+
57
+ def setup_css_framework(framework)
58
+ "Shoestrap::#{"#{framework}_generator".camelcase}".constantize.start
59
+ end
60
+
61
+ def setup_bdd_environment
62
+ Shoestrap::BddGenerator.start
63
+ end
64
+
65
+ def setup_kuhsaft
66
+ Shoestrap::KuhsaftGenerator.start
67
+ end
68
+
69
+ def setup_mailcatcher
70
+ Shoestrap::MailcatcherGenerator.start
71
+ end
72
+
73
+ def required_gems(options)
74
+ gems = []
75
+ gems << 'kuhsaft' if options[:kuhsaft]
76
+ gems << 'bootstrap-sass' if options[:css] == 'bootstrap'
77
+ gems << 'zurb-foundation' if options[:css] == 'foundation'
78
+ gems
79
+ end
80
+
81
+ def apply_special_sauce(application_name)
82
+ Shell.exec "sauce apply . --appname=#{application_name.split('/').last}"
83
+ end
84
+
85
+ private
86
+ def rails_new_with_template(application_name, database)
87
+ Shell.exec "rails new #{application_name} -m #{APPLICATION_TEMPLATE} -d #{database}"
88
+ end
89
+
90
+ def reload_gemfile_for_application
91
+ ENV['BUNDLE_GEMFILE'] = File.join(Dir.pwd, 'Gemfile')
92
+ require 'bundler'
93
+ Bundler.require(:default)
94
+ end
95
+ end
96
+ end