Uniform Notifier 使用教程
1. 项目的目录结构及介绍
Uniform Notifier 是一个用于 Rails 日志、自定义日志、JavaScript 警告、JavaScript 控制台和 XMPP 通知的工具。以下是其目录结构及介绍:
uniform_notifier/
├── Gemfile
├── Gemfile.lock
├── LICENSE
├── README.md
├── Rakefile
├── lib/
│ ├── uniform_notifier.rb
│ ├── uniform_notifier/
│ │ ├── base.rb
│ │ ├── javascript_alert.rb
│ │ ├── javascript_console.rb
│ │ ├── rails_logger.rb
│ │ ├── xmpp.rb
│ │ └── ...
├── spec/
│ ├── spec_helper.rb
│ ├── uniform_notifier_spec.rb
│ └── ...
├── uniform_notifier.gemspec
└── ...
Gemfile
和Gemfile.lock
:定义了项目的依赖关系。LICENSE
:项目的许可证。README.md
:项目的说明文档。Rakefile
:用于定义 Rake 任务。lib/
:包含项目的主要代码。uniform_notifier.rb
:主文件,加载其他模块。uniform_notifier/
:包含各种通知器的实现。
spec/
:包含测试代码。uniform_notifier.gemspec
:定义了 gem 的元数据。
2. 项目的启动文件介绍
Uniform Notifier 的启动文件是 lib/uniform_notifier.rb
。这个文件负责加载项目的其他模块,并提供对外的接口。
require 'uniform_notifier/base'
require 'uniform_notifier/javascript_alert'
require 'uniform_notifier/javascript_console'
require 'uniform_notifier/rails_logger'
require 'uniform_notifier/xmpp'
require 'uniform_notifier/errors'
module UniformNotifier
class << self
def active_notifiers
@active_notifiers ||= []
end
def inline_notify(message)
active_notifiers.each do |notifier|
notifier.inline_notify(message)
end
end
def out_of_channel_notify(message)
active_notifiers.each do |notifier|
notifier.out_of_channel_notify(message)
end
end
end
end
3. 项目的配置文件介绍
Uniform Notifier 的配置主要通过代码进行,没有独立的配置文件。以下是一些常见的配置示例:
# 启用 JavaScript 警告
UniformNotifier.alert = true
# 启用 JavaScript 控制台
UniformNotifier.console = true
# 启用 Rails 日志
UniformNotifier.rails_logger = true
# 启用 XMPP 通知
UniformNotifier.xmpp = { jid: 'your_jid@jabber.org', password: 'your_password' }
通过这些配置,可以启用不同的通知器,并根据需要进行进一步的配置。