Class: P4Tools::ShelveValidator
- Inherits:
-
Object
- Object
- P4Tools::ShelveValidator
- Defined in:
- lib/p4tools/utils/validators/shelve_validator.rb
Instance Method Summary collapse
- #edited?(file) ⇒ Boolean
- #find_diff_files ⇒ Boolean
- #find_not_shelved_files ⇒ Object
- #find_unshelved_files(files, check_diff) ⇒ Array<String>
Instance Method Details
#edited?(file) ⇒ Boolean
50 51 52 |
# File 'lib/p4tools/utils/validators/shelve_validator.rb', line 50 def edited?(file) file['action'].include?('edit') end |
#find_diff_files ⇒ Boolean
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/p4tools/utils/validators/shelve_validator.rb', line 28 def find_diff_files return [] unless @check_diff diff_files = [] shelve_revisions = [] files_to_check = @opened_files & @shelved_files unless files_to_check.empty? @p4.run_opened(*files_to_check).each { |file| if edited?(file) shelve_revisions.push("#{file['depotFile']}@=#{@cl}") end } unless shelve_revisions.empty? diff_files = @p4.run_diff('-f', '-se', *shelve_revisions).collect { |d| d['depotFile'] } end end diff_files end |
#find_not_shelved_files ⇒ Object
23 24 25 |
# File 'lib/p4tools/utils/validators/shelve_validator.rb', line 23 def find_not_shelved_files @opened_files - @shelved_files end |
#find_unshelved_files(files, check_diff) ⇒ Array<String>
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/p4tools/utils/validators/shelve_validator.rb', line 5 def find_unshelved_files(files, check_diff) return false if files.nil? @opened_files = files @check_diff = check_diff @p4 = P4Tools.connection @cl = CommandUtils.pending_changelist_for_file(@opened_files[0]) @shelved_files = CommandUtils.shelved_files(@cl) if @shelved_files.nil? return files end unshelved_files = find_not_shelved_files unshelved_files + find_diff_files end |