Module: NVD::Feed
- Defined in:
- lib/nvd/feed.rb,
lib/nvd/feed/cpe.rb,
lib/nvd/feed/cve.rb
Defined Under Namespace
Class Method Summary collapse
- .etags ⇒ Object
- .feeds ⇒ Object
- .fetch(tag, etag = nil) ⇒ Object
- .fetch!(tag, etag = nil) ⇒ Object
- .gunzip(gdata) ⇒ Object
Class Method Details
.etags ⇒ Object
8 9 10 |
# File 'lib/nvd/feed.rb', line 8 def self. @@etags end |
.feeds ⇒ Object
39 40 41 |
# File 'lib/nvd/feed.rb', line 39 def self.feeds @@feeds end |
.fetch(tag, etag = nil) ⇒ Object
17 18 19 20 21 22 23 24 25 |
# File 'lib/nvd/feed.rb', line 17 def self.fetch(tag,etag=nil) feed = @@feeds.detect {|f| f::LOCATIONS.any? {|k,v| k == tag || v == tag}} location = feed::LOCATIONS.detect {|k,v| k == tag || v == tag} return nil unless location tag = location[0] etag = ([tag] || "") unless etag puts "Fetching entries for #{tag} ..." {tag => feed.fetch(tag,etag)} end |
.fetch!(tag, etag = nil) ⇒ Object
12 13 14 15 |
# File 'lib/nvd/feed.rb', line 12 def self.fetch!(tag,etag=nil) .delete tag fetch(tag, etag) end |
.gunzip(gdata) ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/nvd/feed.rb', line 27 def self.gunzip(gdata) zi = Zlib::Inflate.new(Zlib::MAX_WBITS + 32) begin return zi.inflate(gdata) rescue Zlib::DataError => e raise "please provide gzipped data" rescue => e raise e end end |