запись слушателя изменения файла в ruby - PullRequest
5 голосов
/ 05 августа 2011

Я хочу написать листер (модуль ruby), чтобы определить создание файла внутри папки.Мой сценарий выглядит следующим образом:

  • У меня есть папка с именем (files)
  • У меня есть проект rails, который создаст файл (demo.txt) внутри папки ('file'))
  • Мне нужно написать слушатель, чтобы определить изменение файла и начать чтение файла (demo.txt)

Я не знаю, с чего начать при создании этого модуля ruby.Пожалуйста, кто-нибудь может помочь мне направить меня на правильный путь.

это версия ruby, которую я использую 'ruby 1.8.7 (2010-06-23 patchlevel 299) [i686-linux]'

заранее спасибо

ура

Самера

1 Ответ

7 голосов
/ 05 августа 2011

Есть несколько небольших библиотек, которые вы могли бы использовать, учиться или использовать, например,

Инструмент для быстрой разработки, которыйотслеживает дерево каталогов и запускает пользовательское действие всякий раз, когда наблюдаемый файл изменяется.Его наиболее типичным применением является непрерывное тестирование, и поэтому оно является более гибкой альтернативой автотесту.

Наблюдатель каталогаработает путем сканирования каталога через некоторый интервал и генерирования списка файлов на основе предоставленного пользователем шаблона глобуса.При изменении списка файлов от одного интервала к следующему события генерируются и отправляются зарегистрированным наблюдателям.Поддерживаются три типа событий - добавляются, изменяются и удаляются.

Guard - это инструмент командной строки, с которым легко работатьсобытия при модификации файлов (поддержка FSEvent / Inotify / Polling).

Это простая оболочка над подсистемой ядра inotify Linux для мониторинга изменений в файлах и каталогах.Он использует гем FFI, чтобы избежать необходимости компилировать расширение C.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...