diff options
-rw-r--r-- | anzen.rb | 6 | ||||
-rw-r--r-- | lib/glsa_repository.rb | 9 |
2 files changed, 12 insertions, 3 deletions
@@ -24,13 +24,13 @@ GLSARepository.instance BASE_URL = 'https://security.gentoo.org/'.freeze get '/glsa/?' do - @ids = GLSARepository.instance.get.keys.reverse + @ids = GLSARepository.instance.latest_ids @nav = :glsa erb :glsa end get '/glsa/feed.:format' do - items = GLSARepository.instance.get.values.reverse[0..50] + items = GLSARepository.instance.latest 50 case params[:format] when 'atom' content_type :atom @@ -87,7 +87,7 @@ get '/subscribe' do end get '/' do - @ids = GLSARepository.instance.get.keys.reverse + @ids = GLSARepository.instance.latest_ids @nav = :index erb :index end diff --git a/lib/glsa_repository.rb b/lib/glsa_repository.rb index 90c9899..ee1096b 100644 --- a/lib/glsa_repository.rb +++ b/lib/glsa_repository.rb @@ -32,12 +32,21 @@ class GLSARepository @load_date = DateTime.now @advisories = advisories.freeze + @latest = advisories.keys.sort.reverse.freeze end def get @advisories end + def latest_ids + @latest + end + + def latest(n = 10) + @latest[0..n].map {|id| @advisories[id] } + end + def[](id) @advisories[id] end |