From 56b4f8a221b06b6dd3394d8a356852eabfa7afc3 Mon Sep 17 00:00:00 2001 From: Taylor Griffin Date: Sun, 16 Nov 2014 20:21:34 +1100 Subject: [PATCH] mimick old FriendlyId behavior when calling find on a model - therefore, Model.find not Model.friendly.find (this probably needs review) --- Gemfile | 3 +++ Gemfile.lock | 12 ++++++++++++ app/controllers/crops_controller.rb | 2 +- app/controllers/plantings_controller.rb | 2 +- app/mailers/notifier.rb | 4 ++-- app/models/crop.rb | 2 +- app/models/forum.rb | 2 +- app/models/garden.rb | 2 +- app/models/harvest.rb | 2 +- app/models/member.rb | 2 +- app/models/plant_part.rb | 2 +- app/models/planting.rb | 2 +- app/models/post.rb | 2 +- app/models/role.rb | 2 +- app/models/seed.rb | 2 +- 15 files changed, 29 insertions(+), 14 deletions(-) diff --git a/Gemfile b/Gemfile index 911a6ea79..2c5656312 100644 --- a/Gemfile +++ b/Gemfile @@ -14,6 +14,8 @@ gem 'protected_attributes', '~>1.0.1' gem 'rails-observers', '~>0.1.1' gem 'rails-perftest', '~>0.0.2' +gem 'byebug' + gem 'bundler', '>=1.1.5' gem 'rails', '4.1.7' @@ -130,6 +132,7 @@ gem 'rake', '>= 10.0.0' group :development, :test do gem 'haml-rails' # HTML templating language gem 'rspec-rails', '~> 3.1.0' # unit testing framework + gem 'rspec-activemodel-mocks' gem 'database_cleaner', '~> 1.3.0' gem 'webrat' # provides HTML matchers for view tests gem 'factory_girl_rails', '~> 4.5.0' # for creating test data diff --git a/Gemfile.lock b/Gemfile.lock index 14eb52d90..2a90c791c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -75,6 +75,10 @@ GEM bootstrap-datepicker-rails (1.3.0.2) railties (>= 3.0) builder (3.2.2) + byebug (3.5.1) + columnize (~> 0.8) + debugger-linecache (~> 1.2) + slop (~> 3.6) cancan (1.6.10) capybara (2.4.4) mime-types (>= 1.16) @@ -94,6 +98,7 @@ GEM coffee-script-source execjs coffee-script-source (1.8.0) + columnize (0.8.9) commonjs (0.2.7) coveralls (0.7.1) multi_json (~> 1.3) @@ -106,6 +111,7 @@ GEM dalli (2.7.2) database_cleaner (1.3.0) debug_inspector (0.0.2) + debugger-linecache (1.2.0) devise (3.4.1) bcrypt (~> 3.0) orm_adapter (~> 0.1) @@ -260,6 +266,10 @@ GEM rest-client (1.7.2) mime-types (>= 1.16, < 3.0) netrc (~> 0.7) + rspec-activemodel-mocks (1.0.1) + activemodel (>= 3.0) + activesupport (>= 3.0) + rspec-mocks (>= 2.99, < 4.0) rspec-core (3.1.7) rspec-support (~> 3.1.0) rspec-expectations (3.1.2) @@ -345,6 +355,7 @@ DEPENDENCIES bluecloth bootstrap-datepicker-rails bundler (>= 1.1.5) + byebug cancan capybara capybara-email @@ -389,6 +400,7 @@ DEPENDENCIES rails4_upgrade rails_12factor rake (>= 10.0.0) + rspec-activemodel-mocks rspec-rails (~> 3.1.0) sass-rails (~> 4.0.4) therubyracer (~> 0.12) diff --git a/app/controllers/crops_controller.rb b/app/controllers/crops_controller.rb index a30de159a..95b42cd01 100644 --- a/app/controllers/crops_controller.rb +++ b/app/controllers/crops_controller.rb @@ -55,7 +55,7 @@ class CropsController < ApplicationController @partial_matches = Crop.search(params[:search]) # exclude exact match from partial match list - @partial_matches.reject!{ |r| @exact_match && r.eql?(@exact_match) } + @partial_matches = @partial_matches.reject{ |r| @exact_match && r.eql?(@exact_match) } @fuzzy = Crop.search(params[:term]) diff --git a/app/controllers/plantings_controller.rb b/app/controllers/plantings_controller.rb index b08fe98fd..83a10facd 100644 --- a/app/controllers/plantings_controller.rb +++ b/app/controllers/plantings_controller.rb @@ -31,7 +31,7 @@ class PlantingsController < ApplicationController # GET /plantings/1 # GET /plantings/1.json def show - @planting = Planting.includes(:owner, :crop, :garden, :photos).find(params[:id]) + @planting = Planting.includes(:owner, :crop, :garden, :photos).friendly.find(params[:id]) respond_to do |format| format.html # show.html.erb diff --git a/app/mailers/notifier.rb b/app/mailers/notifier.rb index c1c7768b3..750b4ab16 100644 --- a/app/mailers/notifier.rb +++ b/app/mailers/notifier.rb @@ -13,8 +13,8 @@ class Notifier < ActionMailer::Base def planting_reminder(member) @member = member - @plantings = @member.plantings.reorder.last(5) - @harvests = @member.harvests.reorder.last(5) + @plantings = @member.plantings.last(5) + @harvests = @member.harvests.last(5) if @member.send_planting_reminder mail(:to => @member.email, diff --git a/app/models/crop.rb b/app/models/crop.rb index d85ab4647..3f5e5e9e7 100644 --- a/app/models/crop.rb +++ b/app/models/crop.rb @@ -1,6 +1,6 @@ class Crop < ActiveRecord::Base extend FriendlyId - friendly_id :name, use: :slugged + friendly_id :name, use: [:slugged, :finders] attr_accessible :en_wikipedia_url, :name, :parent_id, :creator_id, :scientific_names_attributes has_many :scientific_names diff --git a/app/models/forum.rb b/app/models/forum.rb index b673dbf19..f671a97c0 100644 --- a/app/models/forum.rb +++ b/app/models/forum.rb @@ -1,6 +1,6 @@ class Forum < ActiveRecord::Base extend FriendlyId - friendly_id :name, use: :slugged + friendly_id :name, use: [:slugged, :finders] attr_accessible :description, :name, :owner_id, :slug has_many :posts belongs_to :owner, :class_name => "Member" diff --git a/app/models/garden.rb b/app/models/garden.rb index 9e390f4bd..eb7d2e1b2 100644 --- a/app/models/garden.rb +++ b/app/models/garden.rb @@ -1,7 +1,7 @@ class Garden < ActiveRecord::Base include Geocodable extend FriendlyId - friendly_id :garden_slug, use: :slugged + friendly_id :garden_slug, use: [:slugged, :finders] attr_accessible :name, :slug, :owner_id, :description, :active, :location, :latitude, :longitude, :area, :area_unit diff --git a/app/models/harvest.rb b/app/models/harvest.rb index 184ae595d..76d5a30ec 100644 --- a/app/models/harvest.rb +++ b/app/models/harvest.rb @@ -1,7 +1,7 @@ class Harvest < ActiveRecord::Base include ActionView::Helpers::NumberHelper extend FriendlyId - friendly_id :harvest_slug, use: :slugged + friendly_id :harvest_slug, use: [:slugged, :finders] attr_accessible :crop_id, :harvested_at, :description, :owner_id, :quantity, :unit, :weight_quantity, :weight_unit, :plant_part_id, :slug diff --git a/app/models/member.rb b/app/models/member.rb index 8eebdcd72..176380800 100644 --- a/app/models/member.rb +++ b/app/models/member.rb @@ -2,7 +2,7 @@ class Member < ActiveRecord::Base include Geocodable extend FriendlyId - friendly_id :login_name, use: :slugged + friendly_id :login_name, use: [:slugged, :finders] has_many :posts, :foreign_key => 'author_id' has_many :comments, :foreign_key => 'author_id' diff --git a/app/models/plant_part.rb b/app/models/plant_part.rb index 16241372a..648ddd290 100644 --- a/app/models/plant_part.rb +++ b/app/models/plant_part.rb @@ -1,6 +1,6 @@ class PlantPart < ActiveRecord::Base extend FriendlyId - friendly_id :name, :use => :slugged + friendly_id :name, :use => [:slugged, :finders] has_many :harvests has_many :crops, -> { uniq }, :through => :harvests diff --git a/app/models/planting.rb b/app/models/planting.rb index aff4f37ba..b853cb256 100644 --- a/app/models/planting.rb +++ b/app/models/planting.rb @@ -1,6 +1,6 @@ class Planting < ActiveRecord::Base extend FriendlyId - friendly_id :planting_slug, use: :slugged + friendly_id :planting_slug, use: [:slugged, :finders] attr_accessible :crop_id, :description, :garden_id, :planted_at, :quantity, :sunniness, :planted_from, :owner_id, :finished, diff --git a/app/models/post.rb b/app/models/post.rb index 05d95e056..7f49ebc2c 100644 --- a/app/models/post.rb +++ b/app/models/post.rb @@ -1,6 +1,6 @@ class Post < ActiveRecord::Base extend FriendlyId - friendly_id :author_date_subject, use: :slugged + friendly_id :author_date_subject, use: [:slugged, :finders] attr_accessible :body, :subject, :author_id, :forum_id belongs_to :author, :class_name => 'Member' belongs_to :forum diff --git a/app/models/role.rb b/app/models/role.rb index 284fdd0d8..cf002d22d 100644 --- a/app/models/role.rb +++ b/app/models/role.rb @@ -1,6 +1,6 @@ class Role < ActiveRecord::Base extend FriendlyId - friendly_id :name, use: :slugged + friendly_id :name, use: [:slugged, :finders] attr_accessible :description, :name, :members, :slug has_and_belongs_to_many :members diff --git a/app/models/seed.rb b/app/models/seed.rb index c2183c2c9..ff2538218 100644 --- a/app/models/seed.rb +++ b/app/models/seed.rb @@ -1,6 +1,6 @@ class Seed < ActiveRecord::Base extend FriendlyId - friendly_id :seed_slug, use: :slugged + friendly_id :seed_slug, use: [:slugged, :finders] attr_accessible :owner_id, :crop_id, :description, :quantity, :plant_before, :tradable_to, :slug