class RailsIdle::Collector::Views
Public Instance Methods
collect()
click to toggle source
# File lib/rails-idle/collector/views.rb, line 4 def collect view_paths.each do |path| views = Dir[path + '/**/*.*'] views.each do |view| view = modify_prefix(view) next unless view if view =~ extensions_regexp _collect view end end end end
subscribe()
click to toggle source
# File lib/rails-idle/collector/views.rb, line 17 def subscribe %w{render_template render_partial render_collection}.each do |event| ActiveSupport::Notifications.subscribe("#{event}.action_view") do |name, started, finished, unique_id, payload| orig_prefix = '' view = modify_prefix payload[:identifier], orig_prefix next unless view execution_time = finished.to_f - started.to_f push(view, execution_time) if payload[:layout] && view =~ /\.\w+\.\w+$/ # just_view = extract_view payload[:identifier], view # prefix = payload[:identifier].gsub(just_view, '') extension = view.match(/\.\w+\.\w+$/)[0] layout = orig_prefix + '/' + payload[:layout] + extension layout = modify_prefix layout push(layout, execution_time) if layout end end end end
Private Instance Methods
build_extensions_regexp()
click to toggle source
# File lib/rails-idle/collector/views.rb, line 47 def build_extensions_regexp formats = %w(html text) handlers = ActionView::Template.template_handler_extensions exts = view_extentions.join('|').gsub(/\./, '\.') Regexp.new "(#{exts})$" end
build_view_extentions()
click to toggle source
# File lib/rails-idle/collector/views.rb, line 58 def build_view_extentions extentions = [] format_extensions = %w(html text) handler_extensions = ActionView::Template.template_handler_extensions handler_extensions.each do |handler_ext| extentions << ".#{handler_ext}" format_extensions.each do |format_ext| extentions << ".#{format_ext}.#{handler_ext}" end end extentions end
extensions_regexp()
click to toggle source
# File lib/rails-idle/collector/views.rb, line 43 def extensions_regexp @extensions_regexp ||= build_extensions_regexp end
modify_prefix(identifier, orig_prefix = '')
click to toggle source
# File lib/rails-idle/collector/views.rb, line 71 def modify_prefix(identifier, orig_prefix = '') view_paths.each_with_index do |path, idx| orig_prefix.replace path return identifier.gsub(path + '/', '') if identifier.start_with?(path) end orig_prefix.replace '' nil end
view_extentions()
click to toggle source
# File lib/rails-idle/collector/views.rb, line 54 def view_extentions @view_extentions ||= build_view_extentions end
view_paths()
click to toggle source
# File lib/rails-idle/collector/views.rb, line 39 def view_paths ActionController::Base.new.view_paths.map(&:to_path) end