Class: Monet::PageLogger
- Inherits:
-
Object
- Object
- Monet::PageLogger
- Extended by:
- Forwardable
- Includes:
- Singleton
- Defined in:
- lib/monet/page_logger.rb
Defined Under Namespace
Modules: Helpers
Class Method Summary collapse
Instance Method Summary collapse
- #add(url, status) ⇒ Object
- #failed?(url) ⇒ Boolean
- #failures ⇒ Object
-
#initialize ⇒ PageLogger
constructor
A new instance of PageLogger.
- #reset ⇒ Object
- #save(path) ⇒ Object
- #status_for(url) ⇒ Object
- #succeeded?(url) ⇒ Boolean
- #successes ⇒ Object
Constructor Details
#initialize ⇒ PageLogger
Returns a new instance of PageLogger.
21 22 23 |
# File 'lib/monet/page_logger.rb', line 21 def initialize reset end |
Class Method Details
.load(path) ⇒ Object
46 47 48 49 50 51 52 53 |
# File 'lib/monet/page_logger.rb', line 46 def self.load(path) logger = new CSV.foreach(path) do |k,v| logger.add(k,v) end logger end |
.reset ⇒ Object
59 60 61 |
# File 'lib/monet/page_logger.rb', line 59 def self.reset instance.reset end |
Instance Method Details
#add(url, status) ⇒ Object
34 35 36 |
# File 'lib/monet/page_logger.rb', line 34 def add(url, status) @cache[normalize_url(url)] = status.to_i end |
#failed?(url) ⇒ Boolean
75 76 77 |
# File 'lib/monet/page_logger.rb', line 75 def failed?(url) !succeeded?(url) end |
#failures ⇒ Object
63 64 65 |
# File 'lib/monet/page_logger.rb', line 63 def failures @cache.select {|k,v| failed? k } end |
#reset ⇒ Object
55 56 57 |
# File 'lib/monet/page_logger.rb', line 55 def reset @cache = {} end |
#save(path) ⇒ Object
38 39 40 41 42 43 44 |
# File 'lib/monet/page_logger.rb', line 38 def save(path) File.open(path, "w+") do |io| @cache.each do |k,v| io.puts "#{k},#{v}" end end end |
#status_for(url) ⇒ Object
27 28 29 30 31 32 |
# File 'lib/monet/page_logger.rb', line 27 def status_for(url) status = @cache[url] raise Monet::Errors::UnseenURL.new(url) unless status status end |
#succeeded?(url) ⇒ Boolean
71 72 73 |
# File 'lib/monet/page_logger.rb', line 71 def succeeded?(url) status_for(url) < 400 end |
#successes ⇒ Object
67 68 69 |
# File 'lib/monet/page_logger.rb', line 67 def successes @cache.select {|k,v| succeeded? k } end |