26 lines
650 B
Ruby
Executable File
26 lines
650 B
Ruby
Executable File
#!/usr/bin/env ruby
|
|
# frozen_string_literal: true
|
|
|
|
# give a replacement version of a file replacing found UUIDs,
|
|
# preserving multiple instances that might indicate relations
|
|
|
|
require 'active_support/all'
|
|
require 'pry'
|
|
|
|
file_path = $ARGV.first
|
|
|
|
abort 'Specify the file to replace' unless file_path.present?
|
|
|
|
matcher = /[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}/
|
|
content = File.read(file_path)
|
|
|
|
puts '==== Old content ===='
|
|
puts content
|
|
puts "--------------------------\n\n"
|
|
uuids = content.scan(matcher).uniq
|
|
uuids.each do |uuid|
|
|
content.gsub! uuid, SecureRandom.uuid
|
|
end
|
|
puts '==== New content ===='
|
|
puts content
|