Module: Yell::Adapters
- Defined in:
- lib/yell/adapters.rb,
lib/yell/adapters/io.rb,
lib/yell/adapters/base.rb,
lib/yell/adapters/file.rb,
lib/yell/adapters/streams.rb,
lib/yell/adapters/datefile.rb
Overview
:nodoc:
Defined Under Namespace
Classes: Base, Datefile, File, Io, Stderr, Stdout
Class Method Summary collapse
-
.broadcast(adapter) ⇒ Object
Thanks, railties :-).
-
.new(name, options = {}, &block) ⇒ Object
Returns an instance of the given processor type.
-
.register(name, klass) ⇒ Object
Register your own adapter here.
Class Method Details
.broadcast(adapter) ⇒ Object
Thanks, railties :-)
43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/yell/adapters.rb', line 43 def self.broadcast( adapter ) Module.new do define_method(:write) do |event| adapter.write(event) super(event) end define_method(:close) do adapter.close super() end end end |
.new(name, options = {}, &block) ⇒ Object
Returns an instance of the given processor type.
28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/yell/adapters.rb', line 28 def self.new( name, = {}, &block ) return name if name.is_a?(Yell::Adapters::Base) adapter = case name when STDOUT then @adapters[:stdout] when STDERR then @adapters[:stderr] else @adapters[name] end raise AdapterNotFound.new(name) if adapter.nil? adapter.new(, &block) end |
.register(name, klass) ⇒ Object
Register your own adapter here
20 21 22 |
# File 'lib/yell/adapters.rb', line 20 def self.register( name, klass ) @adapters[name] = klass end |