class FileLoaders::Adapters::File

Public Class Methods

new(extensions, settings) click to toggle source
Calls superclass method FileLoaders::Adapters::Base::new
# File lib/file_loaders/adapters/file.rb, line 4
def initialize(extensions, settings)
  super

  @processed_dir = settings.processed_dir
  @source_dir = settings.source_dir

  raise(
    ArgumentError, "Source reports directory #{@source_dir} does not exists"
  ) unless Dir.exist?(@source_dir)

  raise(
    ArgumentError,
    "Processed reports directory #{@processed_dir} does not exists"
  ) unless Dir.exist?(@processed_dir)
end

Public Instance Methods

each() { |entry, entry| ... } click to toggle source
# File lib/file_loaders/adapters/file.rb, line 20
def each
  Dir[*paths].entries.each do |entry|
    basename = ::File.basename(entry)

    if yield(entry, entry)
      processed_path = "#{@processed_dir}/#{basename}"
      FileUtils.mv entry, processed_path
    end
  end
end

Private Instance Methods

paths() click to toggle source
# File lib/file_loaders/adapters/file.rb, line 33
def paths
  patterns.map { |pattern| ::File.join(@source_dir, pattern) }
end