bnr_generator 0.4.3 → 0.5

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -36,6 +36,14 @@ sure QT is installed.
36
36
  bnr help
37
37
  ```
38
38
 
39
+ ## Notes
40
+
41
+ If you are using heroku to host your app, be sure you have added your ssh key to heroku and have run `heroku auth:login`
42
+ prior to running `bnr new`.
43
+
44
+ If the database you choose relies on a server, make sure that the server is running prior to running `bnr new` so that
45
+ the new database can be created.
46
+
39
47
  ## What's included?
40
48
  - [Rails](http://rubyonrails.org/) of course, currently the 3.2 branch
41
49
  - [Postgres](http://www.postgresql.org/) all your database needs
@@ -15,7 +15,7 @@ Gem::Specification.new do |gem|
15
15
  gem.require_paths = ["lib"]
16
16
  gem.version = Bnr::Generator::VERSION
17
17
 
18
- gem.add_dependency "rails", '>= 3.2.0'
18
+ gem.add_dependency "rails", '>=4.0.0'
19
19
  gem.add_dependency "thor"
20
20
  gem.add_dependency "heroku"
21
21
  end
@@ -1,5 +1,5 @@
1
1
  module Bnr
2
2
  module Generator
3
- VERSION = "0.4.3"
3
+ VERSION = "0.5"
4
4
  end
5
5
  end
@@ -13,15 +13,20 @@ class BnrCommand < Thor
13
13
  def new(name)
14
14
  @name = name
15
15
  run "rails new #{name} --skip-bundle -T -q -d #{options[:database]}"
16
+ if options[:ruby] == 'rvm'
17
+ copy_file 'templates/ruby-version', "#{name}/.ruby-version"
18
+ end
16
19
  inside name do
17
20
  run "git init -q"
18
21
  gsub_file "Gemfile", /^ *#.*$/, ''
19
- gsub_file "Gemfile", /^ *$\n/, ''
22
+ gsub_file "Gemfile", /^ *$\n/, ''
20
23
  append_to_file "Gemfile" do
21
24
  <<-EOF
25
+ ruby '2.0.0'
26
+
22
27
  gem 'bootstrap-sass', '~> 2.0.4.0'
23
28
  gem 'foreman'
24
- gem 'thin'
29
+ gem 'unicorn'
25
30
  gem 'slim-rails'
26
31
  group :test, :development do
27
32
  gem 'rspec-rails'
@@ -39,16 +44,13 @@ group :test do
39
44
  end
40
45
  EOF
41
46
  end
42
- if options[:ruby] == 'rvm'
43
- run "rvm 1.9.3 do rvm --rvmrc --create 1.9.3@#{name}"
44
- end
45
- rvm_run "gem install bundler"
46
- rvm_run "bundle install --quiet"
47
- rvm_run "rails g rspec:install"
48
- rvm_run "rails g forgery"
47
+ run "gem install bundler"
48
+ run "bundle install --quiet"
49
+ run "bundle exec rails g rspec:install"
50
+ run "bundle exec rails g forgery"
49
51
  insert_into_file 'spec/spec_helper.rb', "\nrequire 'capybara/rspec'", after: "require 'rspec/autorun'"
50
52
  gsub_file 'spec/spec_helper.rb', / *# Remove this[^\n]*\n *config\.fixture_path[^\n]*\n\n/m, ''
51
- gsub_file 'spec/spec_helper.rb', /config.use_transactional_fixtures = true/, 'config.use_transactional_fixtures = false'
53
+ gsub_file 'spec/spec_helper.rb', /config.use_transactional_fixtures = true/, 'config.use_transactional_fixtures = false'
52
54
  insert_into_file 'spec/spec_helper.rb', after: "config.infer_base_class_for_anonymous_controllers = false\n" do
53
55
  <<-EOF
54
56
 
@@ -80,7 +82,7 @@ Zonebie.set_random_timezone
80
82
  remove_file 'README.rdoc'
81
83
  remove_file 'doc/README_FOR_APP'
82
84
  gsub_file 'config/database.yml', /username: .*$/, 'username:'
83
- rvm_run 'rake db:create'
85
+ run 'bundle exec rake db:create'
84
86
 
85
87
  end
86
88
 
@@ -101,14 +103,15 @@ Zonebie.set_random_timezone
101
103
  template "templates/routes.rb.erb", "#{name}/config/routes.rb"
102
104
 
103
105
  template "templates/Procfile", "#{name}/Procfile"
106
+ template "templates/unicorn.rb", "#{name}/config/unicorn.rb"
104
107
 
105
108
  inside name do
106
- rvm_run 'rake db:migrate'
107
- rvm_run 'git add .'
108
- rvm_run 'git commit -m "Initial Commit"'
109
+ run 'bundle exec rake db:migrate'
110
+ run 'git add .'
111
+ run 'git commit -m "Initial Commit"'
109
112
  if options[:host] == 'heroku'
110
- rvm_run "heroku apps:create #{heroku_name(name)} -s cedar"
111
- rvm_run 'git push heroku master'
113
+ run "heroku apps:create #{heroku_name(name)} -s cedar"
114
+ run 'git push heroku master'
112
115
  end
113
116
  end
114
117
  end
@@ -116,7 +119,7 @@ Zonebie.set_random_timezone
116
119
 
117
120
  desc "destroy NAME", "Destroys an app that was generated by the new action"
118
121
  def destroy(name)
119
- rvm_run "heroku apps:destroy #{heroku_name(name)} --confirm #{heroku_name(name)}"
122
+ run "heroku apps:destroy #{heroku_name(name)} --confirm #{heroku_name(name)}"
120
123
  remove_dir name
121
124
  end
122
125
 
@@ -126,13 +129,6 @@ Zonebie.set_random_timezone
126
129
 
127
130
  private
128
131
 
129
- def rvm_run(command, config = {})
130
- if options[:ruby] == 'rvm'
131
- command = "rvm 1.9.3@#{@name} do " + command
132
- end
133
- run command, config
134
- end
135
-
136
132
  def heroku_name(name)
137
133
  name.gsub(/[^a-z0-9\-]/, '')
138
134
  end
@@ -1 +1 @@
1
- web: bundle exec rails server thin -p $PORT
1
+ web: bundle exec unicorn -p $PORT -c ./config/unicorn.rb
@@ -6,9 +6,6 @@
6
6
  # Checkout the repo
7
7
  git clone git@github.com:highgroove/<project>.git
8
8
 
9
- # Install rvm and create a gemset
10
- rvm install 1.9.2 && rvm gemset create <project>
11
-
12
9
  # Install gem dependencies
13
10
  gem install bundler
14
11
  bundle install
@@ -0,0 +1 @@
1
+ 2.0.0
@@ -0,0 +1,25 @@
1
+ worker_processes Integer(ENV['WEB_CONCURRENCY'] || 3)
2
+ timeout 15
3
+ preload_app true
4
+ listen ENV['PORT'], backlog: Integer(ENV['UNICORN_BACKLOG'] || 200)
5
+
6
+ before_fork do |server, worker|
7
+
8
+ Signal.trap 'TERM' do
9
+ puts 'Unicorn master intercepting TERM and sending myself QUIT instead'
10
+ Process.kill 'QUIT', Process.pid
11
+ end
12
+
13
+ defined?(ActiveRecord::Base) and
14
+ ActiveRecord::Base.connection.disconnect!
15
+ end
16
+
17
+ after_fork do |server, worker|
18
+
19
+ Signal.trap 'TERM' do
20
+ puts 'Unicorn worker intercepting TERM and doing nothing. Wait for master to send QUIT'
21
+ end
22
+
23
+ defined?(ActiveRecord::Base) and
24
+ ActiveRecord::Base.establish_connection
25
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bnr_generator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.3
4
+ version: '0.5'
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,22 +9,22 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-01-02 00:00:00.000000000 Z
12
+ date: 2013-07-12 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
16
- requirement: &70286032861800 !ruby/object:Gem::Requirement
16
+ requirement: &70305420659420 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
20
20
  - !ruby/object:Gem::Version
21
- version: 3.2.0
21
+ version: 4.0.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70286032861800
24
+ version_requirements: *70305420659420
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: thor
27
- requirement: &70286032895820 !ruby/object:Gem::Requirement
27
+ requirement: &70305420659000 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70286032895820
35
+ version_requirements: *70305420659000
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: heroku
38
- requirement: &70286032893620 !ruby/object:Gem::Requirement
38
+ requirement: &70305420658540 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,13 +43,12 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70286032893620
46
+ version_requirements: *70305420658540
47
47
  description: Tool to generate a rails project ready for development
48
48
  email:
49
49
  - aubrey@bignerdranch.com
50
50
  executables:
51
51
  - bnr
52
- - highgroove
53
52
  extensions: []
54
53
  extra_rdoc_files: []
55
54
  files:
@@ -59,7 +58,6 @@ files:
59
58
  - README.md
60
59
  - Rakefile
61
60
  - bin/bnr
62
- - bin/highgroove
63
61
  - bnr-generator.gemspec
64
62
  - lib/bnr-generator/version.rb
65
63
  - lib/bnr_command.rb
@@ -71,6 +69,8 @@ files:
71
69
  - lib/templates/index.slim
72
70
  - lib/templates/layout.html.slim
73
71
  - lib/templates/routes.rb.erb
72
+ - lib/templates/ruby-version
73
+ - lib/templates/unicorn.rb
74
74
  homepage: http://github.com/bignerdranch/bnr-generator
75
75
  licenses: []
76
76
  post_install_message:
@@ -83,18 +83,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
83
83
  - - ! '>='
84
84
  - !ruby/object:Gem::Version
85
85
  version: '0'
86
- segments:
87
- - 0
88
- hash: 1897498371364409817
89
86
  required_rubygems_version: !ruby/object:Gem::Requirement
90
87
  none: false
91
88
  requirements:
92
89
  - - ! '>='
93
90
  - !ruby/object:Gem::Version
94
91
  version: '0'
95
- segments:
96
- - 0
97
- hash: 1897498371364409817
98
92
  requirements: []
99
93
  rubyforge_project:
100
94
  rubygems_version: 1.8.15
@@ -1,4 +0,0 @@
1
- #!/usr/bin/env ruby
2
- require_relative '../lib/bnr_command'
3
-
4
- BnrCommand.start