Module: Timber::Events
- Defined in:
- lib/timber/events.rb,
lib/timber/events/custom.rb,
lib/timber/events/exception.rb,
lib/timber/events/sql_query.rb,
lib/timber/events/http_request.rb,
lib/timber/events/http_response.rb,
lib/timber/events/controller_call.rb,
lib/timber/events/template_render.rb
Defined Under Namespace
Classes: ControllerCall, Custom, Exception, HTTPRequest, HTTPResponse, SQLQuery, TemplateRender
Class Method Summary collapse
-
.build(obj) ⇒ Object
Protocol for casting objects into a ‘Timber::Event`.
Class Method Details
.build(obj) ⇒ Object
Protocol for casting objects into a ‘Timber::Event`.
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/timber/events.rb', line 15 def self.build(obj) if obj.is_a?(::Timber::Event) obj elsif obj.respond_to?(:to_timber_event) obj.to_timber_event elsif obj.is_a?(Hash) && obj.key?(:message) && obj.key?(:type) && obj.key?(:data) Events::Custom.new( type: obj[:type], message: obj[:message], data: obj[:data] ) elsif obj.is_a?(Struct) && obj.respond_to?(:message) && obj.respond_to?(:type) Events::Custom.new( type: obj.type, message: obj., data: obj.respond_to?(:hash) ? obj.hash : obj.to_h # ruby 1.9.3 does not have to_h ) else nil end end |