Module: Tracing::Appender
- Defined in:
- lib/appenders/appender.rb,
lib/appenders/appender_registration.rb
Defined Under Namespace
Modules: Registration
Class Attribute Summary collapse
-
.appender_mappings ⇒ Object
array of Appender instances.
Class Method Summary collapse
- .appender_from_type(type, options) ⇒ Object
- .appender_options_type(options) ⇒ Object
- .appender_type(options) ⇒ Object
- .create_appender(options) ⇒ Object
- .create_appenders(appenders) ⇒ Object
- .register_appender_mappings(_appender_mappings) ⇒ Object
- .register_default_mappings ⇒ Object
- .unregister_appender_mappings(hash) ⇒ Object
Class Attribute Details
.appender_mappings ⇒ Object
array of Appender instances
7 8 9 |
# File 'lib/appenders/appender.rb', line 7 def appender_mappings @appender_mappings end |
Class Method Details
.appender_from_type(type, options) ⇒ Object
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
# File 'lib/appenders/appender.rb', line 51 def appender_from_type(type, ) register_default_mappings if !appender_mappings if type.kind_of?(Symbol) type_sym = type.to_sym # use default mappings if no match found appender_class = appender_mappings[type_sym] || appender_mappings[:default] if appender_class appender_class.new() else # nil raise Exception, "No appender registered for this type: #{type}" end elsif appender.kind_of? Tracing::OutputTemplate::Trace appender else nil end end |
.appender_options_type(options) ⇒ Object
39 40 41 |
# File 'lib/appenders/appender.rb', line 39 def () [:type] end |
.appender_type(options) ⇒ Object
43 44 45 46 47 48 49 |
# File 'lib/appenders/appender.rb', line 43 def appender_type() if .kind_of? Hash () elsif .kind_of?(Symbol) || .kind_of?(String) .to_sym end end |
.create_appender(options) ⇒ Object
71 72 73 74 75 76 77 78 79 80 81 |
# File 'lib/appenders/appender.rb', line 71 def create_appender() appender_mappings ||= {} type = appender_type() if type appender_from_type(type, ) elsif .kind_of? Tracing::BaseAppender else nil end end |
.create_appenders(appenders) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/appenders/appender.rb', line 24 def create_appenders(appenders) register_default_mappings if !appender_mappings if appenders.kind_of? Array appenders.flatten! new_appenders = appenders.collect do |f| Tracing::Appender.create_appender(f) end new_appenders elsif appenders.kind_of?(Symbol) || appenders.kind_of?(Hash) Tracing::Appender.create_appender(appenders) else appenders end end |
.register_appender_mappings(_appender_mappings) ⇒ Object
14 15 16 17 |
# File 'lib/appenders/appender.rb', line 14 def register_appender_mappings(_appender_mappings) appenders_mappings ||= {} appenders_mappings.merge!(_appender_mappings) end |
.register_default_mappings ⇒ Object
9 10 11 12 |
# File 'lib/appenders/appender.rb', line 9 def register_default_mappings @appender_mappings ||= {} @appender_mappings.merge!(AppenderMappings.defaults) end |
.unregister_appender_mappings(hash) ⇒ Object
19 20 21 |
# File 'lib/appenders/appender.rb', line 19 def unregister_appender_mappings(hash) default_appender_mappings.reject!{|key, value| hash.include? key} end |