class Wicoris::Postman::Postman

Public Class Methods

new(opts = {}) click to toggle source
# File lib/wicoris/postman/postman.rb, line 4
def initialize(opts = {})
  @opts = opts
  @logger = opts[:logger]
end

Public Instance Methods

run() click to toggle source

Process each job.

# File lib/wicoris/postman/postman.rb, line 10
def run
  jobs.each do |job|
    begin
      job.process
    rescue => e
      @logger.error(e) if @logger
    ensure
      job.clear!
    end
  end
end

Private Instance Methods

jobdir() click to toggle source

@returns [String] Path to jobdir directory

# File lib/wicoris/postman/postman.rb, line 36
def jobdir
  @opts[:jobdir]
end
jobs() click to toggle source

@returns [Array<Job>] All jobs created each JSON file

# File lib/wicoris/postman/postman.rb, line 25
def jobs
  json_files.map { |f| Job.new(f, @opts) }
end
json_files() click to toggle source

@returns [Array<String>] JSON files in jobdir.

# File lib/wicoris/postman/postman.rb, line 30
def json_files
  # NOTE: This performs case-insensitive globbing.
  Dir.glob(File.join(jobdir, 'AB_*.JSON'), File::FNM_CASEFOLD)
end