class FileQueue

FileQueue - simple queue to bind to a topic and pop messages

Attributes

queue_name[R]

Public Class Methods

new() click to toggle source
# File lib/file_queue.rb, line 9
def initialize
  @queue_name = SecureRandom.hex(20).to_s
end

Public Instance Methods

bind(file_topic) click to toggle source
# File lib/file_queue.rb, line 13
def bind(file_topic)
  @queue_location = file_topic.topic_location + '/' + @queue_name
  FileUtils.mkdir_p @queue_location
end
latest_message_file() click to toggle source
# File lib/file_queue.rb, line 25
def latest_message_file
  files_sorted_by_time = Dir[@queue_location + '/*'].sort_by do |file|
    File.mtime(file)
  end
  files_sorted_by_time[0]
end
pop() click to toggle source
# File lib/file_queue.rb, line 18
def pop
  latest_message = latest_message_file
  message_content = File.read(latest_message).chomp
  File.delete(latest_message)
  message_content
end