bnr_generator 0.4.3 → 0.5

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.
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