Sha256: 2da25d6dfcbb34482a2f898d76ab27f26e991e6280b6e7a6ed751e344bdb76e0
Contents?: true
Size: 1.57 KB
Versions: 3
Compression:
Stored size: 1.57 KB
Contents
# frozen_string_literal: true require 'backup/remove_specified/remove_with_all_dependencies' require 'backup/remove_specified/remove_heavy_data' class Backup class RemoveSpecified include RemoveHeavyData include RemoveWithAllDependencies attr_reader :config def initialize(config, dry_run_reporter=nil) @config = config @dry_run_reporter = dry_run_reporter end def dry_run_report @dry_run_reporter.report end def run(args={}) user_id = args[:user_id] || @config.user_id repo_id = args[:repo_id] || @config.repo_id org_id = args[:org_id] || @config.org_id if user_id process_user(user_id) elsif org_id process_organization(org_id) elsif repo_id process_repo_with_id(repo_id) else process_all_repos end end def process_user(user_id) if @config.threshold remove_heavy_data_for_repos_owned_by(user_id, 'User') else remove_user_with_dependencies(user_id) end end def process_organization(org_id) if @config.threshold remove_heavy_data_for_repos_owned_by(org_id, 'Organization') else remove_org_with_dependencies(org_id) end end def process_repo_with_id(repo_id) if @config.threshold remove_heavy_data_for_repo(Repository.find(repo_id)) else remove_repo_with_dependencies(repo_id) end end def process_all_repos Repository.order(:id).each do |repository| remove_heavy_data_for_repo(repository) end end end end
Version data entries
3 entries across 3 versions & 2 rubygems
Version | Path |
---|---|
travis-backup-for-v3-0.1.1 | lib/backup/remove_specified.rb |
travis-backup-for-v3-0.1.0 | lib/backup/remove_specified.rb |
travis-backup-0.3.0 | lib/backup/remove_specified.rb |