From dc1ab0912fcc47088bf8de5dd4c849886dd29eb2 Mon Sep 17 00:00:00 2001 From: Miles Gould Date: Fri, 25 Jan 2013 11:19:15 +0000 Subject: [PATCH] Order crops case-insensitively by default. --- app/models/crop.rb | 1 + spec/models/crop_spec.rb | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/app/models/crop.rb b/app/models/crop.rb index 75b2a1ffb..73be923aa 100644 --- a/app/models/crop.rb +++ b/app/models/crop.rb @@ -4,6 +4,7 @@ class Crop < ActiveRecord::Base attr_accessible :en_wikipedia_url, :system_name has_many :scientific_names has_many :plantings + default_scope order("lower(system_name) asc") def Crop.random @crop = Crop.offset(rand(Crop.count)).first diff --git a/spec/models/crop_spec.rb b/spec/models/crop_spec.rb index 36f645451..4716526ac 100644 --- a/spec/models/crop_spec.rb +++ b/spec/models/crop_spec.rb @@ -42,4 +42,12 @@ describe Crop do @rand_crop.system_name.should == 'Tomato' end end + + context 'ordering' do + it "should be sorted case-insensitively" do + uppercase = FactoryGirl.create(:uppercasecrop) + lowercase = FactoryGirl.create(:lowercasecrop) + Crop.first.should == lowercase + end + end end