Class: ActionView::LogSubscriber
- Inherits:
-
ActiveSupport::LogSubscriber
- Object
- ActiveSupport::LogSubscriber
- ActionView::LogSubscriber
- Defined in:
- lib/action_view/log_subscriber.rb
Overview
Action View Log Subscriber
Provides functionality so that Rails can output logs from Action View.
Constant Summary collapse
- VIEWS_PATTERN =
/^app\/views\//
Instance Method Summary collapse
-
#initialize ⇒ LogSubscriber
constructor
A new instance of LogSubscriber.
- #logger ⇒ Object
- #render_collection(event) ⇒ Object
- #render_partial(event) ⇒ Object
- #render_template(event) ⇒ Object
- #start(name, id, payload) ⇒ Object
Constructor Details
#initialize ⇒ LogSubscriber
Returns a new instance of LogSubscriber.
12 13 14 15 |
# File 'lib/action_view/log_subscriber.rb', line 12 def initialize @root = nil super end |
Instance Method Details
#logger ⇒ Object
52 53 54 |
# File 'lib/action_view/log_subscriber.rb', line 52 def logger ActionView::Base.logger end |
#render_collection(event) ⇒ Object
35 36 37 38 39 40 41 42 |
# File 'lib/action_view/log_subscriber.rb', line 35 def render_collection(event) identifier = event.payload[:identifier] || "templates" info do " Rendered collection of #{from_rails_root(identifier)}" \ " #{render_count(event.payload)} (Duration: #{event.duration.round(1)}ms | Allocations: #{event.allocations})" end end |
#render_partial(event) ⇒ Object
25 26 27 28 29 30 31 32 33 |
# File 'lib/action_view/log_subscriber.rb', line 25 def render_partial(event) info do = +" Rendered #{from_rails_root(event.payload[:identifier])}" << " within #{from_rails_root(event.payload[:layout])}" if event.payload[:layout] << " (Duration: #{event.duration.round(1)}ms | Allocations: #{event.allocations})" << " #{(event.payload)}" unless event.payload[:cache_hit].nil? end end |
#render_template(event) ⇒ Object
17 18 19 20 21 22 23 |
# File 'lib/action_view/log_subscriber.rb', line 17 def render_template(event) info do = +" Rendered #{from_rails_root(event.payload[:identifier])}" << " within #{from_rails_root(event.payload[:layout])}" if event.payload[:layout] << " (Duration: #{event.duration.round(1)}ms | Allocations: #{event.allocations})" end end |
#start(name, id, payload) ⇒ Object
44 45 46 47 48 49 50 |
# File 'lib/action_view/log_subscriber.rb', line 44 def start(name, id, payload) if name == "render_template.action_view" log_rendering_start(payload) end super end |