Module: P4Tools::CommandUtils

Defined in:
lib/p4tools/utils/command_utils.rb

Class Method Summary collapse

Class Method Details

.changelist_shelved?(changelist, check_diff = true) ⇒ Boolean

Parameters:

  • changelist (Integer)
  • check_diff (Boolean) (defaults to: true)

Returns:

  • (Boolean)


16
17
18
19
# File 'lib/p4tools/utils/command_utils.rb', line 16

def self.changelist_shelved?(changelist, check_diff=true)
  files = opened_files(changelist)
  ShelveValidator.new.find_unshelved_files(files, check_diff).empty?
end

.create_new_changelist(description = 'Created with P4Tools.') ⇒ String

The number of the new changelist

Parameters:

  • description (String) (defaults to: 'Created with P4Tools.')

Returns:

  • (String)


68
69
70
71
72
73
74
75
76
77
78
# File 'lib/p4tools/utils/command_utils.rb', line 68

def self.create_new_changelist(description='Created with P4Tools.')
  p4 = P4Tools.connection

  p4.input = {
      'Change' => 'new',
      'Description' => description,
  }

  confirmation = p4.run_change('-i').first
  confirmation.match(/\d+/)[0]
end

.empty_changelist?(changelist) ⇒ Boolean

Parameters:

  • changelist (Integer)

Returns:

  • (Boolean)


38
39
40
41
42
# File 'lib/p4tools/utils/command_utils.rb', line 38

def self.empty_changelist?(changelist)
  p4 = P4Tools.connection
  opened_files = p4.run_describe('-s', changelist).first['depotFile']
  opened_files.nil?
end

.files_shelved?(files, check_diff = true) ⇒ Boolean

Parameters:

  • files (Array<String>)
  • check_diff (Boolean) (defaults to: true)

Returns:

  • (Boolean)


9
10
11
# File 'lib/p4tools/utils/command_utils.rb', line 9

def self.files_shelved?(files, check_diff=true)
  ShelveValidator.new.find_unshelved_files(files, check_diff).empty?
end

.opened_files(changelist) ⇒ Array<String>

Parameters:

  • changelist (Integer)

Returns:

  • (Array<String>)


60
61
62
63
# File 'lib/p4tools/utils/command_utils.rb', line 60

def self.opened_files(changelist)
  p4 = P4Tools.connection
  p4.run_describe('-s', changelist).first['depotFile']
end

.pending_changelist_for_file(file) ⇒ Integer

Parameters:

  • file (String)

Returns:

  • (Integer)


46
47
48
49
# File 'lib/p4tools/utils/command_utils.rb', line 46

def self.pending_changelist_for_file(file)
  p4 = P4Tools.connection
  p4.run_opened(file).first['change']
end

.shelved_files(changelist) ⇒ Array<String>

Parameters:

  • changelist (Integer)

Returns:

  • (Array<String>)


53
54
55
56
# File 'lib/p4tools/utils/command_utils.rb', line 53

def self.shelved_files(changelist)
  p4 = P4Tools.connection
  p4.run_describe('-s', '-S', changelist).first['depotFile']
end

.unshelved_files(files, check_diff = true) ⇒ Array<String>

Parameters:

  • files (Array<String>)
  • check_diff (Boolean) (defaults to: true)

Returns:

  • (Array<String>)


24
25
26
# File 'lib/p4tools/utils/command_utils.rb', line 24

def self.unshelved_files(files, check_diff=true)
  ShelveValidator.new.find_unshelved_files(files, check_diff)
end

.unshelved_files_in_changelist(changelist, check_diff = true) ⇒ Array<String>

Parameters:

  • changelist (Integer)
  • check_diff (Boolean) (defaults to: true)

Returns:

  • (Array<String>)


31
32
33
34
# File 'lib/p4tools/utils/command_utils.rb', line 31

def self.unshelved_files_in_changelist(changelist, check_diff=true)
  files = opened_files(changelist)
  ShelveValidator.new.find_unshelved_files(files, check_diff)
end