class Lmkplz::Repeatedly

Attributes

callbacker[R]

Public Class Methods

new(*paths, only: nil, except: nil, &block) click to toggle source
# File lib/lmkplz/repeatedly.rb, line 5
def initialize(*paths, only: nil, except: nil, &block)
  @block = block
  @file_filter = FileFilter.new(only: only, except: except)
  paths.each { |path| interface.add(path) }

  interface.on_success do |m, c, r|
    @file_filter.call(m, c, r) do |mm, cc, rr|
      @block.call(mm, cc, rr)
    end
  end
end

Public Instance Methods

pause() click to toggle source
# File lib/lmkplz/repeatedly.rb, line 24
def pause
  if @the_loop.nil?
    return
  end

  the_loop.kill
  @the_loop = nil
end
start() click to toggle source
# File lib/lmkplz/repeatedly.rb, line 17
def start
  interface.malloc
  the_loop

  nil
end

Private Instance Methods

interface() click to toggle source
# File lib/lmkplz/repeatedly.rb, line 43
def interface
  @interface ||= Encasement.new
end
the_loop() click to toggle source
# File lib/lmkplz/repeatedly.rb, line 35
def the_loop
  @the_loop ||= Thread.new do
    loop do
      interface.await
    end
  end
end