123456789_123456789_123456789_123456789_123456789_

Module: ActionDispatch::TestHelpers::PageDumpHelper

Relationships & Source Files
Namespace Children
Exceptions:
Extension / Inclusion / Inheritance Descendants
Included In:
Defined in: actionpack/lib/action_dispatch/testing/test_helpers/page_dump_helper.rb

Instance Method Summary

Instance Method Details

#html_dump_default_path (private)

[ GitHub ]

  
# File 'actionpack/lib/action_dispatch/testing/test_helpers/page_dump_helper.rb', line 30

def html_dump_default_path
  Rails.root.join("tmp/html_dump", "#{method_name}_#{DateTime.current.to_i}.html").to_s
end

#open_file(path) (private)

[ GitHub ]

  
# File 'actionpack/lib/action_dispatch/testing/test_helpers/page_dump_helper.rb', line 23

def open_file(path)
  require "launchy"
  Launchy.open(path)
rescue LoadError
  warn "File saved to #{path}.\nPlease install the launchy gem to open the file automatically."
end

#save_and_open_page(path = html_dump_default_path)

Saves the content of response body to a file and tries to open it in your browser. Launchy must be present in your Gemfile for the page to open automatically.

[ GitHub ]

  
# File 'actionpack/lib/action_dispatch/testing/test_helpers/page_dump_helper.rb', line 10

def save_and_open_page(path = html_dump_default_path)
  save_page(path).tap { |s_path| open_file(s_path) }
end

#save_page(path = html_dump_default_path) (private)

Raises:

[ GitHub ]

  
# File 'actionpack/lib/action_dispatch/testing/test_helpers/page_dump_helper.rb', line 15

def save_page(path = html_dump_default_path)
  raise InvalidResponse.new("Response is a redirection!") if response.redirection?
  path = Pathname.new(path)
  path.dirname.mkpath
  File.write(path, response.body)
  path
end