class Pagelapse::Recorder
Attributes
duration[RW]
expiration[RW]
height[RW]
interval[RW]
name[R]
timeout[RW]
url[R]
width[RW]
Public Class Methods
new(name, url)
click to toggle source
# File lib/pagelapse/recorder.rb, line 7 def initialize(name, url) @name = name @url = url @interval = 20 @duration = nil @on_load = nil @expiration = nil @start = Time.now @width = 1240 @height = 900 @timer = Time.new 0 @capture_if = nil @save_if = nil FileUtils.mkdir_p(File.join 'lapses', @name) end
Public Instance Methods
before_capture(&block)
click to toggle source
# File lib/pagelapse/recorder.rb, line 23 def before_capture(&block) @on_load = block end
capture()
click to toggle source
# File lib/pagelapse/recorder.rb, line 49 def capture @timer = Time.now ws = Pagelapse::Screenshot.new ws.capture( @url, filename, width: @width, height: @height, timeout: @timeout, capture_if: @capture_if, save_if: @save_if, on_load: @on_load ) end
capture_if(&block)
click to toggle source
# File lib/pagelapse/recorder.rb, line 27 def capture_if(&block) @capture_if = block end
expired?()
click to toggle source
Returns true if recorder has expired
# File lib/pagelapse/recorder.rb, line 45 def expired? Time.now > @start + @expiration if @expiration end
filename()
click to toggle source
# File lib/pagelapse/recorder.rb, line 35 def filename File.join 'lapses', @name, "#{Time.now.to_i}.png" end
ready?()
click to toggle source
Returns true if timer is expired and ready to capture
# File lib/pagelapse/recorder.rb, line 40 def ready? @timer < Time.now - @interval end
save_if(&block)
click to toggle source
# File lib/pagelapse/recorder.rb, line 31 def save_if(&block) @save_if = block end