Class: LazyRotator::File::Undetermined

Inherits:
Object
  • Object
show all
Defined in:
lib/lazy_rotator/file/undetermined.rb

Overview

The placeholder for a file before determining the correct action as part of the current rotation process

Direct Known Subclasses

Delete, Ignore, Rename, Touch

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(file_name) ⇒ Undetermined

Returns a new instance of Undetermined.



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

def initialize(file_name)
  @file_name = file_name.to_s
end

Instance Attribute Details

#file_nameObject (readonly)

Returns the value of attribute file_name.



8
9
10
# File 'lib/lazy_rotator/file/undetermined.rb', line 8

def file_name
  @file_name
end

Class Method Details

.file_number(file_name) ⇒ Object



36
37
38
# File 'lib/lazy_rotator/file/undetermined.rb', line 36

def self.file_number(file_name)
  file_name.to_s.split('.').last.to_i
end

Instance Method Details

#<=>(other) ⇒ Object



30
31
32
33
34
# File 'lib/lazy_rotator/file/undetermined.rb', line 30

def <=>(other)
  return number <=> other.number unless number == other.number

  file_name <=> other.file_name
end

#==(other) ⇒ Object



20
21
22
23
24
25
26
27
28
# File 'lib/lazy_rotator/file/undetermined.rb', line 20

def ==(other)
  return false if self.class.name != other.class.name
  return false if number != other.number
  return false if file_name != other.file_name
  return true unless respond_to?(:new_number)
  return false if new_number != other.new_number

  true
end

#numberObject



14
15
16
# File 'lib/lazy_rotator/file/undetermined.rb', line 14

def number
  @number ||= self.class.file_number(file_name)
end

#processObject



18
# File 'lib/lazy_rotator/file/undetermined.rb', line 18

def process; end