class File
Changes since 0.1:
-
Using the built-in class-method now.
Changes:
-
/File.gsubX/File/self.gsubX/.
Public Class Methods
gsub!(filename, replacement_pattern, replacement_text, selection_pattern = nil)
click to toggle source
# File lib/File/self.gsubX.rb, line 17 def self.gsub!(filename, replacement_pattern, replacement_text, selection_pattern = nil) replacement_pattern = ( case replacement_pattern when String; Regexp.new(Regexp.escape(replacement_pattern)) when Regexp; replacement_pattern else; raise end ) selection_pattern = replacement_pattern unless selection_pattern selection_pattern = ( case selection_pattern when String; Regexp.new(Regexp.escape(selection_pattern)) when Regexp; selection_pattern else; raise end ) file_handle = self.open(filename, 'r') tmp_file_handle = self.new(filename + '.tmp', 'w') modified = false file_handle.each do |line| if line =~ Regexp.new(selection_pattern) tmp_file_handle.print line.gsub(Regexp.new(replacement_pattern), replacement_text) modified = true else tmp_file_handle.print line end end file_handle.close tmp_file_handle.close if modified self.delete(filename) self.rename(filename + '.tmp', filename) else self.delete(filename + '.tmp') end end
Public Instance Methods
basename_without_extname()
click to toggle source
# File lib/File/basename_without_extname.rb, line 13 def basename_without_extname File.basename(path, extname) end
extname()
click to toggle source
# File lib/File/extname.rb, line 14 def extname File.extname(path) end