Module: Capybara::SaveAndOpenPage

Extended by:
SaveAndOpenPage
Included in:
SaveAndOpenPage
Defined in:
lib/capybara/save_and_open_page.rb

Instance Method Summary collapse

Instance Method Details

#open_in_browser(path) ⇒ Object

:nodoc



13
14
15
16
17
18
# File 'lib/capybara/save_and_open_page.rb', line 13

def open_in_browser(path) # :nodoc
  require "launchy"
  Launchy::Browser.run(path)
rescue LoadError
  warn "Sorry, you need to install launchy to open pages: `gem install launchy`"
end

#rewrite_css_and_image_references(response_html) ⇒ Object

:nodoc:



20
21
22
23
# File 'lib/capybara/save_and_open_page.rb', line 20

def rewrite_css_and_image_references(response_html) # :nodoc:
  return response_html unless Capybara.asset_root
  response_html.gsub(/("|')\/(stylesheets|images)/, '\1' + Capybara.asset_root + '/\2')
end

#save_and_open_page(html) ⇒ Object



5
6
7
8
9
10
11
# File 'lib/capybara/save_and_open_page.rb', line 5

def save_and_open_page(html)
  require 'tempfile'
  tempfile = Tempfile.new("capybara#{rand(1000000)}")
  tempfile.write(rewrite_css_and_image_references(html))
  tempfile.close
  open_in_browser(tempfile.path)
end