nwp-friendly_id 2.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. data/History.txt +133 -0
  2. data/MIT-LICENSE +19 -0
  3. data/Manifest.txt +39 -0
  4. data/README.rdoc +343 -0
  5. data/Rakefile +49 -0
  6. data/config/website.yml +2 -0
  7. data/friendly_id.gemspec +45 -0
  8. data/generators/friendly_id/friendly_id_generator.rb +12 -0
  9. data/generators/friendly_id/templates/create_slugs.rb +18 -0
  10. data/generators/friendly_id_20_upgrade/friendly_id_20_upgrade_generator.rb +11 -0
  11. data/generators/friendly_id_20_upgrade/templates/upgrade_friendly_id_to_20.rb +19 -0
  12. data/init.rb +3 -0
  13. data/lib/friendly_id.rb +101 -0
  14. data/lib/friendly_id/helpers.rb +15 -0
  15. data/lib/friendly_id/non_sluggable_class_methods.rb +42 -0
  16. data/lib/friendly_id/non_sluggable_instance_methods.rb +43 -0
  17. data/lib/friendly_id/slug.rb +102 -0
  18. data/lib/friendly_id/sluggable_class_methods.rb +116 -0
  19. data/lib/friendly_id/sluggable_instance_methods.rb +115 -0
  20. data/lib/friendly_id/version.rb +10 -0
  21. data/lib/tasks/friendly_id.rake +50 -0
  22. data/lib/tasks/friendly_id.rb +1 -0
  23. data/test/contest.rb +94 -0
  24. data/test/custom_slug_normalizer_test.rb +35 -0
  25. data/test/models/book.rb +2 -0
  26. data/test/models/country.rb +4 -0
  27. data/test/models/event.rb +3 -0
  28. data/test/models/novel.rb +3 -0
  29. data/test/models/person.rb +6 -0
  30. data/test/models/post.rb +6 -0
  31. data/test/models/thing.rb +6 -0
  32. data/test/models/user.rb +3 -0
  33. data/test/non_slugged_test.rb +98 -0
  34. data/test/schema.rb +55 -0
  35. data/test/scoped_model_test.rb +53 -0
  36. data/test/slug_test.rb +106 -0
  37. data/test/slugged_model_test.rb +284 -0
  38. data/test/sti_test.rb +48 -0
  39. data/test/test_helper.rb +30 -0
  40. metadata +154 -0
data/test/sti_test.rb ADDED
@@ -0,0 +1,48 @@
1
+ # encoding: utf-8
2
+
3
+ require File.dirname(__FILE__) + '/test_helper'
4
+
5
+ class SluggedModelTest < Test::Unit::TestCase
6
+
7
+ context "A slugged model using single table inheritance" do
8
+
9
+ setup do
10
+ Novel.friendly_id_options = FriendlyId::DEFAULT_FRIENDLY_ID_OPTIONS.merge(:column => :title, :use_slug => true)
11
+ Novel.delete_all
12
+ Slug.delete_all
13
+ @novel = Novel.new :title => "Test novel"
14
+ @novel.save!
15
+ end
16
+
17
+ should "have a slug" do
18
+ assert_not_nil @novel.slug
19
+ end
20
+
21
+ context "found by its friendly id" do
22
+
23
+ setup do
24
+ @novel = Novel.find(@novel.friendly_id)
25
+ end
26
+
27
+ should "not indicate that it has a better id" do
28
+ assert !@novel.has_better_id?
29
+ end
30
+
31
+ end
32
+
33
+
34
+ context "found by its numeric id" do
35
+
36
+ setup do
37
+ @novel = Novel.find(@novel.id)
38
+ end
39
+
40
+ should "indicate that it has a better id" do
41
+ assert @novel.has_better_id?
42
+ end
43
+
44
+ end
45
+
46
+ end
47
+
48
+ end
@@ -0,0 +1,30 @@
1
+ # encoding: utf-8
2
+
3
+ $:.unshift(File.dirname(__FILE__) + '/../lib')
4
+ $:.unshift(File.dirname(__FILE__))
5
+ $KCODE = 'UTF8' if RUBY_VERSION < '1.9'
6
+ $VERBOSE = false
7
+ require 'test/unit'
8
+ require 'contest'
9
+ # You can use "rake test AR_VERSION=2.0.5" to test against 2.0.5, for example.
10
+ # The default is to use the latest installed ActiveRecord.
11
+ if ENV["AR_VERSION"]
12
+ gem 'activerecord', "#{ENV["AR_VERSION"]}"
13
+ gem 'activesupport', "#{ENV["AR_VERSION"]}"
14
+ end
15
+ require 'active_record'
16
+ require 'active_support'
17
+ require 'friendly_id'
18
+ require 'models/post'
19
+ require 'models/person'
20
+ require 'models/user'
21
+ require 'models/country'
22
+ require 'models/book'
23
+ require 'models/novel'
24
+ require 'models/thing'
25
+ require 'models/event'
26
+
27
+ ActiveRecord::Base.establish_connection :adapter => "sqlite3", :database => ":memory:"
28
+ silence_stream(STDOUT) do
29
+ load(File.dirname(__FILE__) + "/schema.rb")
30
+ end
metadata ADDED
@@ -0,0 +1,154 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: nwp-friendly_id
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.1.3
5
+ platform: ruby
6
+ authors:
7
+ - Norman Clarke
8
+ - Adrian Mugnolo
9
+ - Emilio Tagua
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain: []
13
+
14
+ date: 2009-08-15 00:00:00 -07:00
15
+ default_executable:
16
+ dependencies:
17
+ - !ruby/object:Gem::Dependency
18
+ name: activerecord
19
+ type: :runtime
20
+ version_requirement:
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - ">="
24
+ - !ruby/object:Gem::Version
25
+ version: 2.0.0
26
+ version:
27
+ - !ruby/object:Gem::Dependency
28
+ name: activesupport
29
+ type: :runtime
30
+ version_requirement:
31
+ version_requirements: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - ">="
34
+ - !ruby/object:Gem::Version
35
+ version: 2.0.0
36
+ version:
37
+ - !ruby/object:Gem::Dependency
38
+ name: newgem
39
+ type: :development
40
+ version_requirement:
41
+ version_requirements: !ruby/object:Gem::Requirement
42
+ requirements:
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ version: 1.4.1
46
+ version:
47
+ - !ruby/object:Gem::Dependency
48
+ name: sqlite3-ruby
49
+ type: :development
50
+ version_requirement:
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: "0"
56
+ version:
57
+ - !ruby/object:Gem::Dependency
58
+ name: hoe
59
+ type: :development
60
+ version_requirement:
61
+ version_requirements: !ruby/object:Gem::Requirement
62
+ requirements:
63
+ - - ">="
64
+ - !ruby/object:Gem::Version
65
+ version: 1.8.0
66
+ version:
67
+ description: A comprehensive slugging and pretty-URL plugin for ActiveRecord.
68
+ email:
69
+ - norman@rubysouth.com
70
+ - adrian@rubysouth.com
71
+ - miloops@gmail.com
72
+ executables: []
73
+
74
+ extensions: []
75
+
76
+ extra_rdoc_files:
77
+ - History.txt
78
+ - Manifest.txt
79
+ - README.rdoc
80
+ files:
81
+ - History.txt
82
+ - MIT-LICENSE
83
+ - Manifest.txt
84
+ - README.rdoc
85
+ - Rakefile
86
+ - config/website.yml
87
+ - friendly_id.gemspec
88
+ - generators/friendly_id/friendly_id_generator.rb
89
+ - generators/friendly_id/templates/create_slugs.rb
90
+ - generators/friendly_id_20_upgrade/friendly_id_20_upgrade_generator.rb
91
+ - generators/friendly_id_20_upgrade/templates/upgrade_friendly_id_to_20.rb
92
+ - init.rb
93
+ - lib/friendly_id.rb
94
+ - lib/friendly_id/helpers.rb
95
+ - lib/friendly_id/non_sluggable_class_methods.rb
96
+ - lib/friendly_id/non_sluggable_instance_methods.rb
97
+ - lib/friendly_id/slug.rb
98
+ - lib/friendly_id/sluggable_class_methods.rb
99
+ - lib/friendly_id/sluggable_instance_methods.rb
100
+ - lib/friendly_id/version.rb
101
+ - lib/tasks/friendly_id.rake
102
+ - lib/tasks/friendly_id.rb
103
+ - test/contest.rb
104
+ - test/custom_slug_normalizer_test.rb
105
+ - test/models/book.rb
106
+ - test/models/country.rb
107
+ - test/models/event.rb
108
+ - test/models/novel.rb
109
+ - test/models/person.rb
110
+ - test/models/post.rb
111
+ - test/models/thing.rb
112
+ - test/models/user.rb
113
+ - test/non_slugged_test.rb
114
+ - test/schema.rb
115
+ - test/scoped_model_test.rb
116
+ - test/slug_test.rb
117
+ - test/slugged_model_test.rb
118
+ - test/sti_test.rb
119
+ - test/test_helper.rb
120
+ has_rdoc: false
121
+ homepage: http://friendly-id.rubyforge.org/
122
+ licenses:
123
+ post_install_message:
124
+ rdoc_options:
125
+ - --main
126
+ - README.rdoc
127
+ require_paths:
128
+ - lib
129
+ required_ruby_version: !ruby/object:Gem::Requirement
130
+ requirements:
131
+ - - ">="
132
+ - !ruby/object:Gem::Version
133
+ version: "0"
134
+ version:
135
+ required_rubygems_version: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - ">="
138
+ - !ruby/object:Gem::Version
139
+ version: "0"
140
+ version:
141
+ requirements: []
142
+
143
+ rubyforge_project: friendly-id
144
+ rubygems_version: 1.3.5
145
+ signing_key:
146
+ specification_version: 3
147
+ summary: A comprehensive slugging and pretty-URL plugin for ActiveRecord.
148
+ test_files:
149
+ - test/custom_slug_normalizer_test.rb
150
+ - test/non_slugged_test.rb
151
+ - test/scoped_model_test.rb
152
+ - test/slug_test.rb
153
+ - test/slugged_model_test.rb
154
+ - test/sti_test.rb