Skip to content

Commit

Permalink
Adds a quick (and dirty) sidebar plugin that displays the 5 latest pu…
Browse files Browse the repository at this point in the history
…blish statuses.

This one should probably be renamed and we need to work on the overall statuses wording.
  • Loading branch information
Frédéric de Villamil committed Aug 9, 2013
1 parent 0ec9868 commit a897e46
Show file tree
Hide file tree
Showing 5 changed files with 60 additions and 0 deletions.
22 changes: 22 additions & 0 deletions lib/statuses_sidebar/Rakefile
@@ -0,0 +1,22 @@
require 'rake'
require 'rake/testtask'
require 'rake/rdoctask'

desc 'Default: run unit tests.'
task :default => :test

desc 'Test the statuses_sidebar plugin.'
Rake::TestTask.new(:test) do |t|
t.libs << 'lib'
t.pattern = 'test/**/*_test.rb'
t.verbose = true
end

desc 'Generate documentation for the statuses_sidebar plugin.'
Rake::RDocTask.new(:rdoc) do |rdoc|
rdoc.rdoc_dir = 'rdoc'
rdoc.title = 'ArchivesSidebar'
rdoc.options << '--line-numbers' << '--inline-source'
rdoc.rdoc_files.include('README')
rdoc.rdoc_files.include('lib/**/*.rb')
end
17 changes: 17 additions & 0 deletions lib/statuses_sidebar/app/views/statuses_sidebar/_content.html.erb
@@ -0,0 +1,17 @@
<% unless sidebar.statuses.blank? %>
<style type='text/css'>
.statuses_sidebar {
border-bottom: #eee 1px solid;
font-size: 0.9em;
}
</style>
<h3 class="sidebar-title"><%= sidebar.title %></h3>
<% sidebar.statuses.each do |status| %>
<div class='statuses_sidebar'>
<%= author_picture status %>
<%= status.html(:body) %>
<%= link_to_permalink(status, display_date_and_time(status.published_at)) %>
<%= view_on_twitter status %>
</div>
<% end %>
<% end %>
2 changes: 2 additions & 0 deletions lib/statuses_sidebar/init.rb
@@ -0,0 +1,2 @@
require 'sidebar'
require 'statuses_sidebar'
11 changes: 11 additions & 0 deletions lib/statuses_sidebar/lib/statuses_sidebar.rb
@@ -0,0 +1,11 @@
class StatusesSidebar < Sidebar
description 'Displays the latest statuses'
setting :title, 'Statuses'
setting :count, 5, :label => 'Number of statuses'

attr_accessor :statuses

def parse_request(contents, params)
@statuses = Status.published.page(params[:page]).per(count)
end
end
8 changes: 8 additions & 0 deletions lib/statuses_sidebar/test/archives_sidebar_test.rb
@@ -0,0 +1,8 @@
require 'test/unit'
require File.dirname(__FILE__) + '/../../../../test/test_helper'

class ArchivesSidebarTest < Test::Unit::TestCase
def test_sidebar_is_available
assert Sidebar.available_sidebars.include?(ArchivesSidebar)
end
end

0 comments on commit a897e46

Please sign in to comment.