class Nito::Sed
Public Class Methods
new(file, regex, change)
click to toggle source
# File lib/nito/sed.rb, line 5 def initialize(file, regex, change) @file = file @regex = regex @change = change apply end
Public Instance Methods
apply()
click to toggle source
# File lib/nito/sed.rb, line 12 def apply raise ArgumentError "No file #{@file} exist" if ! File.exist? @file tmp = Tempfile.new('sed') File.open(@file).each { |l| if l.match(@regex) File.write(tmp, "#{@change}\n", mode: 'a') else File.write(tmp, l, mode: 'a') end } Nito::Cp.new(tmp.path, @file) end