Class: String

Inherits:
Object
  • Object
show all
Defined in:
lib/svn-command/svn_command.rb,
lib/svn-command/subversion_extensions.rb

Instance Method Summary collapse

Instance Method Details

#add_exit_code_errorObject



57
58
59
60
# File 'lib/svn-command/svn_command.rb', line 57

def add_exit_code_error
  self << "Exited with error!".bold.red if !$?.success?
  self
end

#colorize_svn_addObject



14
# File 'lib/svn-command/subversion_extensions.rb', line 14

def colorize_svn_add;           self.green.bold; end

#colorize_svn_conflictObject



18
# File 'lib/svn-command/subversion_extensions.rb', line 18

def colorize_svn_conflict;      self.red.bold; end

#colorize_svn_deletedObject



17
# File 'lib/svn-command/subversion_extensions.rb', line 17

def colorize_svn_deleted;       self.magenta.bold; end

#colorize_svn_diffObject



53
54
55
56
57
58
59
60
# File 'lib/svn-command/subversion_extensions.rb', line 53

def colorize_svn_diff
  if Subversion.color
    self.gsub(/^(Index: )(.*)$/) { $2.underline}.
         gsub(/^=+\n/, '') 
  else
    self
  end
end

#colorize_svn_exclamationObject



20
# File 'lib/svn-command/subversion_extensions.rb', line 20

def colorize_svn_exclamation;   self.red.bold; end

#colorize_svn_modifiedObject



15
# File 'lib/svn-command/subversion_extensions.rb', line 15

def colorize_svn_modified;      self.cyan.bold; end

#colorize_svn_question_markObject



13
# File 'lib/svn-command/subversion_extensions.rb', line 13

def colorize_svn_question_mark; self.yellow.bold; end

#colorize_svn_status_codeObject



22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/svn-command/subversion_extensions.rb', line 22

def colorize_svn_status_code
  if Subversion.color
    self.gsub('?') { $&.colorize_svn_question_mark }.
         gsub('A') { $&.colorize_svn_add }.
         gsub('M') { $&.colorize_svn_modified }.
         gsub('D') { $&.colorize_svn_deleted }.
         gsub('C') { $&.colorize_svn_conflict }.
         gsub('~') { $&.colorize_svn_tilde }.
         gsub('!') { $&.colorize_svn_exclamation }
  else
    self
  end
end

#colorize_svn_status_linesObject



35
36
37
38
39
40
41
# File 'lib/svn-command/subversion_extensions.rb', line 35

def colorize_svn_status_lines
  if Subversion.color
    self.gsub(/^ *([^ ])\s/) { $&.colorize_svn_status_code }
  else
    self
  end
end

#colorize_svn_tildeObject



19
# File 'lib/svn-command/subversion_extensions.rb', line 19

def colorize_svn_tilde;         self.red.bold; end

#colorize_svn_update_linesObject



42
43
44
45
46
47
48
49
50
51
52
# File 'lib/svn-command/subversion_extensions.rb', line 42

def colorize_svn_update_lines
  if Subversion.color
    self.gsub(/^ *U\s/)  { $&.colorize_svn_updated }.
         gsub(/^ *A\s/)  { $&.colorize_svn_add }.
         gsub(/^ *M\s/)  { $&.colorize_svn_modified }.
         gsub(/^ *D\s/)  { $&.colorize_svn_deleted }.
         gsub(/^ *C\s/)  { $&.colorize_svn_conflict }
  else
    self
  end
end

#colorize_svn_updatedObject



16
# File 'lib/svn-command/subversion_extensions.rb', line 16

def colorize_svn_updated;       self.yellow.bold; end

Makes the first character bold and underlined. Makes the whole string of the given color. :todo: Move out to extensions/console/menu_item



49
50
51
52
53
54
55
56
# File 'lib/svn-command/svn_command.rb', line 49

def menu_item(color = :white, letter = self[0..0], which_occurence = 0)
  index = index_all(/#{letter}/)[which_occurence]
  raise "Could not find a #{which_occurence}th occurence of '#{letter}' in string '#{self}'" if index.nil?
  before = self[0..index-1].send(color) unless index == 0
  middle = self[index..index].send(color).bold.underline
  after  = self[index+1..-1].send(color)
  before.to_s + middle + after
end

#relativize_pathObject



61
62
63
# File 'lib/svn-command/svn_command.rb', line 61

def relativize_path
  self.gsub(File.expand_path(FileUtils.getwd) + '/', '')   # Simplify the directory by removing the working directory from it, if possible
end