friendly_id 4.0.10 → 4.0.10.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e6d39c9619477767af3dc4196211c9499b9dce57
4
- data.tar.gz: 28b29864ab0e26ec97277cb0c3fb76c76b9d0673
3
+ metadata.gz: 9fbc5031a53b7d9a5ccd504f5ae0320b438ae54c
4
+ data.tar.gz: 4762396921c1d48229e84b3a2c3641a0910606e1
5
5
  SHA512:
6
- metadata.gz: be63c3d6212865cac1859b47b2ba2156850a746deeaa07c2dd4c0e464aeb90c611a3cd6e30194ca1a57578bff56bdaaab3619ab7b1f99d4f5539152e4d760464
7
- data.tar.gz: 71b8d5387468ecf5fe792eacbe9ce234e796a63ed37695eeb5863018eb50833ea7ed5af5af56ecc42f0808cd09688d28bcb723f1cfd1ee7e7cfda1a79b5fd6ff
6
+ metadata.gz: 626640c8d2daadc57079407bed1e692caf7c3e0c7f7768a8cab195cfbe1d274d0f0220cea71c5413f0293174ba769fb6e809f537e34285717aed4fb2f3d171c2
7
+ data.tar.gz: e27071a087add84317bcc85be519d070e00e9ada3fe77cc123234bbd4ac33cff258cb41bed593d9cca01330ab80f217bde9765720cc5d77187f7aa6e6341cb82
@@ -6,6 +6,11 @@ suggestions, ideas and improvements to FriendlyId.
6
6
  * Table of Contents
7
7
  {:toc}
8
8
 
9
+ ## 4.0.10.1 (2013-08-20)
10
+
11
+ * Update dependencies in gemspec to avoid using with Active Record 4.
12
+ * Fixed links in docs.
13
+
9
14
  ## 4.0.10 (2013-08-10)
10
15
 
11
16
  * Fixed table prefixes/suffixes being ignored (Jesse Farless)
data/Gemfile CHANGED
@@ -1,4 +1,4 @@
1
- source :rubygems
1
+ source 'https://rubygems.org'
2
2
 
3
3
  gemspec
4
4
 
data/Guide.rdoc CHANGED
@@ -114,9 +114,8 @@ store them in a field in your model. By default, this field must be named
114
114
  +:slug+, though you may change this using the
115
115
  {FriendlyId::Slugged::Configuration#slug_column slug_column} configuration
116
116
  option. You should add an index to this column, and in most cases, make it
117
- unique. Do not make the column unique in case you wish to scope the slug
118
- (more on this later). You may also wish to constrain it to NOT NULL, but this
119
- depends on your app's behavior and requirements.
117
+ unique. You may also wish to constrain it to NOT NULL, but this depends on your
118
+ app's behavior and requirements.
120
119
 
121
120
  === Example Setup
122
121
 
@@ -357,8 +356,27 @@ Without :scoped in this case, one of the restaurants would have the slug
357
356
  The value for the +:scope+ option can be the name of a +belongs_to+ relation, or
358
357
  a column.
359
358
 
360
- Please do note that you must drop the uniqueness constraint on the slug's
361
- column in the database when you're scoping the slug.
359
+ Additionally, the +:scope+ option can receive an array of scope values:
360
+
361
+ class Cuisine < ActiveRecord::Base
362
+ extend FriendlyId
363
+ has_many :restaurants
364
+ friendly_id :name, :use => :slugged
365
+ end
366
+
367
+ class City < ActiveRecord::Base
368
+ extend FriendlyId
369
+ has_many :restaurants
370
+ friendly_id :name, :use => :slugged
371
+ end
372
+
373
+ class Restaurant < ActiveRecord::Base
374
+ extend FriendlyId
375
+ belongs_to :city
376
+ friendly_id :name, :use => :scoped, :scope => [:city, :cuisine]
377
+ end
378
+
379
+ All supplied values will be used to determine scope.
362
380
 
363
381
  === Finding Records by Friendly ID
364
382
 
@@ -467,7 +485,7 @@ If you don't pass in a locale argument, FriendlyId::SimpleI18n will just use the
467
485
  current locale:
468
486
 
469
487
  I18n.with_locale(:es) do
470
- post.set_friendly_id("la-guerra-de-las-galaxas")
488
+ post.set_friendly_id("La guerra de las galaxas")
471
489
  end
472
490
 
473
491
 
@@ -499,12 +517,15 @@ Finds will take the current locale into consideration:
499
517
  I18n.locale = :en
500
518
  Post.find("star-wars")
501
519
 
520
+ Additionally, finds will fall back to the default locale:
521
+
522
+ I18n.locale = :it
523
+ Post.find("star-wars")
524
+
502
525
  To find a slug by an explicit locale, perform the find inside a block
503
526
  passed to I18n's +with_locale+ method:
504
527
 
505
- I18n.with_locale(:it) do
506
- Post.find("guerre-stellari")
507
- end
528
+ I18n.with_locale(:it) { Post.find("guerre-stellari") }
508
529
 
509
530
  === Creating Records
510
531
 
@@ -512,12 +533,17 @@ When new records are created, the slug is generated for the current locale only.
512
533
 
513
534
  === Translating Slugs
514
535
 
515
- To translate an existing record's friendly_id, simply change the locale and
516
- assign a value to the +slug+ field:
536
+ To translate an existing record's friendly_id, use
537
+ {FriendlyId::Globalize::Model#set_friendly_id}. This will ensure that the slug
538
+ you add is properly escaped, transliterated and sequenced:
517
539
 
518
- I18n.with_locale(:it) do
519
- post.slug = "guerre-stellari"
520
- end
540
+ post = Post.create :name => "Star Wars"
541
+ post.set_friendly_id("Guerre stellari", :it)
542
+
543
+ If you don't pass in a locale argument, FriendlyId::Globalize will just use the
544
+ current locale:
545
+
546
+ I18n.with_locale(:it) { post.set_friendly_id("Guerre stellari") }
521
547
 
522
548
 
523
549
  == Reserved Words
@@ -548,6 +574,6 @@ For example:
548
574
  after_validation :move_friendly_id_error_to_name
549
575
 
550
576
  def move_friendly_id_error_to_name
551
- errors.messages[:name] = errors.messages.delete(:friendly_id)
577
+ errors.add :name, *errors.delete(:friendly_id) if errors[:friendly_id].present?
552
578
  end
553
- end
579
+ end
data/README.md CHANGED
@@ -27,16 +27,16 @@ FriendlyId is compatible with Active Record **3.0** and higher.
27
27
 
28
28
  FriendlyId 4.x introduces many changes incompatible with 3.x. If you're
29
29
  upgrading, please [read the
30
- docs](http://rubydoc.info/github/FriendlyId/friendly_id/4.0-stable/file/WhatsNew.md) to see what's
30
+ docs](http://rubydoc.info/github/norman/friendly_id/4.0-stable/file/WhatsNew.md) to see what's
31
31
  new.
32
32
 
33
33
  ## Docs
34
34
 
35
35
  The current docs can always be found
36
- [here](http://rubydoc.info/github/FriendlyId/friendly_id/4.0-stable/frames).
36
+ [here](http://rubydoc.info/github/norman/friendly_id/4.0-stable/frames).
37
37
 
38
38
  The best place to start is with the
39
- [Guide](http://rubydoc.info/github/FriendlyId/friendly_id/4.0-stable/file/Guide.rdoc),
39
+ [Guide](http://rubydoc.info/github/norman/friendly_id/4.0-stable/file/Guide.rdoc),
40
40
  which compiles the top-level RDocs into one outlined document.
41
41
 
42
42
  You might also want to watch Ryan Bates's [Railscast on FriendlyId](http://railscasts.com/episodes/314-pretty-urls-with-friendlyid).
@@ -14,8 +14,8 @@ Gem::Specification.new do |s|
14
14
  s.test_files = `git ls-files -- {test}/*`.split("\n")
15
15
  s.require_paths = ["lib"]
16
16
 
17
- s.add_development_dependency "railties", ">= 3.0"
18
- s.add_development_dependency "activerecord", ">= 3.0"
17
+ s.add_dependency "activerecord", ">= 3.0", "< 4.0"
18
+ s.add_development_dependency "railties", ">= 3.0", "< 4.0"
19
19
  s.add_development_dependency "minitest", "~> 4.4.0"
20
20
  s.add_development_dependency "mocha", "~> 0.13.1"
21
21
  s.add_development_dependency "maruku"
@@ -1,3 +1,3 @@
1
1
  module FriendlyId
2
- VERSION = "4.0.10"
3
- end
2
+ VERSION = "4.0.10.1"
3
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: friendly_id
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.10
4
+ version: 4.0.10.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Norman Clarke
@@ -9,29 +9,38 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-08-10 00:00:00.000000000 Z
12
+ date: 2013-08-20 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: railties
15
+ name: activerecord
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
18
  - - '>='
19
19
  - !ruby/object:Gem::Version
20
20
  version: '3.0'
21
- type: :development
21
+ - - <
22
+ - !ruby/object:Gem::Version
23
+ version: '4.0'
24
+ type: :runtime
22
25
  prerelease: false
23
26
  version_requirements: !ruby/object:Gem::Requirement
24
27
  requirements:
25
28
  - - '>='
26
29
  - !ruby/object:Gem::Version
27
30
  version: '3.0'
31
+ - - <
32
+ - !ruby/object:Gem::Version
33
+ version: '4.0'
28
34
  - !ruby/object:Gem::Dependency
29
- name: activerecord
35
+ name: railties
30
36
  requirement: !ruby/object:Gem::Requirement
31
37
  requirements:
32
38
  - - '>='
33
39
  - !ruby/object:Gem::Version
34
40
  version: '3.0'
41
+ - - <
42
+ - !ruby/object:Gem::Version
43
+ version: '4.0'
35
44
  type: :development
36
45
  prerelease: false
37
46
  version_requirements: !ruby/object:Gem::Requirement
@@ -39,6 +48,9 @@ dependencies:
39
48
  - - '>='
40
49
  - !ruby/object:Gem::Version
41
50
  version: '3.0'
51
+ - - <
52
+ - !ruby/object:Gem::Version
53
+ version: '4.0'
42
54
  - !ruby/object:Gem::Dependency
43
55
  name: minitest
44
56
  requirement: !ruby/object:Gem::Requirement