rails_new 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rails_new (0.0.4)
4
+ rails_new (0.0.5)
5
5
  rails (= 3.2.9)
6
6
 
7
7
  GEM
@@ -46,7 +46,7 @@ GEM
46
46
  mime-types (~> 1.16)
47
47
  treetop (~> 1.4.8)
48
48
  mime-types (1.19)
49
- multi_json (1.3.7)
49
+ multi_json (1.5.0)
50
50
  polyglot (0.3.3)
51
51
  rack (1.4.1)
52
52
  rack-cache (1.2)
@@ -70,10 +70,10 @@ GEM
70
70
  rake (>= 0.8.7)
71
71
  rdoc (~> 3.4)
72
72
  thor (>= 0.14.6, < 2.0)
73
- rake (10.0.2)
73
+ rake (10.0.3)
74
74
  rdoc (3.12)
75
75
  json (~> 1.4)
76
- sprockets (2.2.1)
76
+ sprockets (2.2.2)
77
77
  hike (~> 1.2)
78
78
  multi_json (~> 1.0)
79
79
  rack (~> 1.0)
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  ## About
2
2
 
3
- Customizable Rails template with Twitter Bootstrap, Devise and more!
3
+ Bootstrap for Rails projects - Customizable Rails template with Twitter Bootstrap, Devise and more!
4
4
 
5
5
  ### Required Rails version
6
6
 
data/bin/rails_new CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/ruby
2
2
  # rails_new
3
3
  # https://github.com/lucascaton/rails_new
4
- # Created by Lucas Caton at 2012, november 23
4
+ # Created by Lucas Caton at 2012, November 23
5
5
 
6
6
  app_name = ARGV.first
7
- system "rails new #{app_name} --skip-bundle --skip-test-unit -m https://raw.github.com/lucascaton/rails_new/master/lib/template.rb"
7
+ system "rails new #{app_name} --skip-bundle --skip-test-unit -m #{File.expand_path('../../lib/template.rb', __FILE__)}"
@@ -0,0 +1,54 @@
1
+ # See http://help.github.com/ignore-files/ for more about ignoring files.
2
+ #
3
+ # If you find yourself ignoring temporary files generated by your text editor
4
+ # or operating system, you probably want to add a global ignore instead:
5
+ # git config --global core.excludesfile ~/.gitignore_global
6
+
7
+ # Ignore bundler config
8
+ /.bundle
9
+
10
+ <%- if database_adapter == 'sqlite3' %>
11
+ # Ignore the default SQLite database.
12
+ /db/*.sqlite3
13
+ <% end -%>
14
+
15
+ # Ignore all logfiles and tempfiles
16
+ /log/*.log
17
+ /tmp
18
+
19
+ # Ignore config files
20
+ /config/database.yml
21
+
22
+ # Ignore docs
23
+ /doc/api
24
+ /doc/app
25
+
26
+ # Ignore public sub-directories
27
+ /public/packages/*
28
+ /public/system/*
29
+
30
+ # Ignore files from text editors and IDEs
31
+ Session.vim
32
+ *.sw?
33
+
34
+ # Ignore files from Operating System
35
+ *~
36
+ .DS_Store
37
+
38
+ # Ignore files from Ctags
39
+ /tags
40
+
41
+ # Ignore files from RVM
42
+ /.rvmrc
43
+
44
+ # Ignore files from SASS
45
+ /.sass-cache/
46
+
47
+ # Ignore routes cache
48
+ /.routes
49
+
50
+ # Ignore simplecov files
51
+ coverage/
52
+
53
+ # Ignore other files
54
+ rails_best_practices_output.html
@@ -0,0 +1,31 @@
1
+ source 'https://rubygems.org'
2
+ ruby '1.9.3'
3
+
4
+ <%= @haml ? "gem 'haml-rails'" : '' %>
5
+ gem 'jquery-rails'
6
+ gem '<%= database_adapter %>'
7
+ gem 'rails', '3.2.9'
8
+
9
+ group :development do
10
+ gem 'thin'
11
+ end
12
+
13
+ group :development, :test do
14
+ gem 'pry'
15
+ gem 'awesome_print'
16
+ end
17
+
18
+ group :test do
19
+ gem 'capybara'
20
+ gem 'factory_girl_rails'
21
+ gem 'forgery'
22
+ gem 'poltergeist'
23
+ gem 'rspec-rails'
24
+ gem 'simplecov', require: false
25
+ end
26
+
27
+ group :assets do
28
+ # gem 'sass-rails', '~> 3.2.3'
29
+ gem 'coffee-rails', '~> 3.2.1'
30
+ gem 'uglifier', '>= 1.0.3'
31
+ end
@@ -0,0 +1,21 @@
1
+ defaults: &defaults
2
+ adapter: <%= database_adapter %>
3
+ <%= database_encoding ? "encoding: #{database_encoding}" : '' %>
4
+ <%= database_adapter == 'mysql2' ? 'reconnect: false' : '' %>
5
+ pool: 5
6
+ <%= database_adapter == 'sqlite3' ? 'timeout: 5000' : '' %>
7
+ username:
8
+ password:
9
+ <%= database_adapter == 'mysql2' ? 'socket: /tmp/mysql.sock' : '' %>
10
+
11
+ development:
12
+ <<: *defaults
13
+ <%= database_adapter == 'sqlite3' ? 'database: db/development.sqlite3' : "database: #{@app_name}_development" %>
14
+
15
+ test:
16
+ <<: *defaults
17
+ <%= database_adapter == 'sqlite3' ? 'database: db/test.sqlite3' : "database: #{@app_name}_test" %>
18
+
19
+ production:
20
+ <<: *defaults
21
+ <%= database_adapter == 'sqlite3' ? 'database: db/production.sqlite3' : "database: #{@app_name}" %>
@@ -1,3 +1,3 @@
1
1
  module RailsNew
2
- VERSION = '0.0.4'
2
+ VERSION = '0.0.5'
3
3
  end
data/lib/template.rb CHANGED
@@ -1,12 +1,11 @@
1
1
  def yes?(question)
2
+ return true unless @customized
3
+
2
4
  answer = ask " \e[1m\e[32mpromp".rjust(10) + " \e[0m#{question} \e[33m(y/n)\e[0m"
3
5
  case answer.downcase
4
- when 'yes', 'y'
5
- true
6
- when 'no', 'n'
7
- false
8
- else
9
- yes?(question)
6
+ when 'yes', 'y' then true
7
+ when 'no', 'n' then false
8
+ else yes?(question)
10
9
  end
11
10
  end
12
11
 
@@ -15,9 +14,19 @@ def prompt(question, options)
15
14
  answer.present? ? answer : options[:default_answer]
16
15
  end
17
16
 
18
- def rewrite_file(file_name, content)
19
- system "rm #{file_name} && > #{file_name}"
20
- append_to_file(file_name, content)
17
+ def apply_template(file)
18
+ # template "files/#{file}.erb", file, force: true
19
+ template "#{File.dirname(__FILE__)}/files/#{file}.erb", file, force: true
20
+ # first sed: remove duplicated empty lines
21
+ # second sed: remove lines with whitespaces
22
+ system "cat #{file} | sed '/^$/N;/^\\n$/D' | sed '/^ *$/d' > sed_output"
23
+ system "mv sed_output #{file}"
24
+ end
25
+
26
+ def commit(description)
27
+ system 'git add .'
28
+ system 'git add --update .'
29
+ system "git commit -am '#{description}'"
21
30
  end
22
31
 
23
32
  def database_adapter
@@ -25,120 +34,53 @@ def database_adapter
25
34
  when 'postgresql', 'postgres', 'psql' then 'pg'
26
35
  when 'mysql' then 'mysql2'
27
36
  when 'sqlite' then 'sqlite3'
37
+ when 'mongo', 'mongodb' then 'mongoid'
28
38
  else @database
29
39
  end
30
40
  end
31
41
 
32
-
33
- @database = prompt 'What database you want to use?', default_answer: 'postgresql'
34
- @create_commits = true if yes?('Create first git commits?')
35
-
36
- remove_file 'public/index.html'
37
- remove_file 'app/assets/images/rails.png'
38
-
39
- rewrite_file 'Gemfile', %Q(
40
- source 'https://rubygems.org'
41
- ruby '1.9.3'
42
-
43
- gem 'haml-rails'
44
- gem 'jquery-rails'
45
- gem '#{database_adapter}'
46
- gem 'rails', '3.2.9'
47
-
48
- group :development do
49
- gem 'thin'
50
- end
51
-
52
- group :development, :test do
53
- gem 'pry'
54
- gem 'awesome_print'
55
- end
56
-
57
- group :test do
58
- gem 'capybara'
59
- gem 'database_cleaner'
60
- gem 'factory_girl_rails'
61
- gem 'forgery'
62
- gem 'poltergeist'
63
- gem 'rspec-rails'
64
- gem 'simplecov', require: false
65
- end
66
-
67
- group :assets do
68
- gem 'sass-rails', '~> 3.2.3'
69
- gem 'coffee-rails', '~> 3.2.1'
70
- gem 'uglifier', '>= 1.0.3'
42
+ def database_encoding
43
+ case database_adapter
44
+ when 'pg' then 'unicode'
45
+ when 'mysql1' then 'utf8'
46
+ end
71
47
  end
72
- ).strip
73
-
74
- rewrite_file '.gitignore', %Q(
75
- # See http://help.github.com/ignore-files/ for more about ignoring files.
76
- #
77
- # If you find yourself ignoring temporary files generated by your text editor
78
- # or operating system, you probably want to add a global ignore instead:
79
- # git config --global core.excludesfile ~/.gitignore_global
80
-
81
- # Ignore bundler config
82
- /.bundle
83
-
84
- # Ignore all logfiles and tempfiles
85
- /log/*.log
86
- /tmp
87
-
88
- # Ignore config files
89
- /config/database.yml
90
-
91
- # Ignore docs
92
- /doc/api
93
- /doc/app
94
-
95
- # Ignore public sub-directories
96
- /public/packages/*
97
- /public/system/*
98
48
 
99
- # Ignore files from text editors and IDEs
100
- Session.vim
101
- *.sw?
102
49
 
103
- # Ignore files from Operating System
104
- *~
105
- .DS_Store
50
+ @app_name = `pwd`.gsub(/.*\/(.+)/, '\1').strip
51
+ @customized = true
106
52
 
107
- # Ignore files from Ctags
108
- /tags
53
+ @database = prompt 'What database you want to use?', default_answer: 'postgresql'
54
+ @customized = yes? 'Would you like to customize the template options?'
55
+ @create_commits = yes? 'Create first git commits?'
56
+ # @static_pages = yes? 'Create static pages?'
57
+ # @haml = yes? 'Use HAML?'
58
+ @pt_br_locales = yes? 'Use brazilian portuguese locale (I18n)?'
59
+ # @twitter_bootstrap = yes? 'Install and configure Twitter Bootstrap Rails gem?'
60
+ # @devise = yes? 'Install and configure Devise gem?'
109
61
 
110
- # Ignore files from RVM
111
- /.rvmrc
112
62
 
113
- # Ignore files from SASS
114
- /.sass-cache/
115
-
116
- # Ignore routes cache
117
- /.routes
118
-
119
- # Ignore simplecov files
120
- coverage/
63
+ remove_file 'public/index.html'
64
+ remove_file 'app/assets/images/rails.png'
121
65
 
122
- # Ignore other files
123
- rails_best_practices_output.html
124
- ).strip
66
+ apply_template 'Gemfile'
67
+ apply_template '.gitignore'
68
+ apply_template 'config/database.yml'
125
69
 
126
70
  system 'bundle install'
127
71
 
128
72
  if @create_commits
129
73
  system 'git init'
130
- system 'git add .'
131
- system "git commit -am 'Initial Rails directory structure'"
74
+ commit 'Initial Rails directory structure'
132
75
  end
133
76
 
134
- # if yes?('Install and configure Twitter Bootstrap Rails gem?')
135
- # end
136
- #
137
- # if yes?('Install and configure Devise gem?')
138
- # end
139
-
140
- if yes?('Use brazilian portuguese locale (I18n)?')
77
+ if @pt_br_locales
141
78
  remove_file 'config/locales/en.yml'
142
79
  # Include config/locales*.pt-BR.yml files
143
80
  # Update config/application.rb
81
+ commit 'Including pt-br locales' if @create_commits
144
82
  end
83
+
84
+ # route "map.root :controller => 'people'"
85
+ # rake 'db:migrate'
86
+ # rake 'twitter boostrap rake tasks...'
data/rails_new.gemspec CHANGED
@@ -8,8 +8,8 @@ Gem::Specification.new do |gem|
8
8
  gem.version = RailsNew::VERSION
9
9
  gem.authors = ['Lucas Caton']
10
10
  gem.email = ['lucascaton@gmail.com']
11
- gem.description = %q{Customizable Rails template with Twitter Bootstrap, Devise and more!}
12
- gem.summary = %q{Customizable Rails template with Twitter Bootstrap, Devise and more!}
11
+ gem.description = %q{Bootstrap for Rails projects - Customizable Rails template with Twitter Bootstrap, Devise and more!}
12
+ gem.summary = %q{Bootstrap for Rails projects - Customizable Rails template with Twitter Bootstrap, Devise and more!}
13
13
  gem.homepage = 'https://github.com/lucascaton/rails_new'
14
14
 
15
15
  gem.add_dependency 'rails', '3.2.9'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_new
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-11-24 00:00:00.000000000 Z
12
+ date: 2012-12-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -27,7 +27,8 @@ dependencies:
27
27
  - - '='
28
28
  - !ruby/object:Gem::Version
29
29
  version: 3.2.9
30
- description: Customizable Rails template with Twitter Bootstrap, Devise and more!
30
+ description: Bootstrap for Rails projects - Customizable Rails template with Twitter
31
+ Bootstrap, Devise and more!
31
32
  email:
32
33
  - lucascaton@gmail.com
33
34
  executables:
@@ -48,6 +49,12 @@ files:
48
49
  UmFrZWZpbGU=
49
50
  - !binary |-
50
51
  YmluL3JhaWxzX25ldw==
52
+ - !binary |-
53
+ bGliL2ZpbGVzLy5naXRpZ25vcmUuZXJi
54
+ - !binary |-
55
+ bGliL2ZpbGVzL0dlbWZpbGUuZXJi
56
+ - !binary |-
57
+ bGliL2ZpbGVzL2NvbmZpZy9kYXRhYmFzZS55bWwuZXJi
51
58
  - !binary |-
52
59
  bGliL3JhaWxzX25ldy92ZXJzaW9uLnJi
53
60
  - !binary |-
@@ -68,7 +75,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
68
75
  version: '0'
69
76
  segments:
70
77
  - 0
71
- hash: 4405151621816508930
78
+ hash: 4240153038540612432
72
79
  required_rubygems_version: !ruby/object:Gem::Requirement
73
80
  none: false
74
81
  requirements:
@@ -77,11 +84,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
77
84
  version: '0'
78
85
  segments:
79
86
  - 0
80
- hash: 4405151621816508930
87
+ hash: 4240153038540612432
81
88
  requirements: []
82
89
  rubyforge_project:
83
90
  rubygems_version: 1.8.24
84
91
  signing_key:
85
92
  specification_version: 3
86
- summary: Customizable Rails template with Twitter Bootstrap, Devise and more!
93
+ summary: Bootstrap for Rails projects - Customizable Rails template with Twitter Bootstrap,
94
+ Devise and more!
87
95
  test_files: []