class BrowserCrawler::ScreenshotOperator
Control operations on screenshots
Attributes
filename_base[R]
format[R]
save_screenshots[R]
screenshots_folder[R]
Public Class Methods
new(save_screenshots: false, save_screenshots_to: nil, format: 'png', filename: nil)
click to toggle source
# File lib/browser_crawler/screenshot_operator.rb, line 6 def initialize(save_screenshots: false, save_screenshots_to: nil, format: 'png', filename: nil) @screenshots_folder = save_screenshots_to @format = format @save_screenshots = save_screenshots @filename_base = filename || 'screenshot' end
Public Instance Methods
file_path(url: nil)
click to toggle source
# File lib/browser_crawler/screenshot_operator.rb, line 20 def file_path(url: nil) "#{save_path}/#{filename(url: url)}" end
filename(url: nil)
click to toggle source
# File lib/browser_crawler/screenshot_operator.rb, line 24 def filename(url: nil) if !filename_base_default? || url.nil? "#{filename_prefix}_#{filename_base}.#{format}" else path = UrlTools.uri(url: url)&.path&.gsub('/', '%')&.gsub('.', '') "#{filename_prefix}_#{path}.#{format}" end end
save_screenshots?()
click to toggle source
# File lib/browser_crawler/screenshot_operator.rb, line 16 def save_screenshots? [screenshots_folder, save_screenshots].any? end
Private Instance Methods
filename_base_default?()
click to toggle source
# File lib/browser_crawler/screenshot_operator.rb, line 35 def filename_base_default? filename_base == 'screenshot' end
filename_prefix()
click to toggle source
# File lib/browser_crawler/screenshot_operator.rb, line 43 def filename_prefix Time.now.getutc.to_s.tr(' ', '_') end
save_path()
click to toggle source
# File lib/browser_crawler/screenshot_operator.rb, line 39 def save_path screenshots_folder || File.join(Dir.pwd, 'tmp', 'screenshots') end