Commit e0e6ee0c071efcd1e02bb33b45184f79be4a63c9
1 parent
98db4dcf
Exists in
master
and in
1 other branch
Atom feeds per app.
Showing
5 changed files
with
31 additions
and
17 deletions
Show diff stats
app/controllers/apps_controller.rb
... | ... | @@ -8,8 +8,15 @@ class AppsController < ApplicationController |
8 | 8 | end |
9 | 9 | |
10 | 10 | def show |
11 | - @errs = @app.errs.ordered.paginate(:page => params[:page], :per_page => Err.per_page) | |
12 | - @deploys = @app.deploys.order_by(:created_at.desc).limit(5) | |
11 | + respond_to do |format| | |
12 | + format.html do | |
13 | + @errs = @app.errs.ordered.paginate(:page => params[:page], :per_page => Err.per_page) | |
14 | + @deploys = @app.deploys.order_by(:created_at.desc).limit(5) | |
15 | + end | |
16 | + format.atom do | |
17 | + @errs = @app.errs.unresolved.ordered | |
18 | + end | |
19 | + end | |
13 | 20 | end |
14 | 21 | |
15 | 22 | def new | ... | ... |
app/views/apps/show.html.haml
1 | 1 | - content_for :title, @app.name |
2 | +- content_for :head do | |
3 | + = auto_discovery_link_tag :atom, app_url(@app, User.token_authentication_key => current_user.authentication_token, :format => "atom"), :title => "Errbit notices for #{@app.name} at #{root_url}" | |
2 | 4 | - content_for :meta do |
3 | 5 | %strong Errs Caught: |
4 | 6 | = @app.errs.count | ... | ... |
... | ... | @@ -0,0 +1,15 @@ |
1 | +feed.updated(@errs.first.created_at) | |
2 | + | |
3 | +for err in @errs | |
4 | + notice = err.notices.first | |
5 | + | |
6 | + feed.entry(err, :url => app_err_url(err.app, err)) do |entry| | |
7 | + entry.title "[#{ err.where }] #{err.message.to_s.truncate(27)}" | |
8 | + entry.author do |author| | |
9 | + author.name "#{ err.app.name } [#{ err.environment }]" | |
10 | + end | |
11 | + if notice | |
12 | + entry.summary(notice_atom_summary(notice), :type => "html") | |
13 | + end | |
14 | + end | |
15 | +end | ... | ... |
app/views/errs/index.atom.builder
1 | 1 | atom_feed do |feed| |
2 | 2 | feed.title("Errbit notices at #{root_url}") |
3 | - feed.updated(@errs.first.created_at) | |
4 | - | |
5 | - for err in @errs | |
6 | - notice = err.notices.first | |
7 | - | |
8 | - feed.entry(err, :url => app_err_url(err.app, err)) do |entry| | |
9 | - entry.title "[#{ err.where }] #{err.message.to_s.truncate(27)}" | |
10 | - entry.author do |author| | |
11 | - author.name "#{ err.app.name } [#{ err.environment }]" | |
12 | - end | |
13 | - if notice | |
14 | - entry.summary(notice_atom_summary(notice), :type => "html") | |
15 | - end | |
16 | - end | |
17 | - end | |
3 | + render :partial => "errs/list", :locals => {:feed => feed} | |
18 | 4 | end | ... | ... |