From 4dbfecd3159c5565f11226145f67e7577f4029ca Mon Sep 17 00:00:00 2001 From: Skud Date: Mon, 2 Sep 2013 11:52:01 +1000 Subject: [PATCH] Added toplevel scope for crops without a parent --- app/models/crop.rb | 1 + spec/models/crop_spec.rb | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/app/models/crop.rb b/app/models/crop.rb index 9717eb1da..8bae75bc4 100644 --- a/app/models/crop.rb +++ b/app/models/crop.rb @@ -14,6 +14,7 @@ class Crop < ActiveRecord::Base default_scope order("lower(system_name) asc") scope :recent, reorder("created_at desc") + scope :toplevel, where(:parent_id => nil) scope :randomized, reorder('random()') # ok on sqlite and psql, but not on mysql validates :en_wikipedia_url, diff --git a/spec/models/crop_spec.rb b/spec/models/crop_spec.rb index f7f606736..e872d2ecd 100644 --- a/spec/models/crop_spec.rb +++ b/spec/models/crop_spec.rb @@ -81,6 +81,12 @@ describe Crop do @roma.parent.should eq @tomato @tomato.varieties.should eq [@roma] end + + it 'toplevel scope works' do + @tomato = FactoryGirl.create(:tomato) + @roma = FactoryGirl.create(:roma, :parent_id => @tomato.id) + Crop.toplevel.should eq [ @tomato ] + end end context 'photos' do