| Class | Mechanize::History |
| In: |
lib/mechanize/history.rb
|
| Parent: | Array |
This class manages history for your mechanize object.
| max_size | [RW] |
# File lib/mechanize/history.rb, line 7
7: def initialize(max_size = nil)
8: @max_size = max_size
9: @history_index = {}
10: end
# File lib/mechanize/history.rb, line 12
12: def initialize_copy(orig)
13: super
14: @history_index = orig.instance_variable_get(:@history_index).dup
15: end
# File lib/mechanize/history.rb, line 51
51: def pop
52: return nil if length == 0
53: page = super
54: remove_from_index(page)
55: page
56: end
# File lib/mechanize/history.rb, line 17
17: def push(page, uri = nil)
18: super(page)
19: @history_index[(uri ? uri : page.uri).to_s] = page
20: if @max_size && self.length > @max_size
21: while self.length > @max_size
22: self.shift
23: end
24: end
25: self
26: end
# File lib/mechanize/history.rb, line 42
42: def shift
43: return nil if length == 0
44: page = self[0]
45: self[0] = nil
46: super
47: remove_from_index(page)
48: page
49: end
# File lib/mechanize/history.rb, line 33
33: def visited_page(url)
34: @history_index[(url.respond_to?(:uri) ? url.uri : url).to_s]
35: end