summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYorick Peterse <yorickpeterse@gmail.com>2015-11-18 12:25:37 +0100
committerYorick Peterse <yorickpeterse@gmail.com>2015-11-18 13:05:45 +0100
commit01620dd7e7f3015e31ac0288ef71fcfc4f268a14 (patch)
tree0cd21ca4e405070e54d24888cb79ff0ae564be04
parentfbcf3bd3fc94a39982e2bb11aa61ac014326e53a (diff)
downloadgitlab-ce-01620dd7e7f3015e31ac0288ef71fcfc4f268a14.tar.gz
Added Event.limit_recent
This will be used to move some querying logic from the users controller to the Event model (where it belongs).
-rw-r--r--app/models/event.rb4
-rw-r--r--spec/models/event_spec.rb17
2 files changed, 21 insertions, 0 deletions
diff --git a/app/models/event.rb b/app/models/event.rb
index 7618b503d84..9afd223bce5 100644
--- a/app/models/event.rb
+++ b/app/models/event.rb
@@ -69,6 +69,10 @@ class Event < ActiveRecord::Base
row ? row.updated_at : nil
end
+
+ def limit_recent(limit = 20, offset = nil)
+ recent.limit(limit).offset(offset)
+ end
end
def proper?
diff --git a/spec/models/event_spec.rb b/spec/models/event_spec.rb
index f46c50ed6f3..ae53f7a536b 100644
--- a/spec/models/event_spec.rb
+++ b/spec/models/event_spec.rb
@@ -85,4 +85,21 @@ describe Event do
end
end
end
+
+ describe '.limit_recent' do
+ let!(:event1) { create(:closed_issue_event) }
+ let!(:event2) { create(:closed_issue_event) }
+
+ describe 'without an explicit limit' do
+ subject { Event.limit_recent }
+
+ it { is_expected.to eq([event2, event1]) }
+ end
+
+ describe 'with an explicit limit' do
+ subject { Event.limit_recent(1) }
+
+ it { is_expected.to eq([event2]) }
+ end
+ end
end