class GitEraser::Eraser
Public Instance Methods
delete_local_after_origin(branches)
click to toggle source
# File lib/git_eraser.rb, line 173 def delete_local_after_origin(branches) current_directory = Dir.pwd begin g = Git.open("#{current_directory}") g.branches.local.each do |local_branch| # puts "Local: #{local_branch}" branches.each do |value| # puts "coming: #{value}" if local_branch.to_s == value local_branch.delete end end end rescue end end
erase()
click to toggle source
# File lib/git_eraser.rb, line 17 def erase erase_local if options[:local] erase_origin if options[:origin] Helper.new.print_no_flag_error_message if options.empty? end
erase_local()
click to toggle source
# File lib/git_eraser.rb, line 79 def erase_local current_directory = Dir.pwd Helper.new.print_cleanup_message begin g = Git.open("#{current_directory}") g.branches.local.each_with_index do |local_branch, index| puts " ๐งน #{index + 1}. #{local_branch}" end puts "\n" inputStream = HighLine.new should_delete_branches = inputStream.agree("Delete these branches? (y/n) ") if should_delete_branches == true puts "\n" g.checkout('master') g.branches.local.each_with_index do |local_branch, index| begin if g.branch('master').contains?(local_branch) local_branch.delete puts " #{index + 1}. '#{local_branch}' Removed โ " else puts " #{index + 1}. '#{local_branch}' Not merged into 'master' โ" end rescue puts " #{index + 1}. Can't remove '#{local_branch}' โ" end end puts "\n#{Rainbow("All local branches that merged to master had been deleted successfuly").underline.bright.green} ๐๐" end puts "\n" rescue Helper.new.print_no_git_error_message end end
erase_origin()
click to toggle source
# File lib/git_eraser.rb, line 119 def erase_origin current_directory = Dir.pwd Helper.new.print_cleanup_message begin g = Git.open("#{current_directory}") g.branches.remote.each_with_index do |origin_branch, index| puts " ๐งน #{index + 1}. #{origin_branch}" end puts "\n" inputStream = HighLine.new should_delete_branches = inputStream.agree("Delete these branches? (y/n) ") if should_delete_branches == true puts "\n" Whirly.start do Whirly.status = "Deleting Origin Branches..." g.checkout('master') g.pull('origin', 'master') array_of_remote_deleted_branches = [] g.branches.remote.each_with_index do |origin_branch, index| begin branch_string = origin_branch.to_s branch_string['remotes/origin/'] = '' g.checkout(branch_string) if g.branch('master').contains?(branch_string) && branch_string != 'master' system "git push -u origin --delete #{branch_string} -q" puts " #{index + 1}. '#{origin_branch}' Removed โ " array_of_remote_deleted_branches.append(branch_string) elsif branch_string == 'master' puts " #{index + 1}. '#{origin_branch}' Can't remove 'master' branch โ" else puts " #{index + 1}. '#{origin_branch}' Not merged into 'master' โ" end rescue puts " #{index + 1}. Can't remove '#{origin_branch}' โ" end end g.checkout('master') delete_local_after_origin(array_of_remote_deleted_branches) puts "\n#{Rainbow("All origin branches that merged to master had been deleted successfuly").underline.bright.green} ๐๐" end end puts "\n" rescue Helper.new.print_no_git_error_message end end
preview()
click to toggle source
# File lib/git_eraser.rb, line 26 def preview preview_local if options[:local] preview_origin if options[:origin] Helper.new.print_no_flag_error_message if options.empty? end
preview_local()
click to toggle source
# File lib/git_eraser.rb, line 33 def preview_local Git.configure do |config| # If you want to use a custom git binary config.binary_path = "/usr/bin/git" end current_directory = Dir.pwd Helper.new.print_preview_message('local') begin g = Git.open("#{current_directory}") g.branches.local.each_with_index do |local_branch, index| puts " ๐งน #{index + 1}. #{local_branch}" end puts "\n" rescue Helper.new.print_no_git_error_message end end
preview_origin()
click to toggle source
# File lib/git_eraser.rb, line 56 def preview_origin Git.configure do |config| # If you want to use a custom git binary config.binary_path = "/usr/bin/git" end current_directory = Dir.pwd Helper.new.print_preview_message('origin') begin g = Git.open("#{current_directory}") g.branches.remote.each_with_index do |origin_branch, index| puts " ๐งน #{index + 1}. #{origin_branch}" end puts "\n" rescue Helper.new.print_no_git_error_message end end