class Listen::Event::Queue
Attributes
block[R]
config[R]
event_queue[R]
Public Class Methods
new(config, &block)
click to toggle source
# File lib/listen/event/queue.rb, line 18 def initialize(config, &block) @event_queue = ::Queue.new @block = block @config = config end
Public Instance Methods
<<(args)
click to toggle source
# File lib/listen/event/queue.rb, line 24 def <<(args) type, change, dir, path, options = *args fail "Invalid type: #{type.inspect}" unless [:dir, :file].include? type fail "Invalid change: #{change.inspect}" unless change.is_a?(Symbol) fail "Invalid path: #{path.inspect}" unless path.is_a?(String) dir = _safe_relative_from_cwd(dir) event_queue.public_send(:<<, [type, change, dir, path, options]) block.call(args) if block end
empty?()
click to toggle source
# File lib/listen/event/queue.rb, line 36 def empty? event_queue.empty? end
pop()
click to toggle source
# File lib/listen/event/queue.rb, line 40 def pop event_queue.pop end
Private Instance Methods
_safe_relative_from_cwd(dir)
click to toggle source
# File lib/listen/event/queue.rb, line 50 def _safe_relative_from_cwd(dir) return dir unless config.relative? dir.relative_path_from(Pathname.pwd) rescue ArgumentError dir end