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

Constant Summary collapse

@@adapters =
{}

Class Method Summary collapse

Class Method Details

.new(name, options = {}, &block) ⇒ Object

Returns an instance of the given processor type.

Examples:

A simple file adapter

Yell::Adapters.new( :file )

Raises:



29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/yell/adapters.rb', line 29

def new( name, options = {}, &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 NoSuchAdapter.new( name ) unless adapter

  adapter.new( options, &block )
end

.register(name, klass) ⇒ Object

Register your own adapter here

Examples:

Yell::Adapters.register( :myadapter, MyAdapter )


21
22
23
# File 'lib/yell/adapters.rb', line 21

def register( name, klass )
  @@adapters[name] = klass
end