class SecretHub::Commands::Bulk
Public Instance Methods
clean_command()
click to toggle source
# File lib/secret_hub/commands/bulk.rb, line 80 def clean_command dry = args['--dry'] config.each do |repo, secrets| say "!txtblu!#{repo}" clean_repo repo, secrets.keys, dry end say "\nDry run, nothing happened" if dry end
init_command()
click to toggle source
# File lib/secret_hub/commands/bulk.rb, line 39 def init_command raise SecretHubError, "File #{config_file} already exists" if File.exist? config_file FileUtils.cp config_template, config_file say "!txtgrn!Saved #{config_file}" end
list_command()
click to toggle source
# File lib/secret_hub/commands/bulk.rb, line 54 def list_command config.each_repo do |repo| say "!txtblu!#{repo}:" github.secrets(repo).each do |secret| say "- !txtpur!#{secret}" end end end
save_command()
click to toggle source
# File lib/secret_hub/commands/bulk.rb, line 63 def save_command dry = args['--dry'] only = args['--only'] skipped = 0 config.each do |repo, secrets| next if only and repo != only say "!txtblu!#{repo}" skipped += update_repo repo, secrets, dry clean_repo repo, secrets.keys, dry if args['--clean'] end puts "\n" if skipped > 0 or dry say "Skipped #{skipped} missing secrets" if skipped > 0 say "Dry run, nothing happened" if dry end
show_command()
click to toggle source
# File lib/secret_hub/commands/bulk.rb, line 45 def show_command config.each do |repo, secrets| say "!txtblu!#{repo}:" secrets.each do |key, value| show_secret key, value, args['--visible'] end end end
Private Instance Methods
clean_repo(repo, keys, dry)
click to toggle source
# File lib/secret_hub/commands/bulk.rb, line 93 def clean_repo(repo, keys, dry) repo_keys = github.secrets repo delete_candidates = repo_keys - keys delete_candidates.each do |key| say "delete !txtpur!#{key} " github.delete_secret repo, key unless dry say "!txtgrn!OK" end end
config()
click to toggle source
# File lib/secret_hub/commands/bulk.rb, line 134 def config @config ||= Config.load config_file end
config_file()
click to toggle source
# File lib/secret_hub/commands/bulk.rb, line 130 def config_file args['CONFIG'] || 'secrethub.yml' end
config_template()
click to toggle source
# File lib/secret_hub/commands/bulk.rb, line 138 def config_template File.expand_path '../config-template.yml', __dir__ end
show_secret(key, value, visible)
click to toggle source
# File lib/secret_hub/commands/bulk.rb, line 121 def show_secret(key, value, visible) if value value = value.obfuscate unless visible say " !txtpur!#{key}: !txtcyn!#{value}" else say " !txtpur!#{key}: !txtred!*MISSING*" end end
update_repo(repo, secrets, dry)
click to toggle source
# File lib/secret_hub/commands/bulk.rb, line 104 def update_repo(repo, secrets, dry) skipped = 0 secrets.each do |key, value| say "save !txtpur!#{key} " if value github.put_secret repo, key, value unless dry say "!txtgrn!OK" else say "!txtred!MISSING" skipped += 1 end end skipped end