Skip to content

Commit

Permalink
added an atom feed of hosted gems
Browse files Browse the repository at this point in the history
  • Loading branch information
cap10morgan authored and tomlea committed May 19, 2010
1 parent e2486d4 commit 17ec611
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 0 deletions.
5 changes: 5 additions & 0 deletions lib/geminabox.rb
Expand Up @@ -20,6 +20,11 @@ class Geminabox < Sinatra::Base
@gems = load_gems
erb :index
end

get '/atom.xml' do
@gems = load_gems
erb :atom, :layout => false
end

get '/upload' do
erb :upload
Expand Down
16 changes: 16 additions & 0 deletions views/atom.erb
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>

<feed xmlns="http://www.w3.org/2005/Atom">
<title>Gem in a Box</title>
<link href="<%= url_for '/atom.xml' %>" rel="self" />
<link href="<%= url_for '/' %>" />

<% @gems.each do |name, versions| %>
<entry>
<title><%= name %> (<%= versions.size == 1 ? versions.first : "#{versions.first} - #{versions.last}" %>)</title>
<% versions.each do |version| %>
<link href="<%= url_for "/gems/#{name}-#{version}.gem" %>" />
<% end %>
</entry>
<% end %>
</feed>
1 change: 1 addition & 0 deletions views/layout.erb
Expand Up @@ -2,6 +2,7 @@
<head>
<title>Gem in a Box</title>
<link rel="stylesheet" href="/master.css" type="text/css" media="screen" charset="utf-8">
<link href="/atom.xml" type="application/atom+xml" rel="alternate" title="Atom Feed">
<script type="text/javascript" src="/jquery.js"></script>
<script type="text/javascript" src="/master.js"></script>
</head>
Expand Down

0 comments on commit 17ec611

Please sign in to comment.