Module: RailsViewAnnotator
- Defined in:
- lib/rails_view_annotator/version.rb,
lib/rails_view_annotator/action_view/partial_renderer.rb
Defined Under Namespace
Modules: InstanceMethods Classes: ContextError
Constant Summary collapse
- VERSION =
"0.0.6"
Class Method Summary collapse
Class Method Details
.augment_partial_renderer(klass) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/rails_view_annotator/action_view/partial_renderer.rb', line 5 def self.augment_partial_renderer klass render = klass.instance_method :render klass.send(:define_method, :render) do |*args| inner = render.bind(self).call(*args) short_identifier = Pathname.new(identifier).relative_path_from Rails.root backtrace = nil begin raise ContextError rescue ContextError => e backtrace = e.backtrace end r = /^#{Regexp.escape(Rails.root.to_s)}\/([^:]+:\d+)/ backtrace.find { |line| line.match r } called_from = context = $1 descriptor = "#{short_identifier} (from #{called_from})" if not inner.blank? "<!-- begin: #{descriptor} -->\n#{inner}<!-- end: #{descriptor} -->".html_safe end end klass.send(:include, InstanceMethods) end |