Sha256: 8b922e5e3d2cf75cd272e2f761b4e98a783fb78b110ed6243df5758ac793f73f

Contents?: true

Size: 809 Bytes

Versions: 5

Compression:

Stored size: 809 Bytes

Contents

module RailsLogstasher
  module ActionView

    class LogSubscriber < ::ActiveSupport::LogSubscriber

      def render_template(event)
        entry.fields['rendering'] ||= []
        render_entry = {}
        render_entry['identifier'] = from_rails_root(event.payload[:identifier])
        render_entry['layout'] = from_rails_root(event.payload[:layout]) if event.payload[:layout]
        render_entry['duration'] = event.duration

        entry.fields['rendering'] << render_entry

      end
      alias :render_partial :render_template
      alias :render_collection :render_template

    private

      def from_rails_root(string)
        string.sub("#{Rails.root}/", "").sub(/^app\/views\//, "")
      end

      def entry
        RailsLogstasher.log_entries[Thread.current]
      end

    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
rails-logstasher-0.1.4 lib/rails-logstasher/action_view/log_subscriber.rb
rails-logstasher-0.1.3 lib/rails-logstasher/action_view/log_subscriber.rb
rails-logstasher-0.1.2 lib/rails-logstasher/action_view/log_subscriber.rb
rails-logstasher-0.1.1 lib/rails-logstasher/action_view/log_subscriber.rb
rails-logstasher-0.1.0 lib/rails_logstasher/action_view/log_subscriber.rb