rails_new 0.0.5 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --color
2
+ --format d
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rails_new (0.0.5)
4
+ rails_new (0.0.7)
5
5
  rails (= 3.2.9)
6
6
 
7
7
  GEM
@@ -36,6 +36,7 @@ GEM
36
36
  multi_json (~> 1.0)
37
37
  arel (3.0.2)
38
38
  builder (3.0.4)
39
+ diff-lcs (1.1.3)
39
40
  erubis (2.7.0)
40
41
  hike (1.2.1)
41
42
  i18n (0.6.1)
@@ -73,6 +74,14 @@ GEM
73
74
  rake (10.0.3)
74
75
  rdoc (3.12)
75
76
  json (~> 1.4)
77
+ rspec (2.12.0)
78
+ rspec-core (~> 2.12.0)
79
+ rspec-expectations (~> 2.12.0)
80
+ rspec-mocks (~> 2.12.0)
81
+ rspec-core (2.12.1)
82
+ rspec-expectations (2.12.0)
83
+ diff-lcs (~> 1.1.3)
84
+ rspec-mocks (2.12.0)
76
85
  sprockets (2.2.2)
77
86
  hike (~> 1.2)
78
87
  multi_json (~> 1.0)
@@ -90,3 +99,4 @@ PLATFORMS
90
99
 
91
100
  DEPENDENCIES
92
101
  rails_new!
102
+ rspec
@@ -7,10 +7,10 @@
7
7
  # Ignore bundler config
8
8
  /.bundle
9
9
 
10
- <%- if database_adapter == 'sqlite3' %>
10
+ <%- if database_adapter == 'sqlite3' -%>
11
11
  # Ignore the default SQLite database.
12
12
  /db/*.sqlite3
13
- <% end -%>
13
+ <%- end -%>
14
14
 
15
15
  # Ignore all logfiles and tempfiles
16
16
  /log/*.log
@@ -1,12 +1,15 @@
1
1
  source 'https://rubygems.org'
2
2
  ruby '1.9.3'
3
3
 
4
- <%= @haml ? "gem 'haml-rails'" : '' %>
4
+ <%- if @haml -%>
5
+ gem 'haml-rails'
6
+ <%- end -%>
5
7
  gem 'jquery-rails'
6
8
  gem '<%= database_adapter %>'
7
9
  gem 'rails', '3.2.9'
8
10
 
9
11
  group :development do
12
+ gem 'better_errors'
10
13
  gem 'thin'
11
14
  end
12
15
 
@@ -1,12 +1,22 @@
1
1
  defaults: &defaults
2
2
  adapter: <%= database_adapter %>
3
- <%= database_encoding ? "encoding: #{database_encoding}" : '' %>
4
- <%= database_adapter == 'mysql2' ? 'reconnect: false' : '' %>
3
+ <%- if database_encoding -%>
4
+ encoding: <%= database_encoding %>
5
+ <%- end -%>
6
+ <%- if database_adapter == 'mysql2' %>
7
+ reconnect: false
8
+ <%- end -%>
5
9
  pool: 5
6
- <%= database_adapter == 'sqlite3' ? 'timeout: 5000' : '' %>
10
+ <%- if database_adapter == 'sqlite3' -%>
11
+ timeout: 5000
12
+ <%- end -%>
13
+ <%- if database_adapter != 'sqlite3' -%>
7
14
  username:
8
15
  password:
9
- <%= database_adapter == 'mysql2' ? 'socket: /tmp/mysql.sock' : '' %>
16
+ <%- end -%>
17
+ <%- if database_adapter == 'mysql2' -%>
18
+ socket: /tmp/mysql.sock
19
+ <%- end -%>
10
20
 
11
21
  development:
12
22
  <<: *defaults
@@ -1,3 +1,3 @@
1
1
  module RailsNew
2
- VERSION = '0.0.5'
2
+ VERSION = '0.0.7'
3
3
  end
data/lib/template.rb CHANGED
@@ -15,11 +15,8 @@ def prompt(question, options)
15
15
  end
16
16
 
17
17
  def apply_template(file)
18
- # template "files/#{file}.erb", file, force: true
19
18
  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"
19
+ system "sed '/^$/N;/^\\n$/D' #{file} > sed_output" # remove duplicated empty lines
23
20
  system "mv sed_output #{file}"
24
21
  end
25
22
 
@@ -42,7 +39,7 @@ end
42
39
  def database_encoding
43
40
  case database_adapter
44
41
  when 'pg' then 'unicode'
45
- when 'mysql1' then 'utf8'
42
+ when 'mysql2' then 'utf8'
46
43
  end
47
44
  end
48
45
 
data/rails_new.gemspec CHANGED
@@ -13,7 +13,7 @@ Gem::Specification.new do |gem|
13
13
  gem.homepage = 'https://github.com/lucascaton/rails_new'
14
14
 
15
15
  gem.add_dependency 'rails', '3.2.9'
16
- # gem.add_development_dependency 'rspec'
16
+ gem.add_development_dependency 'rspec'
17
17
 
18
18
  gem.files = `git ls-files`.split($/)
19
19
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
@@ -0,0 +1,2 @@
1
+ # Requires supporting ruby files with custom matchers
2
+ Dir[File.expand_path('../support/*.rb', __FILE__)].each { |f| require f }
@@ -0,0 +1,4 @@
1
+ def read_template
2
+ file = File.expand_path("../../../lib/files/#{example.metadata[:example_group][:description]}.erb", __FILE__)
3
+ ERB.new(File.new(file).read, nil, '%').result(binding)
4
+ end
@@ -0,0 +1,145 @@
1
+ require 'spec_helper'
2
+ require 'erb'
3
+
4
+ describe 'files' do
5
+ describe 'Gemfile' do
6
+ before do
7
+ stub!(:database_adapter).and_return('pg')
8
+ end
9
+
10
+ it 'has the correct source' do
11
+ expect(read_template).to match(%r{source 'https://rubygems.org'})
12
+ end
13
+
14
+ it 'has the correct Ruby version' do
15
+ expect(read_template).to match(%r{ruby '1.9.3'})
16
+ end
17
+
18
+ it 'includes haml-rails gem' do
19
+ @haml = true
20
+ expect(read_template).to match(%r{gem 'haml-rails'})
21
+ end
22
+
23
+ it 'does not include haml-rails gem' do
24
+ @haml = false
25
+ expect(read_template).to_not match(%r{gem 'haml-rails'})
26
+ end
27
+
28
+ it 'includes database adapter gem' do
29
+ expect(read_template).to match(%r{gem 'pg'})
30
+ end
31
+ end
32
+
33
+ describe '.gitignore' do
34
+ before do
35
+ stub!(:database_adapter)
36
+ end
37
+
38
+ it 'has the correct information' do
39
+ expect(read_template).to match(%r{# See http://help.github.com/ignore-files/ for more about ignoring files.})
40
+ end
41
+
42
+ it 'includes sqlite3 files' do
43
+ stub!(:database_adapter).and_return('sqlite3')
44
+ expect(read_template).to match(%r{/db/\*.sqlite3})
45
+ end
46
+
47
+ it 'does not include sqlite3 files' do
48
+ stub!(:database_adapter).and_return('pg')
49
+ expect(read_template).to_not match(%r{/db/\*.sqlite3})
50
+ end
51
+ end
52
+
53
+ describe 'config/database.yml' do
54
+ before do
55
+ stub!(:database_adapter)
56
+ stub!(:database_encoding)
57
+ end
58
+
59
+ it 'has the correct YAML groups' do
60
+ [%r{defaults: &defaults}, %r{development:}, %r{test:}, %r{production:}].each do |group|
61
+ expect(read_template).to match(group)
62
+ end
63
+ end
64
+
65
+ it 'has the default keys' do
66
+ [%r{pool: 5}].each do |key|
67
+ expect(read_template).to match(key)
68
+ end
69
+ end
70
+
71
+ it 'includes the database adapter key' do
72
+ stub!(:database_adapter).and_return('pg')
73
+ expect(read_template).to match(%r{adapter: pg})
74
+ end
75
+
76
+ it 'includes the database encoding key' do
77
+ stub!(:database_encoding).and_return('utf8')
78
+ expect(read_template).to match(%r{encoding: utf8})
79
+ end
80
+
81
+ it 'does not include the database encoding key' do
82
+ stub!(:database_encoding).and_return(nil)
83
+ expect(read_template).to_not match(%r{encoding:})
84
+ end
85
+
86
+ it 'includes the reconnect key' do
87
+ stub!(:database_adapter).and_return('mysql2')
88
+ expect(read_template).to match(%r{reconnect: false})
89
+ end
90
+
91
+ it 'does not include the reconnect key' do
92
+ stub!(:database_adapter).and_return('pg')
93
+ expect(read_template).to_not match(%r{reconnect:})
94
+ end
95
+
96
+ it 'includes the timeout key' do
97
+ stub!(:database_adapter).and_return('sqlite3')
98
+ expect(read_template).to match(%r{timeout: 5000})
99
+ end
100
+
101
+ it 'does not include the timeout key' do
102
+ stub!(:database_adapter).and_return('pg')
103
+ expect(read_template).to_not match(%r{timeout:})
104
+ end
105
+
106
+ it 'has the username and password keys' do
107
+ stub!(:database_adapter).and_return('pg')
108
+ [%r{username:}, %r{password:}].each do |key|
109
+ expect(read_template).to match(key)
110
+ end
111
+ end
112
+
113
+ it 'has no the username and password keys' do
114
+ stub!(:database_adapter).and_return('sqlite3')
115
+ [%r{username:}, %r{password:}].each do |key|
116
+ expect(read_template).to_not match(key)
117
+ end
118
+ end
119
+
120
+ it 'includes the socket key' do
121
+ stub!(:database_adapter).and_return('mysql2')
122
+ expect(read_template).to match(%r{socket: /tmp/mysql.sock})
123
+ end
124
+
125
+ it 'does not include the socket key' do
126
+ stub!(:database_adapter).and_return('pg')
127
+ expect(read_template).to_not match(%r{socket:})
128
+ end
129
+
130
+ it 'includes the sqlite databases' do
131
+ stub!(:database_adapter).and_return('sqlite3')
132
+ [%r{database: db/development.sqlite3}, %r{database: db/test.sqlite3}, %r{database: db/production.sqlite3}].each do |database_name|
133
+ expect(read_template).to match(database_name)
134
+ end
135
+ end
136
+
137
+ it 'includes the databases keys' do
138
+ stub!(:database_adapter).and_return('pg')
139
+ @app_name = 'application_name'
140
+ [%r{database: application_name_development}, %r{database: application_name_test}, %r{database: application_name}].each do |database_name|
141
+ expect(read_template).to match(database_name)
142
+ end
143
+ end
144
+ end
145
+ end
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.5
4
+ version: 0.0.7
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-12-19 00:00:00.000000000 Z
12
+ date: 2012-12-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -27,6 +27,22 @@ dependencies:
27
27
  - - '='
28
28
  - !ruby/object:Gem::Version
29
29
  version: 3.2.9
30
+ - !ruby/object:Gem::Dependency
31
+ name: rspec
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :development
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
30
46
  description: Bootstrap for Rails projects - Customizable Rails template with Twitter
31
47
  Bootstrap, Devise and more!
32
48
  email:
@@ -39,6 +55,8 @@ extra_rdoc_files: []
39
55
  files:
40
56
  - !binary |-
41
57
  LmdpdGlnbm9yZQ==
58
+ - !binary |-
59
+ LnJzcGVj
42
60
  - !binary |-
43
61
  R2VtZmlsZQ==
44
62
  - !binary |-
@@ -61,6 +79,12 @@ files:
61
79
  bGliL3RlbXBsYXRlLnJi
62
80
  - !binary |-
63
81
  cmFpbHNfbmV3LmdlbXNwZWM=
82
+ - !binary |-
83
+ c3BlYy9zcGVjX2hlbHBlci5yYg==
84
+ - !binary |-
85
+ c3BlYy9zdXBwb3J0L21hY3Jvcy5yYg==
86
+ - !binary |-
87
+ c3BlYy90ZW1wbGF0ZXMvZmlsZXNfc3BlYy5yYg==
64
88
  homepage: https://github.com/lucascaton/rails_new
65
89
  licenses: []
66
90
  post_install_message:
@@ -75,7 +99,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
75
99
  version: '0'
76
100
  segments:
77
101
  - 0
78
- hash: 4240153038540612432
102
+ hash: 295243804331268507
79
103
  required_rubygems_version: !ruby/object:Gem::Requirement
80
104
  none: false
81
105
  requirements:
@@ -84,7 +108,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
84
108
  version: '0'
85
109
  segments:
86
110
  - 0
87
- hash: 4240153038540612432
111
+ hash: 295243804331268507
88
112
  requirements: []
89
113
  rubyforge_project:
90
114
  rubygems_version: 1.8.24
@@ -92,4 +116,10 @@ signing_key:
92
116
  specification_version: 3
93
117
  summary: Bootstrap for Rails projects - Customizable Rails template with Twitter Bootstrap,
94
118
  Devise and more!
95
- test_files: []
119
+ test_files:
120
+ - !binary |-
121
+ c3BlYy9zcGVjX2hlbHBlci5yYg==
122
+ - !binary |-
123
+ c3BlYy9zdXBwb3J0L21hY3Jvcy5yYg==
124
+ - !binary |-
125
+ c3BlYy90ZW1wbGF0ZXMvZmlsZXNfc3BlYy5yYg==