From 50c4dc64b93945dc0afbe68076fdc528bcd46b55 Mon Sep 17 00:00:00 2001
From: Rafael Reggiani Manzo
Date: Wed, 13 Apr 2016 16:24:58 -0300
Subject: [PATCH] Add latest KalibroConfigurations listing
---
app/models/kalibro_configuration.rb | 4 ++++
app/views/home/index.html.erb | 28 ++++++++++++++++++++--------
spec/models/kalibro_configuration_spec.rb | 23 +++++++++++++++++++++++
3 files changed, 47 insertions(+), 8 deletions(-)
diff --git a/app/models/kalibro_configuration.rb b/app/models/kalibro_configuration.rb
index 9d7172d..4a5f9e4 100644
--- a/app/models/kalibro_configuration.rb
+++ b/app/models/kalibro_configuration.rb
@@ -28,4 +28,8 @@ class KalibroConfiguration < KalibroClient::Entities::Configurations::KalibroCon
@attributes = nil
super
end
+
+ def self.latest(count=1)
+ all.sort { |one, another| another.id <=> one.id }.select { |kalibro_configuration| kalibro_configuration.attributes.public }.first(count)
+ end
end
diff --git a/app/views/home/index.html.erb b/app/views/home/index.html.erb
index ae79ac7..fb30372 100644
--- a/app/views/home/index.html.erb
+++ b/app/views/home/index.html.erb
@@ -6,12 +6,24 @@
-<%= t('latest_projects') %>
+
+
+
+
<%= t('latest_projects') %>
-
- <% cache do %>
- <% @latest_projects.each do |project| %>
- - <%= link_to(project.name, project_path(project.id)) %>
- <% end %>
- <% end %>
-
+
+ <% cache do %>
+ <% @latest_projects.each do |project| %>
+ - <%= link_to(project.name, project_path(project.id)) %>
+ <% end %>
+ <% end %>
+
+
+
+
<%= t('latest_projects') %>
+
+
+
<%= t('latest_projects') %>
+
+
+
diff --git a/spec/models/kalibro_configuration_spec.rb b/spec/models/kalibro_configuration_spec.rb
index fdf5dde..85d8ba7 100644
--- a/spec/models/kalibro_configuration_spec.rb
+++ b/spec/models/kalibro_configuration_spec.rb
@@ -70,6 +70,29 @@ describe KalibroConfiguration, :type => :model do
end
end
end
+
+ describe 'latest' do
+ let!(:kalibro_configuration) { FactoryGirl.build(:kalibro_configuration, id: 1) }
+ let!(:another_kalibro_configuration) { FactoryGirl.build(:another_kalibro_configuration, id: 2) }
+ let!(:kalibro_configuration_attributes) { FactoryGirl.build(:kalibro_configuration_attributes) }
+
+ before :each do
+ kalibro_configuration.expects(:attributes).returns(kalibro_configuration_attributes)
+ another_kalibro_configuration.expects(:attributes).returns(kalibro_configuration_attributes)
+
+ KalibroConfiguration.expects(:all).returns([kalibro_configuration, another_kalibro_configuration])
+ end
+
+ it 'should return the two kalibro_configurations ordered' do
+ expect(KalibroConfiguration.latest(2)).to eq([another_kalibro_configuration, kalibro_configuration])
+ end
+
+ context 'when no parameter is passed' do
+ it 'should return just the most recent kalibro_configuration' do
+ expect(KalibroConfiguration.latest).to eq([another_kalibro_configuration])
+ end
+ end
+ end
end
describe 'destroy' do
--
libgit2 0.21.2