module Capybara::Paparazzi::Shooter::ClassMethods

Public Instance Methods

config() { |self| ... } click to toggle source
# File lib/capybara/paparazzi/shooter.rb, line 49
def config
  @_configged ||=
    begin
      CONFIG_VARS.each do |cv, default|
        send("#{cv}=".to_sym, default)
        true
      end
    end
  if block_given?
    yield(self)
  end
end
follow(*args) click to toggle source
# File lib/capybara/paparazzi/shooter.rb, line 62
def follow(*args)
  Capybara::Paparazzi.follow(*args)
end
is_paparazzi?(driver) click to toggle source
# File lib/capybara/paparazzi/shooter.rb, line 100
def is_paparazzi?(driver)
  driver.is_a?(Capybara::Paparazzi::Driver)
end
next_suffix_for_path!(path) click to toggle source
# File lib/capybara/paparazzi/shooter.rb, line 104
def next_suffix_for_path!(path)
  # TODO: Be smarter about this - multi-threaded, etc.
  @path_nums ||= {}
  num = @path_nums[path]
  @path_nums[path] = num.to_i + 1
  if num
    suffix = "-#{num}"
    if @path_nums[path+suffix]
      suffix = next_suffix_for_path!(path)
    end
  else
    suffix = ''
  end
  suffix
end
take_snapshots(driver, event_details=nil) click to toggle source
# File lib/capybara/paparazzi/shooter.rb, line 66
def take_snapshots(driver, event_details=nil)
  # TODO: Be smarter. One shooter per driver, but avoid memory leaks (be mindful of Guard, etc.).
  unless driver.capybara_paparazzi_settings[:block_disabled] || driver.capybara_paparazzi_settings[:manually_disabled]
    new(driver, event_details).take_snapshots
  end
end
turn_off(driver) click to toggle source
# File lib/capybara/paparazzi/shooter.rb, line 88
def turn_off(driver)
  if is_paparazzi?(driver)
    driver.capybara_paparazzi_settings[:manually_disabled] = true
  end
end
turn_on(driver) click to toggle source
# File lib/capybara/paparazzi/shooter.rb, line 94
def turn_on(driver)
  if is_paparazzi?(driver)
    driver.capybara_paparazzi_settings[:manually_disabled] = false
  end
end
without_snapshots(driver) { || ... } click to toggle source
# File lib/capybara/paparazzi/shooter.rb, line 73
def without_snapshots(driver, &block)
  is_paparazzi = is_paparazzi?(driver)
  if is_paparazzi
    old_val = driver.capybara_paparazzi_settings[:block_disabled]
    driver.capybara_paparazzi_settings[:block_disabled] = true
  end
  begin
    yield
  ensure
    if is_paparazzi
      driver.capybara_paparazzi_settings[:block_disabled] = old_val
    end
  end
end