Sha256: 192e6bf8cc6acbeef9debefe17219ee67ee594423823deca2e4d2757473bb275
Contents?: true
Size: 1.5 KB
Versions: 1
Compression:
Stored size: 1.5 KB
Contents
require "#{File.dirname(__FILE__)}/log_note" module Footnotes module Notes class PartialsNote < LogNote def initialize(controller) super @controller = controller end def row :edit end def title "Partials (#{partials.size})" end def content rows = partials.map do |filename| href = Footnotes::Filter.prefix(filename,1,1) name = filename.gsub(Rails.root.join("app/views/"),"") [%{<a href="#{href}">#{name}</a>},"#{@partial_times[filename].sum}ms", @partial_counts[filename]] end mount_table(rows.unshift(%w(Partial Time Count)), :summary => "Partials for #{title}") end def self.load self.loaded = true unless loaded end protected #Generate a list of partials that were rendered, also build up render times and counts. #This is memoized so we can use its information in the title easily. def partials @partials ||= begin partials = [] @partial_counts = {} @partial_times = {} Footnotes.view_subscriber.partials.each do |event| partial = event.payload[:identifier] @partial_times[partial] ||= [] @partial_times[partial] << event.duration @partial_counts[partial] ||= 0 @partial_counts[partial] += 1 partials << partial unless partials.include?(partial) end partials.reverse end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rails3-footnotes-4.0.0.pre.4 | lib/rails-footnotes/notes/partials_note.rb |