Class: LazyRotator::File::Rename

Inherits:
Undetermined show all
Defined in:
lib/lazy_rotator/file/rename.rb

Overview

Moves a file along in the rotation (assuming it should still be kept)

Instance Attribute Summary collapse

Attributes inherited from Undetermined

#file_name

Instance Method Summary collapse

Methods inherited from Undetermined

#<=>, #==, file_number, #number

Constructor Details

#initialize(file_name, new_number) ⇒ Rename

Returns a new instance of Rename.



9
10
11
12
# File 'lib/lazy_rotator/file/rename.rb', line 9

def initialize(file_name, new_number)
  @new_number = new_number
  super(file_name)
end

Instance Attribute Details

#new_numberObject (readonly)

Returns the value of attribute new_number.



7
8
9
# File 'lib/lazy_rotator/file/rename.rb', line 7

def new_number
  @new_number
end

Instance Method Details

#file_name_without_numberObject



14
15
16
17
18
19
# File 'lib/lazy_rotator/file/rename.rb', line 14

def file_name_without_number
  @file_name_without_number ||= begin
    m = Regexp.new("^(.+)\\.#{number}$").match(::File.basename(file_name))
    m ? ::File.join(::File.dirname(file_name), m[1]) : file_name
  end
end

#new_file_nameObject



21
22
23
# File 'lib/lazy_rotator/file/rename.rb', line 21

def new_file_name
  "#{file_name_without_number}.#{new_number}"
end

#processObject



25
26
27
# File 'lib/lazy_rotator/file/rename.rb', line 25

def process
  ::File.rename(file_name, new_file_name)
end