Class: EhbrsRubyUtils::Music::Sort::Files::Factory

Inherits:
Object
  • Object
show all
Defined in:
lib/ehbrs_ruby_utils/music/sort/files/factory.rb

Constant Summary collapse

SECTION_CURRENT =
'A'
SECTION_NEW =
'Z'
SECTIONS =
[SECTION_CURRENT, SECTION_NEW].freeze
NO_ORDER =
Float::INFINITY

Instance Method Summary collapse

Instance Method Details

#basenameObject



16
17
18
# File 'lib/ehbrs_ruby_utils/music/sort/files/factory.rb', line 16

def basename
  by_pattern(3).if_present(path.basename.to_path)
end

#buildObject



20
21
22
# File 'lib/ehbrs_ruby_utils/music/sort/files/factory.rb', line 20

def build
  ::EhbrsRubyUtils::Music::Sort::Files::Base.new(section, order, basename, path)
end

#orderObject



24
25
26
# File 'lib/ehbrs_ruby_utils/music/sort/files/factory.rb', line 24

def order
  order_from_config_data || by_pattern(2).if_present(NO_ORDER, &:to_i)
end

#sectionObject



28
29
30
31
32
33
# File 'lib/ehbrs_ruby_utils/music/sort/files/factory.rb', line 28

def section
  r = section_from_config_data || by_pattern(1).if_present(SECTION_NEW)
  return SECTION_CURRENT if r.blank? || r.upcase == SECTION_CURRENT

  SECTION_NEW
end