Class: String
- Defined in:
- lib/subwrap/svn_command.rb,
lib/subwrap/subversion_extensions.rb
Instance Method Summary collapse
-
#add_exit_code_error ⇒ Object
Extracted so that we can override it for tests.
- #colorize_svn_add ⇒ Object
- #colorize_svn_conflict ⇒ Object
- #colorize_svn_deleted ⇒ Object
- #colorize_svn_diff ⇒ Object
- #colorize_svn_exclamation ⇒ Object
- #colorize_svn_modified ⇒ Object
- #colorize_svn_question_mark ⇒ Object
- #colorize_svn_status_code ⇒ Object
- #colorize_svn_status_lines ⇒ Object
- #colorize_svn_tilde ⇒ Object
- #colorize_svn_update_lines ⇒ Object
- #colorize_svn_updated ⇒ Object
- #highlight_occurences(search_pattern, color = :red) ⇒ Object
-
#menu_item(color = :white, letter = , which_occurence = 0) ⇒ Object
Makes the first character bold and underlined.
- #relativize_path ⇒ Object
Instance Method Details
#add_exit_code_error ⇒ Object
Extracted so that we can override it for tests. Otherwise it will have a NoMethodError because $? will be nil because it will not have actually executed any commands.
123 124 125 126 |
# File 'lib/subwrap/svn_command.rb', line 123 def add_exit_code_error self << "Exited with error!".bold.red if !exit_code.success? self end |
#colorize_svn_add ⇒ Object
20 |
# File 'lib/subwrap/subversion_extensions.rb', line 20 def colorize_svn_add; self.green.bold; end |
#colorize_svn_conflict ⇒ Object
24 |
# File 'lib/subwrap/subversion_extensions.rb', line 24 def colorize_svn_conflict; self.red.bold; end |
#colorize_svn_deleted ⇒ Object
23 |
# File 'lib/subwrap/subversion_extensions.rb', line 23 def colorize_svn_deleted; self.magenta.bold; end |
#colorize_svn_diff ⇒ Object
59 60 61 62 63 64 65 66 |
# File 'lib/subwrap/subversion_extensions.rb', line 59 def colorize_svn_diff if Subversion.color self.gsub(/^(Index: )(.*)$/) { $2.ljust(100).black_on_white}. # gsub(/^=+\n/, '') # Get rid of the boring ========= lines else self end end |
#colorize_svn_exclamation ⇒ Object
26 |
# File 'lib/subwrap/subversion_extensions.rb', line 26 def colorize_svn_exclamation; self.red.bold; end |
#colorize_svn_modified ⇒ Object
21 |
# File 'lib/subwrap/subversion_extensions.rb', line 21 def colorize_svn_modified; self.cyan.bold; end |
#colorize_svn_question_mark ⇒ Object
19 |
# File 'lib/subwrap/subversion_extensions.rb', line 19 def colorize_svn_question_mark; self.yellow.bold; end |
#colorize_svn_status_code ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/subwrap/subversion_extensions.rb', line 28 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_lines ⇒ Object
41 42 43 44 45 46 47 |
# File 'lib/subwrap/subversion_extensions.rb', line 41 def colorize_svn_status_lines if Subversion.color self.gsub(/^ *([^ ])\s/) { $&.colorize_svn_status_code } else self end end |
#colorize_svn_tilde ⇒ Object
25 |
# File 'lib/subwrap/subversion_extensions.rb', line 25 def colorize_svn_tilde; self.red.bold; end |
#colorize_svn_update_lines ⇒ Object
48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/subwrap/subversion_extensions.rb', line 48 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_updated ⇒ Object
22 |
# File 'lib/subwrap/subversion_extensions.rb', line 22 def colorize_svn_updated; self.yellow.bold; end |
#highlight_occurences(search_pattern, color = :red) ⇒ Object
130 131 132 |
# File 'lib/subwrap/svn_command.rb', line 130 def highlight_occurences(search_pattern, color = :red) self.gsub(search_pattern) { $&.send(color).bold } end |
#menu_item(color = :white, letter = , which_occurence = 0) ⇒ Object
Makes the first character bold and underlined. Makes the whole string of the given color. :todo: Move out to extensions/console/menu_item
114 115 116 117 118 119 120 121 |
# File 'lib/subwrap/svn_command.rb', line 114 def (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_path ⇒ Object
127 128 129 |
# File 'lib/subwrap/svn_command.rb', line 127 def relativize_path self.gsub(File.(FileUtils.getwd) + '/', '') # Simplify the directory by removing the working directory from it, if possible end |