Module: LineContaining
- Defined in:
- lib/line_containing.rb,
lib/line_containing/version.rb
Constant Summary collapse
- VERSION =
'0.1.2'.freeze
Class Method Summary collapse
- .add_after(str_orig, str_add, path) ⇒ Object
- .add_before(str_orig, str_add, path) ⇒ Object
- .delete(str_orig, path) ⇒ Object
- .delete_between(str1, str2, path) ⇒ Object
- .delete_between_plus(str1, str2, path) ⇒ Object
- .replace(str_orig, str_new, path) ⇒ Object
Class Method Details
.add_after(str_orig, str_add, path) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/line_containing.rb', line 18 def self.add_after(str_orig, str_add, path) path_old = path path_new = "#{path_old}.new" file_w = File.open(path_new, 'w') File.readlines(path_old).each do |line| file_w.write(line) if line.include? str_orig file_w.write("\n") if line[-1] != "\n" file_w.write("#{str_add}\n") end end file_w.close system("rm #{path_old}") system("mv #{path_new} #{path_old}") end |
.add_before(str_orig, str_add, path) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 |
# File 'lib/line_containing.rb', line 5 def self.add_before(str_orig, str_add, path) path_old = path path_new = "#{path_old}.new" file_w = File.open(path_new, 'w') File.readlines(path_old).each do |line| file_w.write("#{str_add}\n") if line.include? str_orig file_w.write(line) end file_w.close system("rm #{path_old}") system("mv #{path_new} #{path_old}") end |
.delete(str_orig, path) ⇒ Object
50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/line_containing.rb', line 50 def self.delete(str_orig, path) path_old = path path_new = "#{path_old}.new" file_w = File.open(path_new, 'w') File.readlines(path_old).each do |line| if line.include? str_orig # Print NOTHING else file_w.write(line) end end file_w.close system("rm #{path_old}") system("mv #{path_new} #{path_old}") end |
.delete_between(str1, str2, path) ⇒ Object
66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
# File 'lib/line_containing.rb', line 66 def self.delete_between(str1, str2, path) path_old = path path_new = "#{path_old}.new" file_w = File.open(path_new, 'w') to_delete = false File.readlines(path_old).each do |line| if line.include? str1 file_w.write(line) to_delete = true elsif line.include? str2 file_w.write(line) to_delete = false elsif to_delete == false file_w.write(line) end end file_w.close system("rm #{path_old}") system("mv #{path_new} #{path_old}") end |
.delete_between_plus(str1, str2, path) ⇒ Object
87 88 89 90 91 |
# File 'lib/line_containing.rb', line 87 def self.delete_between_plus(str1, str2, path) delete_between(str1, str2, path) delete(str1, path) delete(str2, path) end |
.replace(str_orig, str_new, path) ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/line_containing.rb', line 34 def self.replace(str_orig, str_new, path) path_old = path path_new = "#{path_old}.new" file_w = File.open(path_new, 'w') File.readlines(path_old).each do |line| if line.include? str_orig file_w.write("#{str_new}\n") else file_w.write(line) end end file_w.close system("rm #{path_old}") system("mv #{path_new} #{path_old}") end |