class VimRename::FileData

Attributes

basename[RW]
extension[RW]
name[RW]

Public Class Methods

new(name, skip_extension = true) click to toggle source
# File lib/vim_rename/file_data.rb, line 5
def initialize(name, skip_extension = true)
  self.name = name
  self.basename = if skip_extension
                     m = name.match(/(?<extension>\.([^.]*)|\.tar\.gz|\.tar\.bz2|\.svg\.gz|\.tar\.xz)$/)
                     self.extension = m[:extension] if m
                     name.gsub(/#{extension}$/, '')
                   else
                     name
                   end
end

Public Instance Methods

changed?() click to toggle source
# File lib/vim_rename/file_data.rb, line 24
def changed?
  full_name != name
end
full_name() click to toggle source
# File lib/vim_rename/file_data.rb, line 20
def full_name
  "#{basename}#{extension}"
end
rename!() click to toggle source
# File lib/vim_rename/file_data.rb, line 28
def rename!
  FileUtils.mv name, full_name
end
update(new_name) click to toggle source
# File lib/vim_rename/file_data.rb, line 16
def update(new_name)
  self.basename = new_name
end