rails_template_18f 0.4.0 → 0.4.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c87267d368d3e90a500c0fc1bf23312a3f6edf437ba991a9a4c7b994fff4282d
4
- data.tar.gz: ec24cf97ec587cf730bb2f63ff4cf0fd5b13ae64364b175041b0b0afd42a4321
3
+ metadata.gz: ccf6b140f15f85229d716db5c0b51db5b88b41172000f89a613bdc09975c61f7
4
+ data.tar.gz: 6a3a14efb4cb1373236a53260cf06b161375346d37097563ef65197862e538a8
5
5
  SHA512:
6
- metadata.gz: c2c05519936ff836d7c99dd16a5363755a6e86731c5d41454adbc0f6a7ada083fd1b636d0f5da3db446225866f095b42c2278100c85d3c10a3a2182100fcf550
7
- data.tar.gz: b2e6da4f298a5c0054997c2c44244e4956044af83af81792937adf7d52716a68b3f8ebf8332f598943b9bad9a37bebf3c6dd4da0eb196ac119cc32455db00e57
6
+ metadata.gz: 8fb2a0c4a4adf9fa72ea8078a6b1001671f2e562ece7b3d74b64ffa39c113b96c280f64a3eacc0233b67c8bc2b6ec160b2867c78e49363100d1cdc7055352516
7
+ data.tar.gz: 48e96e771a2fb4dd8ca03719f923ae2749b6b212577c88c8e72a3e2788d71b1a6a6bda768611509aa2001e129a7a29c833ad99a93433bf954c46552671d40c2b
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [0.4.1] - 2022-02-25
4
+
5
+ - update gem dependencies
6
+ - fix issues when included gem hadn't been previously installed
7
+
3
8
  ## [0.4.0] - 2022-02-24
4
9
 
5
10
  - helper script to run rails app:update
data/Gemfile CHANGED
@@ -7,6 +7,4 @@ gemspec
7
7
 
8
8
  gem "rake", "~> 13.0"
9
9
 
10
- gem "colorize", "~> 0.8"
11
-
12
10
  gem "byebug"
data/Gemfile.lock CHANGED
@@ -1,8 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rails_template_18f (0.4.0)
4
+ rails_template_18f (0.4.1)
5
5
  activesupport (~> 7.0.0)
6
+ colorize (~> 0.8)
6
7
  railties (~> 7.0.0)
7
8
  thor (~> 1.0)
8
9
 
@@ -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
- gem "faraday", "~> 2.2"
34
- gem "faraday-multipart", "~> 1.0"
35
- gem_group :production do
36
- gem "aws-sdk-s3", "~> 1.112"
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\""
@@ -14,7 +14,10 @@ module RailsTemplate18f
14
14
  DESC
15
15
 
16
16
  def install_needed_gems
17
- gem "rspec_junit_formatter", "~> 0.5", group: :test
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 file_content("Gemfile").match?(/gem "climate_control"/)
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 install_helper_gem_and_tasks
20
- return if file_content("Gemfile").match?(/gem "i18n-tasks"/)
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
- Bundler.with_original_env do
25
- in_root do
26
- run "bundle install"
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/"
29
- end
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 file_content("Gemfile").match?(/gem "i18n-js"/)
18
+ return if gem_installed?("i18n-js")
20
19
  gem "i18n-js", "~> 3.9"
21
- Bundler.with_original_env do
22
- in_root do
23
- run "bundle install"
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:
@@ -23,7 +23,9 @@ module RailsTemplate18f
23
23
  end
24
24
 
25
25
  def install_gem
26
+ return if gem_installed?("newrelic_rpm")
26
27
  gem "newrelic_rpm", "~> 8.4"
28
+ bundle_install
27
29
  end
28
30
 
29
31
  def install_config
@@ -13,7 +13,9 @@ 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
17
19
  end
18
20
 
19
21
  def configure_server_runner
@@ -38,7 +40,7 @@ module RailsTemplate18f
38
40
  end
39
41
 
40
42
  def configure_active_job
41
- generate "rails_template18f:cloud_gov_config"
43
+ generate "rails_template18f:cloud_gov_config", inline: true
42
44
  copy_file "config/initializers/redis.rb"
43
45
  application "config.active_job.queue_adapter = :sidekiq"
44
46
  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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RailsTemplate18f
4
- VERSION = "0.4.0"
4
+ VERSION = "0.4.1"
5
5
  end
@@ -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
@@ -191,7 +191,9 @@ copy_file "env", ".env"
191
191
  copy_file "githooks/pre-commit", ".githooks/pre-commit", mode: :preserve
192
192
 
193
193
  unless skip_git?
194
- rails_command "credentials:diff --enroll"
194
+ after_bundle do
195
+ rails_command "credentials:diff --enroll"
196
+ end
195
197
  append_to_file ".gitignore", <<~EOM
196
198
 
197
199
  # Ignore local dotenv overrides
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.0
4
+ version: 0.4.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-02-24 00:00:00.000000000 Z
11
+ date: 2022-02-25 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
@@ -249,7 +263,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
249
263
  - !ruby/object:Gem::Version
250
264
  version: '0'
251
265
  requirements: []
252
- rubygems_version: 3.2.32
266
+ rubygems_version: 3.3.7
253
267
  signing_key:
254
268
  specification_version: 4
255
269
  summary: Generators for creating an 18F-flavored Rails app