Class: Doh::FileEdit
Instance Method Summary collapse
- #delete(numlines = 1) ⇒ Object
- #gsub(regexp, replacement) ⇒ Object
-
#initialize(filename, &block) ⇒ FileEdit
constructor
A new instance of FileEdit.
- #insert(*lines) ⇒ Object
- #move_after(regexp) ⇒ Object
- #move_before(regexp) ⇒ Object
- #save ⇒ Object
Constructor Details
#initialize(filename, &block) ⇒ FileEdit
Returns a new instance of FileEdit.
9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/doh/util/file_edit.rb', line 9 def initialize(filename, &block) @filename = filename @file = File.new(filename, 'r').to_a @file.each_with_index do |line, index| @file[index] = @file[index][0..-2] end @index = 0 if block yield(self) save end end |
Instance Method Details
#delete(numlines = 1) ⇒ Object
49 50 51 52 53 |
# File 'lib/doh/util/file_edit.rb', line 49 def delete(numlines = 1) numlines.times do @file.delete_at(@index) end end |
#gsub(regexp, replacement) ⇒ Object
43 44 45 46 47 |
# File 'lib/doh/util/file_edit.rb', line 43 def gsub(regexp, replacement) @file.each_with_index do |line, index| @file[index] = line.gsub(regexp, replacement) end end |
#insert(*lines) ⇒ Object
36 37 38 39 40 41 |
# File 'lib/doh/util/file_edit.rb', line 36 def insert(*lines) lines.each do |line| @file.insert(@index, line) @index += 1 end end |
#move_after(regexp) ⇒ Object
23 24 25 26 27 28 29 |
# File 'lib/doh/util/file_edit.rb', line 23 def move_after(regexp) @file.each_with_index do |line, index| if line =~ regexp @index = index + 1 end end end |
#move_before(regexp) ⇒ Object
31 32 33 34 |
# File 'lib/doh/util/file_edit.rb', line 31 def move_before(regexp) move_after(regexp) @index -= 1 end |
#save ⇒ Object
55 56 57 58 59 60 61 |
# File 'lib/doh/util/file_edit.rb', line 55 def save outf = File.open(@filename, 'w+') @file.each do |line| outf << line << "\n" end outf.close end |