Class: Screenpress::Saver::Proxy

Inherits:
Object
  • Object
show all
Defined in:
lib/screenpress/saver.rb

Class Method Summary collapse

Class Method Details

.default(driver, path) ⇒ Object



78
79
80
81
82
83
84
85
# File 'lib/screenpress/saver.rb', line 78

def default(driver, path)
  if driver.respond_to?(:save_screenshot)
    driver.save_screenshot(path)
  else
    driver.render(path)
  end
  true
end

.mechanize(driver, path) ⇒ Object



92
93
94
95
# File 'lib/screenpress/saver.rb', line 92

def mechanize(driver, path)
  warn "Mechanize capybara driver has no ability to output screen shots. Skipping."
  false
end

.poltergeist(driver, path) ⇒ Object



102
103
104
105
# File 'lib/screenpress/saver.rb', line 102

def poltergeist(driver, path)
  driver.render(path, :full => true)
  true
end

.rack_test(driver, path) ⇒ Object



87
88
89
90
# File 'lib/screenpress/saver.rb', line 87

def rack_test(driver, path)
  warn "Rack::Test capybara driver has no ability to output screen shots. Skipping."
  false
end

.save!(name, driver, filename) ⇒ Object



58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# File 'lib/screenpress/saver.rb', line 58

def save!(name, driver, filename)
  return send(name, driver, filename) if self.respond_to?(name)
  
  klass = driver.class.name
  if klass =~ /Selenium/
    return send(:selenium, driver, filename)
  elsif klass =~ /Mechanize/
    return send(:mechanize, driver, filename)
  elsif klass =~ /RackTest/
    return send(:rack_test, driver, filename)
  elsif klass =~ /Poltergeist/
    return send(:poltergeist, driver, filename)
  elsif klass =~ /Webkit/
    return send(:webkit, driver, filename)
  else
    warn "Screenpress could not detect a screenshot driver for '#{name}'. Saving with default with unknown results."
    return send(:default, driver, filename)
  end
end

.selenium(driver, path) ⇒ Object



97
98
99
100
# File 'lib/screenpress/saver.rb', line 97

def selenium(driver, path)
  driver.browser.save_screenshot(path)
  true
end

.terminus(driver, path) ⇒ Object



121
122
123
124
125
126
127
128
129
# File 'lib/screenpress/saver.rb', line 121

def terminus(driver, path)
  if driver.respond_to?(:save_screenshot)
    driver.save_screenshot(path)
    true
  else
    warn "Terminus capybara driver has no ability to output screen shots. Skipping."
    false
  end
end

.webkit(driver, path) ⇒ Object



107
108
109
110
111
112
113
114
# File 'lib/screenpress/saver.rb', line 107

def webkit(driver, path)
  if driver.respond_to?(:save_screenshot)
    driver.save_screenshot(path)
  else
    driver.render(path)
  end
  true
end

.webkit_debug(driver, path) ⇒ Object



116
117
118
119
# File 'lib/screenpress/saver.rb', line 116

def webkit_debug(driver, path)
  driver.render(path)
  true
end