Skip to content

Commit ee08a9b

Browse files
authored
Only add gitignore entry once (#97)
1 parent 901fbed commit ee08a9b

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

lib/diffcrypt/tasks/rails.rake

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# frozen_string_literal: true
22

3+
# rubocop:disable Metrics/BlockLength
34
namespace :diffcrypt do
45
desc 'Initialize credentials for all environments'
56
task :init, %i[environments] do |_t, args|
@@ -11,7 +12,6 @@ namespace :diffcrypt do
1112
environments.each do |environment|
1213
key_path = Rails.root.join('config', 'credentials', "#{environment}.key")
1314
file_path = Rails.root.join('config', 'credentials', "#{environment}.yml.enc")
14-
gitignore_path = Rails.root.join('.gitignore')
1515
next if File.exist?(file_path) || File.exist?(key_path)
1616

1717
# Generate a new key
@@ -26,11 +26,15 @@ namespace :diffcrypt do
2626
'secret_key_base' => SecureRandom.hex(32),
2727
}
2828
file.write(key, data)
29+
end
2930

30-
# Ensure .key files are always ignored
31+
# Ensure .key files are always ignored
32+
gitignore_path = Rails.root.join('.gitignore')
33+
unless File.read(gitignore_path).include?('config/credentials/*.key')
3134
::File.open(gitignore_path, 'a') do |f|
3235
f.write("\nconfig/credentials/*.key")
3336
end
3437
end
3538
end
3639
end
40+
# rubocop:enable Metrics/BlockLength

0 commit comments

Comments
 (0)