rails_template_18f 0.4.0 → 0.5.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +15 -0
- data/Gemfile +0 -2
- data/Gemfile.lock +26 -26
- data/lib/generators/rails_template18f/active_storage/active_storage_generator.rb +14 -8
- data/lib/generators/rails_template18f/circleci/circleci_generator.rb +4 -1
- data/lib/generators/rails_template18f/cloud_gov_config/cloud_gov_config_generator.rb +2 -1
- data/lib/generators/rails_template18f/i18n/i18n_generator.rb +8 -9
- data/lib/generators/rails_template18f/i18n_js/i18n_js_generator.rb +7 -8
- data/lib/generators/rails_template18f/newrelic/newrelic_generator.rb +2 -0
- data/lib/generators/rails_template18f/sidekiq/sidekiq_generator.rb +12 -1
- data/lib/generators/rails_template18f/terraform/templates/terraform/README.md.tt +1 -1
- data/lib/generators/rails_template18f/terraform/terraform_generator.rb +10 -1
- data/lib/rails_template18f/generators/base.rb +15 -0
- data/lib/rails_template18f/version.rb +1 -1
- data/rails-template-18f.gemspec +1 -0
- data/template.rb +19 -1
- data/templates/Brewfile +14 -0
- data/templates/README.md.tt +11 -12
- data/templates/app/views/application/_header.html.erb +0 -1
- data/templates/app/views/application/_usa_banner.html.erb +2 -0
- data/templates/bin/with-server +1 -2
- data/templates/env +1 -1
- metadata +18 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9272beadb19c4c9a6aa8f3da43cfbb06d7fbf23f75d0f4ec393dde3610f06157
|
4
|
+
data.tar.gz: a3906d6bddb262a5bc46f5ed40e0bf64110bd396ac8e765185dcc808abe6c91a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 22926545b3fe7273d36c8fde0445d9865bab390cf2cc856c25bc33e50f1c1420944a30052a2e0ae8b730da4f17dee2c16165cc83a1e21eb1f0475afa0fd30b74
|
7
|
+
data.tar.gz: fe7f4f8df14d4f2eac2a5882daf368cdf68a8c9f53a54550fe8d13f1b7a18767c50334e142a2784b92964478fe0e3a3e88c5986271b30e78d8e0743690c8a09a
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,20 @@
|
|
1
1
|
## [Unreleased]
|
2
2
|
|
3
|
+
## [0.5.1] - 2022-03-17
|
4
|
+
|
5
|
+
- fix interaction between foreman and dotenv by disabling foreman's env loading
|
6
|
+
|
7
|
+
## [0.5.0] - 2022-03-04
|
8
|
+
|
9
|
+
- use Brewfile for installing homebrew-based dependencies
|
10
|
+
- move test site banner to the _usa_banner.html.erb partial
|
11
|
+
- use dockerize within bin/with-server to wait for rails to start
|
12
|
+
|
13
|
+
## [0.4.1] - 2022-02-25
|
14
|
+
|
15
|
+
- update gem dependencies
|
16
|
+
- fix issues when included gem hadn't been previously installed
|
17
|
+
|
3
18
|
## [0.4.0] - 2022-02-24
|
4
19
|
|
5
20
|
- helper script to run rails app:update
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,28 +1,29 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
rails_template_18f (0.
|
4
|
+
rails_template_18f (0.5.1)
|
5
5
|
activesupport (~> 7.0.0)
|
6
|
+
colorize (~> 0.8)
|
6
7
|
railties (~> 7.0.0)
|
7
8
|
thor (~> 1.0)
|
8
9
|
|
9
10
|
GEM
|
10
11
|
remote: https://rubygems.org/
|
11
12
|
specs:
|
12
|
-
actionpack (7.0.2.
|
13
|
-
actionview (= 7.0.2.
|
14
|
-
activesupport (= 7.0.2.
|
13
|
+
actionpack (7.0.2.3)
|
14
|
+
actionview (= 7.0.2.3)
|
15
|
+
activesupport (= 7.0.2.3)
|
15
16
|
rack (~> 2.0, >= 2.2.0)
|
16
17
|
rack-test (>= 0.6.3)
|
17
18
|
rails-dom-testing (~> 2.0)
|
18
19
|
rails-html-sanitizer (~> 1.0, >= 1.2.0)
|
19
|
-
actionview (7.0.2.
|
20
|
-
activesupport (= 7.0.2.
|
20
|
+
actionview (7.0.2.3)
|
21
|
+
activesupport (= 7.0.2.3)
|
21
22
|
builder (~> 3.1)
|
22
23
|
erubi (~> 1.4)
|
23
24
|
rails-dom-testing (~> 2.0)
|
24
25
|
rails-html-sanitizer (~> 1.1, >= 1.2.0)
|
25
|
-
activesupport (7.0.2.
|
26
|
+
activesupport (7.0.2.3)
|
26
27
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
27
28
|
i18n (>= 1.6, < 2)
|
28
29
|
minitest (>= 5.1)
|
@@ -39,19 +40,19 @@ GEM
|
|
39
40
|
crass (1.0.6)
|
40
41
|
diff-lcs (1.5.0)
|
41
42
|
erubi (1.10.0)
|
42
|
-
i18n (1.
|
43
|
+
i18n (1.10.0)
|
43
44
|
concurrent-ruby (~> 1.0)
|
44
|
-
loofah (2.
|
45
|
+
loofah (2.15.0)
|
45
46
|
crass (~> 1.0.2)
|
46
47
|
nokogiri (>= 1.5.9)
|
47
48
|
method_source (1.0.0)
|
48
49
|
minitest (5.15.0)
|
49
|
-
nokogiri (1.13.
|
50
|
+
nokogiri (1.13.3-x86_64-darwin)
|
50
51
|
racc (~> 1.4)
|
51
|
-
nokogiri (1.13.
|
52
|
+
nokogiri (1.13.3-x86_64-linux)
|
52
53
|
racc (~> 1.4)
|
53
54
|
parallel (1.21.0)
|
54
|
-
parser (3.1.
|
55
|
+
parser (3.1.1.0)
|
55
56
|
ast (~> 2.4.1)
|
56
57
|
racc (1.6.0)
|
57
58
|
rack (2.2.3)
|
@@ -62,16 +63,16 @@ GEM
|
|
62
63
|
nokogiri (>= 1.6)
|
63
64
|
rails-html-sanitizer (1.4.2)
|
64
65
|
loofah (~> 2.3)
|
65
|
-
railties (7.0.2.
|
66
|
-
actionpack (= 7.0.2.
|
67
|
-
activesupport (= 7.0.2.
|
66
|
+
railties (7.0.2.3)
|
67
|
+
actionpack (= 7.0.2.3)
|
68
|
+
activesupport (= 7.0.2.3)
|
68
69
|
method_source
|
69
70
|
rake (>= 12.2)
|
70
71
|
thor (~> 1.0)
|
71
72
|
zeitwerk (~> 2.5)
|
72
73
|
rainbow (3.1.1)
|
73
74
|
rake (13.0.6)
|
74
|
-
regexp_parser (2.2.
|
75
|
+
regexp_parser (2.2.1)
|
75
76
|
rexml (3.2.5)
|
76
77
|
rspec (3.11.0)
|
77
78
|
rspec-core (~> 3.11.0)
|
@@ -85,7 +86,7 @@ GEM
|
|
85
86
|
rspec-mocks (3.11.0)
|
86
87
|
diff-lcs (>= 1.2.0, < 2.0)
|
87
88
|
rspec-support (~> 3.11.0)
|
88
|
-
rspec-rails (5.1.
|
89
|
+
rspec-rails (5.1.1)
|
89
90
|
actionpack (>= 5.2)
|
90
91
|
activesupport (>= 5.2)
|
91
92
|
railties (>= 5.2)
|
@@ -94,24 +95,24 @@ GEM
|
|
94
95
|
rspec-mocks (~> 3.10)
|
95
96
|
rspec-support (~> 3.10)
|
96
97
|
rspec-support (3.11.0)
|
97
|
-
rubocop (1.
|
98
|
+
rubocop (1.26.0)
|
98
99
|
parallel (~> 1.10)
|
99
100
|
parser (>= 3.1.0.0)
|
100
101
|
rainbow (>= 2.2.2, < 4.0)
|
101
102
|
regexp_parser (>= 1.8, < 3.0)
|
102
103
|
rexml
|
103
|
-
rubocop-ast (>= 1.
|
104
|
+
rubocop-ast (>= 1.16.0, < 2.0)
|
104
105
|
ruby-progressbar (~> 1.7)
|
105
106
|
unicode-display_width (>= 1.4.0, < 3.0)
|
106
|
-
rubocop-ast (1.
|
107
|
-
parser (>= 3.
|
108
|
-
rubocop-performance (1.13.
|
107
|
+
rubocop-ast (1.16.0)
|
108
|
+
parser (>= 3.1.1.0)
|
109
|
+
rubocop-performance (1.13.3)
|
109
110
|
rubocop (>= 1.7.0, < 2.0)
|
110
111
|
rubocop-ast (>= 0.4.0)
|
111
112
|
ruby-progressbar (1.11.0)
|
112
|
-
standard (1.
|
113
|
-
rubocop (= 1.
|
114
|
-
rubocop-performance (= 1.13.
|
113
|
+
standard (1.8.0)
|
114
|
+
rubocop (= 1.26.0)
|
115
|
+
rubocop-performance (= 1.13.3)
|
115
116
|
thor (1.2.1)
|
116
117
|
tzinfo (2.0.4)
|
117
118
|
concurrent-ruby (~> 1.0)
|
@@ -125,7 +126,6 @@ PLATFORMS
|
|
125
126
|
DEPENDENCIES
|
126
127
|
ammeter (~> 1.1)
|
127
128
|
byebug
|
128
|
-
colorize (~> 0.8)
|
129
129
|
rails_template_18f!
|
130
130
|
rake (~> 13.0)
|
131
131
|
rspec (~> 3.11)
|
@@ -13,8 +13,8 @@ module RailsTemplate18f
|
|
13
13
|
DESC
|
14
14
|
|
15
15
|
def configure_active_storage
|
16
|
-
generate "rails_template18f:cloud_gov_config"
|
17
|
-
rails_command "active_storage:install"
|
16
|
+
generate "rails_template18f:cloud_gov_config", inline: true
|
17
|
+
rails_command "active_storage:install", inline: true
|
18
18
|
comment_lines "config/environments/production.rb", /active_storage\.service/
|
19
19
|
insert_into_file "config/environments/production.rb", "\n config.active_storage.service = :amazon", after: /active_storage\.service.*$/
|
20
20
|
environment "config.active_storage.service = :local", env: "ci"
|
@@ -30,15 +30,22 @@ module RailsTemplate18f
|
|
30
30
|
end
|
31
31
|
|
32
32
|
def install_gems
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
33
|
+
faraday_installed = gem_installed?("faraday")
|
34
|
+
middleware_installed = gem_installed?("faraday-multipart")
|
35
|
+
sdk_installed = gem_installed?("aws-sdk-s3")
|
36
|
+
return if faraday_installed && middleware_installed && sdk_installed
|
37
|
+
gem "faraday", "~> 2.2" unless faraday_installed
|
38
|
+
gem "faraday-multipart", "~> 1.0" unless middleware_installed
|
39
|
+
unless sdk_installed
|
40
|
+
gem_group :production do
|
41
|
+
gem "aws-sdk-s3", "~> 1.112"
|
42
|
+
end
|
37
43
|
end
|
44
|
+
bundle_install
|
38
45
|
end
|
39
46
|
|
40
47
|
def create_scanned_upload_model_and_job
|
41
|
-
generate :migration, "CreateFileUploads", "file:attachment", "record:references{polymorphic}", "scan_status:string"
|
48
|
+
generate :migration, "CreateFileUploads", "file:attachment", "record:references{polymorphic}", "scan_status:string", inline: true
|
42
49
|
migration_file = Dir.glob(File.expand_path(File.join("db", "migrate", "[0-9]*_*.rb"), destination_root)).grep(/\d+_create_file_uploads.rb$/).first
|
43
50
|
unless migration_file.nil?
|
44
51
|
gsub_file migration_file, ":scan_status", ":scan_status, null: false, default: \"uploaded\""
|
@@ -54,7 +61,6 @@ module RailsTemplate18f
|
|
54
61
|
def configure_clamav_env_var
|
55
62
|
append_to_file ".env", <<~EOM
|
56
63
|
|
57
|
-
|
58
64
|
# CLAMAV_API_URL tells FileScanJob where to send files for virus scans
|
59
65
|
CLAMAV_API_URL=https://localhost:9443
|
60
66
|
EOM
|
@@ -14,7 +14,10 @@ module RailsTemplate18f
|
|
14
14
|
DESC
|
15
15
|
|
16
16
|
def install_needed_gems
|
17
|
-
|
17
|
+
gem_name = "rspec_junit_formatter"
|
18
|
+
return if gem_installed? gem_name
|
19
|
+
gem gem_name, "~> 0.5", group: :test
|
20
|
+
bundle_install
|
18
21
|
end
|
19
22
|
|
20
23
|
def install_pipeline
|
@@ -13,10 +13,11 @@ module RailsTemplate18f
|
|
13
13
|
DESC
|
14
14
|
|
15
15
|
def install_climate_control
|
16
|
-
return if
|
16
|
+
return if gem_installed?("climate_control")
|
17
17
|
gem_group :test do
|
18
18
|
gem "climate_control", "~> 1.0"
|
19
19
|
end
|
20
|
+
bundle_install
|
20
21
|
end
|
21
22
|
|
22
23
|
def install_model_and_test
|
@@ -1,7 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require "rails/generators"
|
4
|
-
require "bundler"
|
5
4
|
|
6
5
|
module RailsTemplate18f
|
7
6
|
module Generators
|
@@ -16,17 +15,17 @@ module RailsTemplate18f
|
|
16
15
|
Always installs configuration for English
|
17
16
|
DESC
|
18
17
|
|
19
|
-
def
|
20
|
-
return if
|
18
|
+
def install_gem
|
19
|
+
return if gem_installed?("i18n-tasks")
|
21
20
|
gem_group :development, :test do
|
22
21
|
gem "i18n-tasks", "~> 0.9"
|
23
22
|
end
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
23
|
+
end
|
24
|
+
|
25
|
+
def install_helper_tasks
|
26
|
+
bundle_install do
|
27
|
+
run "cp $(i18n-tasks gem-path)/templates/config/i18n-tasks.yml config/"
|
28
|
+
run "cp $(i18n-tasks gem-path)/templates/rspec/i18n_spec.rb spec/"
|
30
29
|
end
|
31
30
|
insert_into_file "config/i18n-tasks.yml", "\n#{indent("- app/assets/builds", 4)}", after: "exclude:"
|
32
31
|
uncomment_lines "config/i18n-tasks.yml", "ignore_missing:"
|
@@ -1,7 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require "rails/generators"
|
4
|
-
require "bundler"
|
5
4
|
|
6
5
|
module RailsTemplate18f
|
7
6
|
module Generators
|
@@ -16,15 +15,15 @@ module RailsTemplate18f
|
|
16
15
|
DESC
|
17
16
|
|
18
17
|
def install_gem_and_tasks
|
19
|
-
return if
|
18
|
+
return if gem_installed?("i18n-js")
|
20
19
|
gem "i18n-js", "~> 3.9"
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
run "yarn add i18n-js"
|
25
|
-
generate "i18n:js:config"
|
26
|
-
end
|
20
|
+
bundle_install do
|
21
|
+
run "yarn add i18n-js"
|
22
|
+
generate "i18n:js:config"
|
27
23
|
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def configure_translation_yaml
|
28
27
|
append_to_file "config/i18n-js.yml", <<~EOYAML
|
29
28
|
# remove `only` to include all translations
|
30
29
|
translations:
|
@@ -13,7 +13,18 @@ module RailsTemplate18f
|
|
13
13
|
DESC
|
14
14
|
|
15
15
|
def install_gem
|
16
|
+
return if gem_installed?("sidekiq")
|
16
17
|
gem "sidekiq", "~> 6.4"
|
18
|
+
bundle_install
|
19
|
+
end
|
20
|
+
|
21
|
+
def install_redis
|
22
|
+
append_to_file "Brewfile", <<~EOB
|
23
|
+
|
24
|
+
# queue for sidekiq jobs
|
25
|
+
brew "redis"
|
26
|
+
EOB
|
27
|
+
insert_into_file "README.md", indent("* [redis]()\n"), after: /\* Install homebrew dependencies: `brew bundle`\n/
|
17
28
|
end
|
18
29
|
|
19
30
|
def configure_server_runner
|
@@ -38,7 +49,7 @@ module RailsTemplate18f
|
|
38
49
|
end
|
39
50
|
|
40
51
|
def configure_active_job
|
41
|
-
generate "rails_template18f:cloud_gov_config"
|
52
|
+
generate "rails_template18f:cloud_gov_config", inline: true
|
42
53
|
copy_file "config/initializers/redis.rb"
|
43
54
|
application "config.active_job.queue_adapter = :sidekiq"
|
44
55
|
end
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
This directory holds the terraform modules for maintaining your complete persistent infrastructure.
|
4
4
|
|
5
|
-
Prerequisite: install the `jq` JSON processor: `brew install jq`
|
5
|
+
Prerequisite: install the `jq` JSON processor: `brew bundle` or `brew install jq`
|
6
6
|
|
7
7
|
## Initial setup
|
8
8
|
|
@@ -19,6 +19,15 @@ module RailsTemplate18f
|
|
19
19
|
chmod "terraform/bootstrap/teardown_creds.sh", 0o755
|
20
20
|
end
|
21
21
|
|
22
|
+
def install_jq
|
23
|
+
append_to_file "Brewfile", <<~EOB
|
24
|
+
|
25
|
+
# used in terraform/create_space_deployer.sh
|
26
|
+
brew "jq"
|
27
|
+
EOB
|
28
|
+
insert_into_file "README.md", indent("* [jq](https://stedolan.github.io/jq/)\n"), after: /\* Install homebrew dependencies: `brew bundle`\n/
|
29
|
+
end
|
30
|
+
|
22
31
|
def ignore_files
|
23
32
|
unless skip_git?
|
24
33
|
append_to_file ".gitignore", <<~EOM
|
@@ -34,7 +43,7 @@ module RailsTemplate18f
|
|
34
43
|
end
|
35
44
|
|
36
45
|
def update_readme
|
37
|
-
gsub_file "README.md", /^(### Automatic linting)
|
46
|
+
gsub_file "README.md", /^(### Automatic linting)\s*$/, '\1 and terraform formatting'
|
38
47
|
gsub_file "README.md", /(ruby linting) (on every)/, '\1 and terraform formatting \2'
|
39
48
|
gsub_file "README.md", /^Before the first deploy only.*$/, "Follow the instructions in `terraform/README.md` to create the supporting services."
|
40
49
|
end
|
@@ -1,5 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require "bundler"
|
4
|
+
|
3
5
|
module RailsTemplate18f
|
4
6
|
module Generators
|
5
7
|
module Base
|
@@ -20,6 +22,19 @@ module RailsTemplate18f
|
|
20
22
|
|
21
23
|
private
|
22
24
|
|
25
|
+
def bundle_install
|
26
|
+
Bundler.with_original_env do
|
27
|
+
in_root do
|
28
|
+
run "bundle install"
|
29
|
+
yield if block_given?
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
def gem_installed?(gem_name)
|
35
|
+
file_content("Gemfile").match?(/gem "#{gem_name}"/)
|
36
|
+
end
|
37
|
+
|
23
38
|
def file_content(filename)
|
24
39
|
file_path = File.expand_path(filename, destination_root)
|
25
40
|
if File.exist? file_path
|
data/rails-template-18f.gemspec
CHANGED
@@ -34,6 +34,7 @@ Gem::Specification.new do |spec|
|
|
34
34
|
spec.add_dependency "railties", "~> 7.0.0"
|
35
35
|
spec.add_dependency "activesupport", "~> 7.0.0"
|
36
36
|
spec.add_dependency "thor", "~> 1.0"
|
37
|
+
spec.add_dependency "colorize", "~> 0.8"
|
37
38
|
|
38
39
|
spec.add_development_dependency "rspec", "~> 3.11"
|
39
40
|
spec.add_development_dependency "ammeter", "~> 1.1"
|
data/template.rb
CHANGED
@@ -87,6 +87,13 @@ register_announcement("Documentation", <<~EOM)
|
|
87
87
|
* Review any TBD sections of the README and update where appropriate.
|
88
88
|
EOM
|
89
89
|
|
90
|
+
# ensure dependencies are installed
|
91
|
+
copy_file "Brewfile"
|
92
|
+
insert_into_file "bin/setup", <<EOSETUP, after: /Add necessary setup steps to this file.\n/
|
93
|
+
puts "== Installing homebrew dependencies =="
|
94
|
+
system("brew bundle --no-lock")
|
95
|
+
EOSETUP
|
96
|
+
|
90
97
|
# setup nvmrc
|
91
98
|
file ".nvmrc", @node_version
|
92
99
|
|
@@ -185,15 +192,26 @@ if ENV["RT_DEV"] == "true"
|
|
185
192
|
else
|
186
193
|
gem "rails_template_18f", group: :development
|
187
194
|
end
|
195
|
+
after_bundle do
|
196
|
+
gsub_file "bin/dev", /foreman start -f (.*)$/, <<~'EOM'
|
197
|
+
# pass /dev/null for the environment file to prevent weird interactions between foreman and dotenv
|
198
|
+
foreman start -e /dev/null -f \1
|
199
|
+
EOM
|
200
|
+
end
|
188
201
|
|
189
202
|
copy_file "lib/tasks/scanning.rake"
|
190
203
|
copy_file "env", ".env"
|
191
204
|
copy_file "githooks/pre-commit", ".githooks/pre-commit", mode: :preserve
|
192
205
|
|
193
206
|
unless skip_git?
|
194
|
-
|
207
|
+
after_bundle do
|
208
|
+
rails_command "credentials:diff --enroll"
|
209
|
+
end
|
195
210
|
append_to_file ".gitignore", <<~EOM
|
196
211
|
|
212
|
+
# Ignore Brewfile debug info
|
213
|
+
Brewfile.lock.json
|
214
|
+
|
197
215
|
# Ignore local dotenv overrides
|
198
216
|
.env*.local
|
199
217
|
|
data/templates/Brewfile
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
# Brewfile
|
2
|
+
# add any dependencies that must be installed from homebrew here
|
3
|
+
|
4
|
+
# cloud.gov RDS is on postgres 12
|
5
|
+
brew "postgresql@12", link: true
|
6
|
+
|
7
|
+
# used in bin/with-server script
|
8
|
+
brew "dockerize"
|
9
|
+
|
10
|
+
# helper scripts for creating new ADRs
|
11
|
+
brew "adr-tools"
|
12
|
+
|
13
|
+
# chromedriver for integration tests
|
14
|
+
cask "chromedriver"
|
data/templates/README.md.tt
CHANGED
@@ -12,16 +12,15 @@ guide for an introduction to the framework.
|
|
12
12
|
|
13
13
|
* Install Ruby <%= @ruby_version %>
|
14
14
|
* Install NodeJS <%= @node_version %>
|
15
|
-
* Install
|
16
|
-
*
|
17
|
-
|
18
|
-
*
|
19
|
-
|
15
|
+
* Install homebrew dependencies: `brew bundle`
|
16
|
+
* [PostgreSQL](https://www.postgresql.org/)
|
17
|
+
* [Dockerize](https://github.com/jwilder/dockerize)
|
18
|
+
* [ADR Tools](https://github.com/npryce/adr-tools)
|
19
|
+
* [Chromedriver](https://sites.google.com/chromium.org/driver/)
|
20
|
+
* Chromedriver must be allowed to run. You can either do that by:
|
21
|
+
* The command line: `xattr -d com.apple.quarantine $(which chromedriver)` (this is the only option if you are on Big Sur)
|
22
|
+
* Manually: clicking "allow" when you run the integration tests for the first time and a dialogue opens up
|
20
23
|
* Install Ruby dependencies: `bundle install`
|
21
|
-
* Install chromedriver for integration tests: `brew install --cask chromedriver`
|
22
|
-
* Chromedriver must be allowed to run. You can either do that by:
|
23
|
-
* The command line: `xattr -d com.apple.quarantine $(which chromedriver)` (this is the only option if you are on Big Sur)
|
24
|
-
* Manually: clicking "allow" when you run the integration tests for the first time and a dialogue opens up
|
25
24
|
* Install JS dependencies: `yarn install`
|
26
25
|
* Create database: `bundle exec rake db:create`
|
27
26
|
* Run migrations: `bundle exec rake db:migrate`
|
@@ -32,9 +31,9 @@ guide for an introduction to the framework.
|
|
32
31
|
|
33
32
|
Environment variables can be set in development using the [dotenv](https://github.com/bkeepers/dotenv) gem.
|
34
33
|
|
35
|
-
Consistent but sensitive credentials should be added to `config/credentials.yml.
|
34
|
+
Consistent but sensitive credentials should be added to `config/credentials.yml.enc` by using `$ rails credentials:edit`
|
36
35
|
|
37
|
-
Production credentials should be added to `config/credentials/production.yml.
|
36
|
+
Production credentials should be added to `config/credentials/production.yml.enc` by using `$ rails credentials:edit --environment production`
|
38
37
|
|
39
38
|
Any changes to variables in `.env` that should not be checked into git should be set
|
40
39
|
in `.env.local`.
|
@@ -145,7 +144,7 @@ Configuration that changes from staging to production, but is public, should be
|
|
145
144
|
Architectural Decision Records (ADR) are stored in `doc/adr`
|
146
145
|
To create a new ADR, first install [ADR-tools](https://github.com/npryce/adr-tools) if you don't
|
147
146
|
already have it installed.
|
148
|
-
* `brew install adr-tools`
|
147
|
+
* `brew bundle` or `brew install adr-tools`
|
149
148
|
|
150
149
|
Then create the ADR:
|
151
150
|
* `adr new Title Of Architectural Decision`
|
data/templates/bin/with-server
CHANGED
data/templates/env
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails_template_18f
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryan Ahearn
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-03-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: railties
|
@@ -52,6 +52,20 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '1.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: colorize
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0.8'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0.8'
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: rspec
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -196,6 +210,7 @@ files:
|
|
196
210
|
- railsrc
|
197
211
|
- railsrc-hotwire
|
198
212
|
- template.rb
|
213
|
+
- templates/Brewfile
|
199
214
|
- templates/README.md.tt
|
200
215
|
- templates/app/assets/images/uswds.js
|
201
216
|
- templates/app/assets/stylesheets/uswds-settings.scss
|
@@ -249,7 +264,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
249
264
|
- !ruby/object:Gem::Version
|
250
265
|
version: '0'
|
251
266
|
requirements: []
|
252
|
-
rubygems_version: 3.
|
267
|
+
rubygems_version: 3.3.7
|
253
268
|
signing_key:
|
254
269
|
specification_version: 4
|
255
270
|
summary: Generators for creating an 18F-flavored Rails app
|