Class: Spider::VisitRecorder
- Inherits:
-
Object
- Object
- Spider::VisitRecorder
- Defined in:
- lib/recorder.rb
Constant Summary collapse
- @@directory =
''- @@active =
false- @@recording =
false
Class Method Summary collapse
- .activate! ⇒ Object
- .config(dir) ⇒ Object
- .deactivate! ⇒ Object
- .pause! ⇒ Object
- .recall(*args) ⇒ Object
- .record! ⇒ Object
Class Method Details
.activate! ⇒ Object
27 28 29 |
# File 'lib/recorder.rb', line 27 def activate! @@active = true end |
.config(dir) ⇒ Object
43 44 45 |
# File 'lib/recorder.rb', line 43 def config(dir) @@directory = dir end |
.deactivate! ⇒ Object
35 36 37 |
# File 'lib/recorder.rb', line 35 def deactivate! @@active = false end |
.pause! ⇒ Object
39 40 41 |
# File 'lib/recorder.rb', line 39 def pause! @@recording = false end |
.recall(*args) ⇒ Object
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
# File 'lib/recorder.rb', line 47 def recall(*args) if @@active url = args.first.to_s data = '' store = locate_file(url) if store.size == 0 raise "Unexpected request: #{url}" unless @@recording data = yield(*args) if block_given? begin store.write(package(url, data)) rescue StandardError => e puts e. puts "On file #{store.path}" end else data = unpackage(store, url) end return data elsif block_given? yield(*args) end end |
.record! ⇒ Object
31 32 33 |
# File 'lib/recorder.rb', line 31 def record! @@recording = true end |