mimick old FriendlyId behavior when calling find on a model - therefore, Model.find not Model.friendly.find (this probably needs review)

This commit is contained in:
Taylor Griffin
2014-11-16 20:21:34 +11:00
parent f1945151c7
commit 56b4f8a221
15 changed files with 29 additions and 14 deletions

View File

@@ -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

View File

@@ -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)

View File

@@ -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])

View File

@@ -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

View File

@@ -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,

View File

@@ -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

View File

@@ -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"

View File

@@ -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

View File

@@ -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

View File

@@ -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'

View File

@@ -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

View File

@@ -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,

View File

@@ -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

View File

@@ -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

View File

@@ -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