class GiteePack::Diff
Constants
- IGNORE_FILES
Attributes
asset_files[R]
cp_files[R]
delete_files[R]
empty_folders[R]
gem_files[R]
webpack_files[R]
Public Class Methods
new(base, head)
click to toggle source
# File lib/gitee_pack/diff.rb, line 13 def initialize(base, head) @base = base @head = head @empty_folders = [] @delete_files = [] @cp_files = [] @webpack_files = [] @asset_files = [] @gem_files = [] init_list_by_files end
Public Instance Methods
diff_files()
click to toggle source
# File lib/gitee_pack/diff.rb, line 26 def diff_files result = `git diff #{@base} #{@head} --name-only` raise CmdError, 'cmd error' if result.empty? result.split("\n") end
diff_files_with_status()
click to toggle source
# File lib/gitee_pack/diff.rb, line 33 def diff_files_with_status result = `git diff #{@base} #{@head} --name-status` raise CmdError, 'cmd error' if result.empty? result.split("\n") end
has_asset_file?()
click to toggle source
# File lib/gitee_pack/diff.rb, line 44 def has_asset_file? !asset_files.empty? end
has_gem_file?()
click to toggle source
# File lib/gitee_pack/diff.rb, line 48 def has_gem_file? !gem_files.empty? end
has_webpack_file?()
click to toggle source
# File lib/gitee_pack/diff.rb, line 40 def has_webpack_file? !webpack_files.empty? end
Private Instance Methods
init_delete_files()
click to toggle source
# File lib/gitee_pack/diff.rb, line 59 def init_delete_files @delete_files = diff_files_with_status.map do |file| file.sub("D\t", '') if file.start_with?('D') end.compact end
init_empty_folders_and_cp_files()
click to toggle source
# File lib/gitee_pack/diff.rb, line 65 def init_empty_folders_and_cp_files diff_files.each do |file| next if IGNORE_FILES.include?(file) if file.start_with?('app/assets/javascripts/webpack') @webpack_files << file elsif file.start_with?('app/assets') @asset_files << file elsif file.start_with?('Gemfile') @gem_files << file end if Dir.exist?(file) @empty_folders << file next end next unless File.exist?(file) @cp_files << file end end
init_list_by_files()
click to toggle source
# File lib/gitee_pack/diff.rb, line 54 def init_list_by_files init_empty_folders_and_cp_files init_delete_files end