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



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

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



134
135
136
137
# File 'lib/screenpress/saver.rb', line 134

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

.poltergeist(driver, path) ⇒ Object



144
145
146
147
# File 'lib/screenpress/saver.rb', line 144

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

.rack_test(driver, path) ⇒ Object



129
130
131
132
# File 'lib/screenpress/saver.rb', line 129

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



100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
# File 'lib/screenpress/saver.rb', line 100

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



139
140
141
142
# File 'lib/screenpress/saver.rb', line 139

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

.terminus(driver, path) ⇒ Object



163
164
165
166
167
168
169
170
171
# File 'lib/screenpress/saver.rb', line 163

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



149
150
151
152
153
154
155
156
# File 'lib/screenpress/saver.rb', line 149

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



158
159
160
161
# File 'lib/screenpress/saver.rb', line 158

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