generic_app 1.1.0 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +14 -1
- data/.travis.yml +2 -0
- data/all.sh +17 -0
- data/bin/generic_app +12 -7
- data/code_test.sh +35 -0
- data/credentials.sh +52 -0
- data/gem_test.sh +11 -53
- data/generic_app.gemspec +1 -0
- data/lib/generic_app/git_clone_url.txt +1 -0
- data/lib/generic_app/version.rb +1 -1
- data/lib/generic_app.rb +28 -6
- data/spec/lib/generic_app_spec.rb +41 -0
- data/spec/spec_helper.rb +2 -2
- metadata +23 -5
- data/spec/lib/1_sqlite_spec.rb +0 -71
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c93913b447f4225b2cbb08783ed9f13377f41d66
|
4
|
+
data.tar.gz: 5f00d06f9db717dec4363e26dcb303bb5202cc51
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6f345adb80df2c600c3bca20b965f29732643d0fd7fbce1a751a4a46572f03061b86b8ffb6308594c25e35d444a226b4a9304ca5190c250e22c25d90a812b98f
|
7
|
+
data.tar.gz: b0e94ff588828906bfe7b7fb0f015f48df3c51e2f92db87ddb95653d0b4f4250c871e702fa5b2938c75742a4a2fc9914e55c315a0dabce9b5cd087a6a483e81c
|
data/.rubocop.yml
CHANGED
@@ -1,8 +1,18 @@
|
|
1
|
+
AllCops:
|
2
|
+
Exclude:
|
3
|
+
- tmp/vulnerabilities/*
|
4
|
+
- tmp/vulnerabilities/lib/*
|
5
|
+
- tmp/vulnerabilities/spec/*
|
6
|
+
|
7
|
+
Metrics/BlockLength:
|
8
|
+
Exclude:
|
9
|
+
- spec/lib/generic_app_spec.rb
|
10
|
+
|
1
11
|
Metrics/LineLength:
|
2
12
|
Exclude:
|
3
13
|
- generic_app.gemspec
|
4
14
|
- lib/generic_app.rb
|
5
|
-
- spec/lib/
|
15
|
+
- spec/lib/generic_app_spec.rb
|
6
16
|
|
7
17
|
Metrics/MethodLength:
|
8
18
|
Exclude:
|
@@ -11,3 +21,6 @@ Metrics/MethodLength:
|
|
11
21
|
Style/RedundantSelf:
|
12
22
|
Exclude:
|
13
23
|
- lib/generic_app.rb
|
24
|
+
|
25
|
+
Style/VariableNumber:
|
26
|
+
Enabled: false
|
data/.travis.yml
CHANGED
data/all.sh
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
mkdir -p log
|
4
|
+
FILE_TEST_GEM='log/1-test-gem.log'
|
5
|
+
FILE_TEST_CODE='log/2-test-code.log'
|
6
|
+
FILE_INSTALL_GEM='log/3-install-gem.log'
|
7
|
+
sh gem_test.sh 2>&1 | tee $FILE_TEST_GEM
|
8
|
+
sh code_test.sh 2>&1 | tee $FILE_TEST_CODE
|
9
|
+
sh gem_install.sh 2>&1 | tee $FILE_INSTALL_GEM
|
10
|
+
|
11
|
+
echo 'Results are logged in:'
|
12
|
+
echo $FILE_TEST_GEM
|
13
|
+
echo $FILE_TEST_CODE
|
14
|
+
echo $FILE_INSTALL_GEM
|
15
|
+
echo
|
16
|
+
echo 'Gemsurance Report: log/gemsurance_report.html'
|
17
|
+
echo 'Gem dependency diagram: log/diagram-gems.svg'
|
data/bin/generic_app
CHANGED
@@ -30,13 +30,14 @@ email = get_input(default_email)
|
|
30
30
|
|
31
31
|
GenericApp.create_new(subdir_name, email)
|
32
32
|
|
33
|
-
puts '
|
34
|
-
puts "BEGIN TESTING THE #{subdir_name} RAILS APP"
|
35
|
-
system("cd #{subdir_name} && sh
|
36
|
-
puts "FINISHED TESTING THE #{subdir_name} RAILS APP"
|
37
|
-
puts '
|
38
|
-
|
39
|
-
puts
|
33
|
+
puts '******************************************************'
|
34
|
+
puts "BEGIN TESTING AND SEEDING THE #{subdir_name} RAILS APP"
|
35
|
+
system("cd #{subdir_name} && sh all.sh")
|
36
|
+
puts "FINISHED TESTING AND SEEDING THE #{subdir_name} RAILS APP"
|
37
|
+
puts '*********************************************************'
|
38
|
+
|
39
|
+
puts 'Your new Rails app has been created, tested, outlined and seeded at'
|
40
|
+
puts "#{ENV['PWD']}/#{subdir_name} ."
|
40
41
|
puts 'It is currently configured to use the SQLite database in the'
|
41
42
|
puts 'development environment.'
|
42
43
|
puts 'To set up the PostgreSQL database, enter the'
|
@@ -44,3 +45,7 @@ puts "#{ENV['PWD']}/#{subdir_name} directory and enter the command"
|
|
44
45
|
puts 'sh pg-setup.sh .'
|
45
46
|
puts 'Please note that the rails, pg, and nokogiri gems may be outdated.'
|
46
47
|
puts 'You should update these gem versions in the Gemfile.'
|
48
|
+
puts
|
49
|
+
puts 'There is a list of things to do at'
|
50
|
+
puts "#{ENV['PWD']}/#{subdir_name}/README-to_do.txt"
|
51
|
+
puts
|
data/code_test.sh
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
DIR_PARENT="${PWD%/*}"
|
4
|
+
DIR_TMP="$DIR_PARENT/tmp"
|
5
|
+
mkdir -p log
|
6
|
+
rm -rf tmp
|
7
|
+
|
8
|
+
echo '--------------'
|
9
|
+
echo 'bundle install'
|
10
|
+
bin/setup >/dev/null
|
11
|
+
|
12
|
+
echo
|
13
|
+
echo '----------'
|
14
|
+
echo 'rubocop -D'
|
15
|
+
rubocop -D
|
16
|
+
|
17
|
+
echo
|
18
|
+
echo '-----------'
|
19
|
+
echo 'sandi_meter'
|
20
|
+
sandi_meter
|
21
|
+
|
22
|
+
echo
|
23
|
+
echo '------------'
|
24
|
+
echo 'bundle-audit'
|
25
|
+
bundle-audit
|
26
|
+
|
27
|
+
echo '----------------------------------------------'
|
28
|
+
echo 'gemsurance --output log/gemsurance_report.html'
|
29
|
+
gemsurance --output log/gemsurance_report.html
|
30
|
+
echo 'Gemsurance Report: log/gemsurance_report.html'
|
31
|
+
|
32
|
+
echo '------------------------------------------------------------------------'
|
33
|
+
echo 'bundle viz --file=log/diagram-gems --format=svg --requirements --version'
|
34
|
+
bundle viz --file=log/diagram-gems --format=svg --requirements --version
|
35
|
+
echo 'Gem dependency diagram: log/diagram-gems.svg'
|
data/credentials.sh
ADDED
@@ -0,0 +1,52 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
# This script provides one-stop shopping for entering your credentials.
|
4
|
+
# Please run this script when you reset the Docker container.
|
5
|
+
# The "git commit" command will not work without your Git credentials.
|
6
|
+
|
7
|
+
# Output:
|
8
|
+
# First argument if it is not blank
|
9
|
+
# Second argument if first argument is blank
|
10
|
+
anti_blank () {
|
11
|
+
if [ -z "$1" ]; then
|
12
|
+
echo "$2"
|
13
|
+
else
|
14
|
+
echo "$1"
|
15
|
+
fi
|
16
|
+
}
|
17
|
+
|
18
|
+
echo '***********************'
|
19
|
+
echo 'SETTING GIT CREDENTIALS'
|
20
|
+
EMAIL_DEF='you@example.com'
|
21
|
+
|
22
|
+
echo
|
23
|
+
echo "Default email address: ${EMAIL_DEF}"
|
24
|
+
echo
|
25
|
+
echo 'Enter your Git email address:'
|
26
|
+
read EMAIL_SEL
|
27
|
+
EMAIL=$(anti_blank $EMAIL_SEL $EMAIL_DEF)
|
28
|
+
echo
|
29
|
+
|
30
|
+
echo
|
31
|
+
echo '------------------------------'
|
32
|
+
echo "git config --global user.email"
|
33
|
+
echo "$EMAIL"
|
34
|
+
git config --global user.email "$EMAIL"
|
35
|
+
|
36
|
+
NAME_DEF='Your Name'
|
37
|
+
echo
|
38
|
+
echo "Default name: ${NAME_DEF}"
|
39
|
+
echo
|
40
|
+
echo 'Enter your Git name:'
|
41
|
+
read NAME_SEL
|
42
|
+
|
43
|
+
# NOTE: The double quotes are needed to avoid truncating the string
|
44
|
+
# at the space.
|
45
|
+
NAME=$(anti_blank "$NAME_SEL" "$NAME_DEF")
|
46
|
+
|
47
|
+
echo
|
48
|
+
echo '-----------------------------'
|
49
|
+
echo "git config --global user.name"
|
50
|
+
echo "$NAME"
|
51
|
+
git config --global user.name "$NAME"
|
52
|
+
echo
|
data/gem_test.sh
CHANGED
@@ -5,61 +5,19 @@ DIR_GENERIC_APP=$PWD
|
|
5
5
|
DIR_PARENT="${PWD%/*}"
|
6
6
|
mkdir -p log
|
7
7
|
|
8
|
-
echo '
|
8
|
+
echo '=============='
|
9
9
|
echo 'bundle install'
|
10
10
|
bin/setup >/dev/null
|
11
11
|
|
12
|
-
echo '
|
13
|
-
echo 'BEGIN
|
14
|
-
rake
|
15
|
-
echo 'FINISHED
|
16
|
-
echo '
|
12
|
+
echo '=================='
|
13
|
+
echo 'BEGIN PART 1: rake'
|
14
|
+
rake
|
15
|
+
echo 'FINISHED PART 1: rake'
|
16
|
+
echo '====================='
|
17
17
|
echo
|
18
|
-
echo '
|
19
|
-
echo 'BEGIN
|
20
|
-
rubocop
|
21
|
-
echo 'FINISHED
|
22
|
-
echo '
|
23
|
-
echo
|
24
|
-
echo '************************************'
|
25
|
-
echo 'BEGIN TEST 1A: SQLite, build_fast.sh'
|
26
|
-
cd $DIR_PARENT/tmp1 && spring stop
|
27
|
-
cd $DIR_PARENT/tmp1 && sh build_fast.sh 2>&1 | tee $DIR_GENERIC_APP/log/tmp1A.txt
|
28
|
-
echo 'FINISHED TEST1A'
|
29
|
-
echo '***************'
|
30
|
-
echo ''
|
31
|
-
echo '***********************************'
|
32
|
-
echo 'BEGIN TEST 1B: SQLite, test_code.sh'
|
33
|
-
printf 'y\n' | cd $DIR_PARENT/tmp1 && sh test_code.sh 2>&1 | tee $DIR_GENERIC_APP/log/tmp1B.txt
|
34
|
-
echo 'FINISHED TEST 1B'
|
35
|
-
echo '****************'
|
36
|
-
|
37
|
-
echo '*************************************'
|
38
|
-
echo 'BEGIN TEST 2A: PostgreSQL, pg-test.sh'
|
39
|
-
printf 'y\n' | cd $DIR_PARENT/tmp1 && sh pg-test.sh auto 2>&1 | tee $DIR_GENERIC_APP/log/tmp2A.txt
|
40
|
-
echo 'FINISHED TEST 2A'
|
41
|
-
echo '****************'
|
42
|
-
|
43
|
-
echo '***************************************'
|
44
|
-
echo 'BEGIN TEST 2B: PostgreSQL, test_code.sh'
|
45
|
-
cd $DIR_PARENT/tmp1 && sh test_code.sh auto 2>&1 | tee $DIR_GENERIC_APP/log/tmp2B.txt
|
46
|
-
echo "\n"
|
47
|
-
echo 'FINISHED TEST 2B'
|
48
|
-
echo '****************'
|
49
|
-
|
50
|
-
echo
|
51
|
-
echo '***********************************'
|
52
|
-
echo 'The locations of the test logs are:'
|
53
|
-
echo "GEM TEST: $DIR_GENERIC_APP/log/generic_app-rake_test.txt"
|
54
|
-
echo "GEM TEST - code quality: $DIR_GENERIC_APP/log/generic_app-rubocop.txt"
|
55
|
-
echo "TEST 1A (SQLite, build_fast.sh): $DIR_GENERIC_APP/log/tmp1A.txt"
|
56
|
-
echo "TEST 1B (SQLite, test_code.sh): $DIR_GENERIC_APP/log/tmp1B.txt"
|
57
|
-
echo "TEST 2A (PostgreSQL, pg-test.sh): $DIR_GENERIC_APP/log/tmp2A.txt"
|
58
|
-
echo "TEST 2B (PostgreSQL, test_code.sh): $DIR_GENERIC_APP/log/tmp2B.txt"
|
59
|
-
|
60
|
-
echo
|
61
|
-
echo 'If all went well, the results at the end of tests 1A and 2A show 0 failures and 0 errors.'
|
62
|
-
echo 'Please note that in tests 1B and 2B, bundle-audit will flag violations due to outdated'
|
63
|
-
echo 'rails, pg, and nokogiri gems.'
|
64
|
-
echo 'It is up to the user to update these gems upon creating a new Rails project.'
|
18
|
+
echo '========================'
|
19
|
+
echo 'BEGIN PART 2: rubocop -D'
|
20
|
+
rubocop -D
|
21
|
+
echo 'FINISHED PART 2: rubocop -D'
|
22
|
+
echo '==========================='
|
65
23
|
echo
|
data/generic_app.gemspec
CHANGED
@@ -0,0 +1 @@
|
|
1
|
+
https://github.com/jhsu802701/generic-rails-2017-01-10-2332.git
|
data/lib/generic_app/version.rb
CHANGED
data/lib/generic_app.rb
CHANGED
@@ -3,9 +3,10 @@
|
|
3
3
|
require 'generic_app/version'
|
4
4
|
require 'string_in_file'
|
5
5
|
require 'line_containing'
|
6
|
+
require 'remove_double_blank'
|
6
7
|
|
7
|
-
|
8
|
-
|
8
|
+
DIR_MAIN = File.expand_path('../../', __FILE__)
|
9
|
+
DIR_PARENT = File.expand_path('../../../', __FILE__)
|
9
10
|
|
10
11
|
#
|
11
12
|
module GenericApp
|
@@ -13,20 +14,41 @@ module GenericApp
|
|
13
14
|
def self.create_new(subdir_name, email)
|
14
15
|
t1 = Thread.new { self.git_clone(subdir_name) }
|
15
16
|
t1.join
|
17
|
+
self.remove_heroku_name(subdir_name)
|
16
18
|
self.email_update(subdir_name, email)
|
19
|
+
self.remove_badges(subdir_name)
|
17
20
|
self.git_init(subdir_name)
|
18
21
|
end
|
19
22
|
|
23
|
+
def self.remove_heroku_name(subdir_name)
|
24
|
+
File.delete("#{subdir_name}/config/heroku_name.txt")
|
25
|
+
end
|
26
|
+
|
20
27
|
def self.git_clone(subdir_name)
|
21
28
|
puts '------------------------------------'
|
22
29
|
puts 'Downloading the Generic App Template'
|
23
|
-
|
30
|
+
url_template = StringInFile.read("#{DIR_MAIN}/lib/generic_app/git_clone_url.txt")
|
31
|
+
system("git clone #{url_template} #{subdir_name}")
|
24
32
|
end
|
25
33
|
|
26
34
|
def self.email_update(subdir_name, email)
|
27
|
-
email_orig = '
|
28
|
-
|
29
|
-
|
35
|
+
email_orig = 'somebody@rubyonracetracks.com'
|
36
|
+
path_of_email_1 = "#{subdir_name}/config/initializers/devise.rb"
|
37
|
+
path_of_email_2 = "#{subdir_name}/app/views/static_pages/contact.html.erb"
|
38
|
+
path_of_email_3 = "#{subdir_name}/test/integration/static_pages_test.rb"
|
39
|
+
StringInFile.replace(email_orig, email, path_of_email_1)
|
40
|
+
StringInFile.replace(email_orig, email, path_of_email_2)
|
41
|
+
StringInFile.replace(email_orig, email, path_of_email_3)
|
42
|
+
end
|
43
|
+
|
44
|
+
def self.remove_badges(subdir_name)
|
45
|
+
path_readme = "#{subdir_name}/README.md"
|
46
|
+
line1 = 'BEGIN: continuous integration badges'
|
47
|
+
line2 = 'END: continuous integration badges'
|
48
|
+
LineContaining.delete_between(line1, line2, path_readme)
|
49
|
+
LineContaining.delete(line1, path_readme)
|
50
|
+
LineContaining.delete(line2, path_readme)
|
51
|
+
RemoveDoubleBlank.update(path_readme)
|
30
52
|
end
|
31
53
|
|
32
54
|
def self.git_init(subdir_name)
|
@@ -0,0 +1,41 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'generic_app'
|
3
|
+
require 'string_in_file'
|
4
|
+
|
5
|
+
dir_parent = File.expand_path('../../../../', __FILE__)
|
6
|
+
dir_app_1 = "#{dir_parent}/tmp1"
|
7
|
+
|
8
|
+
describe GenericApp do
|
9
|
+
it 'New Rails app' do
|
10
|
+
puts
|
11
|
+
puts '**************'
|
12
|
+
puts 'CREATING APP 1'
|
13
|
+
puts 'New Rails app'
|
14
|
+
system("rm -rf #{dir_app_1}")
|
15
|
+
Dir.chdir(dir_parent) do
|
16
|
+
GenericApp.create_new('tmp1', '007@railstutorial.org')
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
it 'config/heroku_name.txt should be removed' do
|
21
|
+
expect(File.exist?("#{dir_app_1}/config/heroku_name.txt")).to eq(false)
|
22
|
+
end
|
23
|
+
|
24
|
+
it 'Email address should be updated' do
|
25
|
+
expect(StringInFile.present('007@railstutorial.org', "#{dir_app_1}/config/initializers/devise.rb")).to eq(true)
|
26
|
+
expect(StringInFile.present('007@railstutorial.org', "#{dir_app_1}/app/views/static_pages/contact.html.erb")).to eq(true)
|
27
|
+
expect(StringInFile.present('007@railstutorial.org', "#{dir_app_1}/test/integration/static_pages_test.rb")).to eq(true)
|
28
|
+
end
|
29
|
+
|
30
|
+
it 'Badges should be removed from README.md' do
|
31
|
+
expect(StringInFile.present('continuous integration badges', "#{dir_app_1}/README.md")).to eq(false)
|
32
|
+
expect(StringInFile.present('[CircleCI]', "#{dir_app_1}/README.md")).to eq(false)
|
33
|
+
expect(StringInFile.present('[Dependency Status]', "#{dir_app_1}/README.md")).to eq(false)
|
34
|
+
expect(StringInFile.present('[security]', "#{dir_app_1}/README.md")).to eq(false)
|
35
|
+
expect(StringInFile.present('[Code Climate]', "#{dir_app_1}/README.md")).to eq(false)
|
36
|
+
end
|
37
|
+
|
38
|
+
it 'New README.md file should be provided' do
|
39
|
+
expect(StringInFile.present('Generic App Template', "#{dir_app_1}/README.md")).to eq(true)
|
40
|
+
end
|
41
|
+
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: generic_app
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jason Hsu
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-01-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -80,6 +80,20 @@ dependencies:
|
|
80
80
|
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: remove_double_blank
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
83
97
|
description: Instead of creating your Rails app from scratch, start with a generic
|
84
98
|
app.
|
85
99
|
email:
|
@@ -98,14 +112,18 @@ files:
|
|
98
112
|
- LICENSE.txt
|
99
113
|
- README.md
|
100
114
|
- Rakefile
|
115
|
+
- all.sh
|
101
116
|
- bin/generic_app
|
102
117
|
- bin/setup
|
118
|
+
- code_test.sh
|
119
|
+
- credentials.sh
|
103
120
|
- gem_install.sh
|
104
121
|
- gem_test.sh
|
105
122
|
- generic_app.gemspec
|
106
123
|
- lib/generic_app.rb
|
124
|
+
- lib/generic_app/git_clone_url.txt
|
107
125
|
- lib/generic_app/version.rb
|
108
|
-
- spec/lib/
|
126
|
+
- spec/lib/generic_app_spec.rb
|
109
127
|
- spec/spec_helper.rb
|
110
128
|
homepage: https://github.com/jhsu802701/generic_app
|
111
129
|
licenses:
|
@@ -127,10 +145,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
127
145
|
version: '0'
|
128
146
|
requirements: []
|
129
147
|
rubyforge_project:
|
130
|
-
rubygems_version: 2.5.
|
148
|
+
rubygems_version: 2.5.2
|
131
149
|
signing_key:
|
132
150
|
specification_version: 4
|
133
151
|
summary: Save time by instantly create a generic Rails app.
|
134
152
|
test_files:
|
135
|
-
- spec/lib/
|
153
|
+
- spec/lib/generic_app_spec.rb
|
136
154
|
- spec/spec_helper.rb
|
data/spec/lib/1_sqlite_spec.rb
DELETED
@@ -1,71 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
require 'generic_app'
|
3
|
-
require 'string_in_file'
|
4
|
-
|
5
|
-
dir_app_1 = "#{ENV['DIR_PARENT']}/tmp1"
|
6
|
-
|
7
|
-
describe GenericApp do
|
8
|
-
it 'New Rails app' do
|
9
|
-
puts
|
10
|
-
puts '**************'
|
11
|
-
puts 'CREATING APP 1'
|
12
|
-
puts 'New Rails app'
|
13
|
-
system("rm -rf #{dir_app_1}")
|
14
|
-
Dir.chdir(ENV['DIR_PARENT']) do
|
15
|
-
GenericApp.create_new('tmp1', '007@railstutorial.org')
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
it 'Email address should be updated' do
|
20
|
-
expect(StringInFile.present('007@railstutorial.org', "#{dir_app_1}/config/initializers/devise.rb")).to eq(true)
|
21
|
-
end
|
22
|
-
|
23
|
-
it 'Bash scripts should be provided' do
|
24
|
-
expect(StringInFile.present('heroku run rake db:migrate', "#{dir_app_1}/heroku_upload.sh")).to eq(true)
|
25
|
-
expect(StringInFile.present('pkill', "#{dir_app_1}/kill_spring.sh")).to eq(true)
|
26
|
-
expect(StringInFile.present('tree app/controllers', "#{dir_app_1}/outline.sh")).to eq(true)
|
27
|
-
expect(StringInFile.present('rails console --sandbox', "#{dir_app_1}/sandbox.sh")).to eq(true)
|
28
|
-
expect(StringInFile.present('rake db:seed', "#{dir_app_1}/seed.sh")).to eq(true)
|
29
|
-
expect(StringInFile.present('rails server -b 0.0.0.0', "#{dir_app_1}/server.sh")).to eq(true)
|
30
|
-
expect(StringInFile.present('bundle install', "#{dir_app_1}/build_fast.sh")).to eq(true)
|
31
|
-
end
|
32
|
-
|
33
|
-
it 'New README.md file should be provided' do
|
34
|
-
expect(StringInFile.present('outline.sh', "#{dir_app_1}/README.md")).to eq(true)
|
35
|
-
end
|
36
|
-
|
37
|
-
it 'Guardfile should be set to automatically run tests upon startup' do
|
38
|
-
expect(StringInFile.present('all_on_start: true', "#{dir_app_1}/Guardfile")).to eq(true)
|
39
|
-
end
|
40
|
-
|
41
|
-
it 'The .gitignore file includes tmp, tmp*, and ,DS_Store' do
|
42
|
-
expect(StringInFile.present('tmp', "#{dir_app_1}/.gitignore")).to eq(true)
|
43
|
-
expect(StringInFile.present('tmp*', "#{dir_app_1}/.gitignore")).to eq(true)
|
44
|
-
expect(StringInFile.present('.DS_Store', "#{dir_app_1}/.gitignore")).to eq(true)
|
45
|
-
expect(StringInFile.present('notes/*.dot', "#{dir_app_1}/.gitignore")).to eq(true)
|
46
|
-
expect(StringInFile.present('notes/*.svg', "#{dir_app_1}/.gitignore")).to eq(true)
|
47
|
-
expect(StringInFile.present('gemsurance_report.html', "#{dir_app_1}/.gitignore")).to eq(true)
|
48
|
-
end
|
49
|
-
|
50
|
-
it 'The notes/1-file_list-controllers.txt file should be in place' do
|
51
|
-
expect(StringInFile.present('users_controller_test.rb', "#{dir_app_1}/notes/1-file_list-controllers.txt")).to eq(true)
|
52
|
-
expect(StringInFile.present('users_controller.rb', "#{dir_app_1}/notes/1-file_list-controllers.txt")).to eq(true)
|
53
|
-
expect(StringInFile.present('confirmations_controller.rb', "#{dir_app_1}/notes/1-file_list-controllers.txt")).to eq(true)
|
54
|
-
expect(StringInFile.present('omniauth_callbacks_controller.rb', "#{dir_app_1}/notes/1-file_list-controllers.txt")).to eq(true)
|
55
|
-
expect(StringInFile.present('passwords_controller.rb', "#{dir_app_1}/notes/1-file_list-controllers.txt")).to eq(true)
|
56
|
-
expect(StringInFile.present('registrations_controller.rb', "#{dir_app_1}/notes/1-file_list-controllers.txt")).to eq(true)
|
57
|
-
expect(StringInFile.present('sessions_controller.rb', "#{dir_app_1}/notes/1-file_list-controllers.txt")).to eq(true)
|
58
|
-
expect(StringInFile.present('unlocks_controller.rb', "#{dir_app_1}/notes/1-file_list-controllers.txt")).to eq(true)
|
59
|
-
end
|
60
|
-
|
61
|
-
it 'The notes/1-file_list-misc.txt file should be in place' do
|
62
|
-
expect(StringInFile.present('application_helper.rb', "#{dir_app_1}/notes/1-file_list-helpers.txt")).to eq(true)
|
63
|
-
end
|
64
|
-
|
65
|
-
it 'The notes/1-file_list-models.txt file should be in place' do
|
66
|
-
expect(StringInFile.present('admin_test.rb', "#{dir_app_1}/notes/1-file_list-models.txt")).to eq(true)
|
67
|
-
expect(StringInFile.present('user_test.rb', "#{dir_app_1}/notes/1-file_list-models.txt")).to eq(true)
|
68
|
-
expect(StringInFile.present('admin.rb', "#{dir_app_1}/notes/1-file_list-models.txt")).to eq(true)
|
69
|
-
expect(StringInFile.present('user.rb', "#{dir_app_1}/notes/1-file_list-models.txt")).to eq(true)
|
70
|
-
end
|
71
|
-
end
|