4

我正在关注Rails教程,但我正在服务器上进行操作。现在,我正在使用 Guard gem 来监控我的更改并执行测试。据我所知,如果测试失败或成功,它通常会使用 libnotify 通知我。

现在,我希望它在我的 GNU 屏幕实例上通知我。

有没有办法做到这一点?从这个链接(Guard 的文档)我不确定,但我是一个红宝石初学者,无论如何我都需要问。

4

1 回答 1

3

对于潜在的 Ruby 开发人员来说,编写一个 Guard 通知器将是一个很好的练习。

首先你 fork Guard,克隆项目并创建一个新的通知器,lib/guard/notifiers/screen.rb如下所示:

module Guard
  module Notifier
    module Growl
      extend self

      def available?(silent = false)
      end

      def notify(type, title, message, image, options = { })
      end

    end
  end
end

现在你只需要实现这两种方法:

  1. available?用于检查环境、库和外部命令
  2. notify进行实际通知

查看API 通知程序的Growl通知程序和外部程序通知程序的Notifysend 。如果您仔细查看这些模块,您会发现大部分内容都是文档和初始化,通知代码本身只是很小的一部分。

您可以通过将其添加到您的项目中来尝试使用另一个项目中的 Guard Gemfile

group :development do
  gem 'guard', path => '/home/you/code/guard'
end

您还可以在完成之前打开拉取请求,Guard 核心团队将帮助您并指导您完成合并之前需要完成的工作,例如规范和文档。

于 2012-05-25T22:07:45.347 回答