Sha256: f0430ffdcfab624e4ed2a257f0dedcd5eb7ea35ca669fc983fee67b7975b67e3

Contents?: true

Size: 661 Bytes

Versions: 14

Compression:

Stored size: 661 Bytes

Contents

# frozen_string_literal: true
require "listen"
require "observer"

module ShopifyCLI
  class FileSystemListener
    include Observable

    def initialize(root:, force_poll:, ignore_regex:)
      @root = root
      @force_poll = force_poll
      @ignore_regex = ignore_regex

      @listener = Listen.to(@root, force_polling: @force_poll, ignore: @ignore_regex) do |updated, added, removed|
        changed
        notify_observers(updated, added, removed)
      end
    end

    def start
      @listener.start
    rescue ArgumentError
      # Ignore errors during the transition of 'listen' events
    end

    def stop
      @listener.stop
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
shopify-cli-2.36.0 lib/shopify_cli/file_system_listener.rb
shopify-cli-2.35.0 lib/shopify_cli/file_system_listener.rb
shopify-cli-2.34.0 lib/shopify_cli/file_system_listener.rb
shopify-cli-2.33.1 lib/shopify_cli/file_system_listener.rb
shopify-cli-2.33.0 lib/shopify_cli/file_system_listener.rb
shopify-cli-2.32.1 lib/shopify_cli/file_system_listener.rb
shopify-cli-2.32.0 lib/shopify_cli/file_system_listener.rb
shopify-cli-2.31.0 lib/shopify_cli/file_system_listener.rb
shopify-cli-2.30.0 lib/shopify_cli/file_system_listener.rb
shopify-cli-2.29.0 lib/shopify_cli/file_system_listener.rb
shopify-cli-2.28.0 lib/shopify_cli/file_system_listener.rb
shopify-cli-2.27.0 lib/shopify_cli/file_system_listener.rb
shopify-cli-2.26.0 lib/shopify_cli/file_system_listener.rb
shopify-cli-2.25.0 lib/shopify_cli/file_system_listener.rb