module SassListen

def self.logger

def self.logger
  @logger ||= nil
end

def self.logger=(logger)

def self.logger=(logger)
  @logger = logger
end

def self.setup_default_logger_if_unset

def self.setup_default_logger_if_unset
  self.logger ||= ::Logger.new(STDERR).tap do |logger|
    debugging = ENV['LISTEN_GEM_DEBUGGING']
    logger.level =
      case debugging.to_s
      when /2/
        ::Logger::DEBUG
      when /true|yes|1/i
        ::Logger::INFO
      else
        ::Logger::ERROR
      end
  end
end

def stop


This is used by the `listen` binary to handle Ctrl-C
def stop
  Internals::ThreadPool.stop
  @listeners ||= []
  # TODO: should use a mutex for this
  @listeners.each do |listener|
    # call stop to halt the main loop
    listener.stop
  end
  @listeners = nil
end

def to(*args, &block)

Returns:
  • (SassListen::Listener) - the listener

Other tags:
    Yieldparam: removed - the list of removed files
    Yieldparam: added - the list of added files
    Yieldparam: modified - the list of modified files

Other tags:
    Yield: - the changed files

Parameters:
  • () --
def to(*args, &block)
  @listeners ||= []
  Listener.new(*args, &block).tap do |listener|
    @listeners << listener
  end
end