sluggable_finder 2.3.1 → 2.3.2

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -2,5 +2,6 @@
2
2
  *.cache
3
3
  *.log
4
4
  .DS_Store
5
- spec/db/*.db
6
- pkg/*
5
+ spec/db/*
6
+ pkg/*
7
+ .rvmrc
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ # A sample Gemfile
2
+ source "http://rubygems.org"
3
+
4
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,33 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ sluggable_finder (2.3.2)
5
+ activerecord (<= 2.8.0)
6
+
7
+ GEM
8
+ remote: http://rubygems.org/
9
+ specs:
10
+ activerecord (2.3.11)
11
+ activesupport (= 2.3.11)
12
+ activesupport (2.3.11)
13
+ diff-lcs (1.1.2)
14
+ rake (0.8.7)
15
+ rspec (2.6.0)
16
+ rspec-core (~> 2.6.0)
17
+ rspec-expectations (~> 2.6.0)
18
+ rspec-mocks (~> 2.6.0)
19
+ rspec-core (2.6.0)
20
+ rspec-expectations (2.6.0)
21
+ diff-lcs (~> 1.1.2)
22
+ rspec-mocks (2.6.0)
23
+ sqlite3 (1.3.3)
24
+
25
+ PLATFORMS
26
+ ruby
27
+
28
+ DEPENDENCIES
29
+ bundler (>= 1.0.0)
30
+ rake
31
+ rspec
32
+ sluggable_finder!
33
+ sqlite3
data/README.markdown CHANGED
@@ -20,14 +20,15 @@ The plugin modifies to_param so it's transparent to link_to and url_for view hel
20
20
 
21
21
  Slugs are created when a model is created. Subsequent changes to the source field will not modify the slug unless you specifically change the value of the slug field. This is because permalinks should never change.
22
22
 
23
- Complete specs. To test, make sure you create an empty SQLite database file in spec/db/test.db
23
+ Complete specs. To test, make sure you create an empty SQLite database.
24
24
 
25
- Then run the following to load the test schema:
25
+ Run the following to load the test schema:
26
26
 
27
- rake db:create
27
+ rake db:create
28
28
 
29
- Note: I'm using mysql for now due to an apparent bug in ActiveRecord's sqlite3 adapter.
30
- Look for configuration in spec/sluggable_finder_spec.rb
29
+ Now you can run the tests
30
+
31
+ rake spec
31
32
 
32
33
  ## SYNOPSIS:
33
34
 
@@ -69,7 +70,7 @@ If you're using Integer-like strings in your slug column, you can ignore integer
69
70
  sluggable_finder :title, :allow_integer_ids => false
70
71
  end
71
72
 
72
- ### Single Table Inheritance (STI)
73
+ <h3 id="sti">Single Table Inheritance (STI)</h3>
73
74
 
74
75
  Slug uniqueness will be checked accross all classes in STI models. If you want to scope by sub-class, use :ignore_sti
75
76
 
data/Rakefile CHANGED
@@ -1,35 +1,9 @@
1
1
  require 'rake'
2
2
 
3
- begin
4
- require 'jeweler'
5
- Jeweler::Tasks.new do |s|
6
- s.name = "sluggable_finder"
7
- s.summary = %Q{Easy friendly URLs for your ActiveRecord models}
8
- s.email = "ismaelct@gmail.com"
9
- s.homepage = "http://github.com/ismasan/sluggable-finder"
10
- s.description = %(This plugin allows models to generate a unique "slug" (url-enabled name) from any regular attribute. Add friendly URLs to your models with one line.)
11
- s.authors = ["Ismael Celis"]
12
- s.add_dependency 'activerecord', ">= 2.2.2"
13
- end
14
- rescue LoadError
15
- puts "Jeweler not available. Install it with: sudo gem install technicalpickles-jeweler -s http://gems.github.com"
16
- end
17
-
18
- require 'rake/rdoctask'
19
- Rake::RDocTask.new do |rdoc|
20
- rdoc.rdoc_dir = 'rdoc'
21
- rdoc.title = 'sluggable_finder'
22
- rdoc.options << '--line-numbers' << '--inline-source'
23
- rdoc.rdoc_files.include('README*')
24
- rdoc.rdoc_files.include('lib/**/*.rb')
25
- end
26
-
27
- require 'rake/testtask'
28
- Rake::TestTask.new(:test) do |t|
29
- t.libs << 'lib' << 'test'
30
- t.pattern = 'test/**/*_test.rb'
31
- t.verbose = false
32
- end
3
+ require 'rubygems'
4
+ require 'bundler'
5
+ Bundler.setup
6
+ Bundler::GemHelper.install_tasks
33
7
 
34
8
  begin
35
9
  require 'rcov/rcovtask'
@@ -42,10 +16,9 @@ rescue LoadError
42
16
  puts "RCov is not available. In order to run rcov, you must: sudo gem install spicycode-rcov"
43
17
  end
44
18
 
45
- require 'spec/rake/spectask'
46
- Spec::Rake::SpecTask.new(:spec) do |t|
47
- t.spec_files = FileList["spec/**/*_spec.rb"]
48
- t.spec_opts = %w{-f s -c -L mtime}
19
+ desc 'Run specs'
20
+ task :spec do
21
+ system "rspec spec/sluggable_finder_spec.rb"
49
22
  end
50
23
 
51
24
  load File.join(File.dirname(__FILE__), 'tasks', 'db.rake')
@@ -0,0 +1,3 @@
1
+ module SluggableFinder
2
+ VERSION = '2.3.2'
3
+ end
@@ -19,12 +19,12 @@ module SluggableFinder
19
19
  ActiveRecord::Base.extend SluggableFinder::Orm::ClassMethods
20
20
  # support for associations
21
21
  a = ActiveRecord::Associations
22
- returning([ a::AssociationCollection ]) { |classes|
22
+ Array(ActiveRecord::Associations::AssociationCollection.tap { |classes|
23
23
  # detect http://dev.rubyonrails.org/changeset/9230
24
24
  unless a::HasManyThroughAssociation.superclass == a::HasManyAssociation
25
25
  classes << a::HasManyThroughAssociation
26
26
  end
27
- }.each do |klass|
27
+ }).each do |klass|
28
28
  klass.send :include, SluggableFinder::Finder
29
29
  klass.send :include, SluggableFinder::AssociationProxyFinder
30
30
  klass.alias_method_chain :find, :slug
@@ -1,64 +1,27 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
1
  # -*- encoding: utf-8 -*-
2
+ require File.expand_path("../lib/sluggable_finder/version", __FILE__)
5
3
 
6
4
  Gem::Specification.new do |s|
7
- s.name = %q{sluggable_finder}
8
- s.version = "2.3.1"
9
-
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Ismael Celis"]
12
- s.date = %q{2011-03-01}
13
- s.description = %q{This plugin allows models to generate a unique "slug" (url-enabled name) from any regular attribute. Add friendly URLs to your models with one line.}
14
- s.email = %q{ismaelct@gmail.com}
15
- s.extra_rdoc_files = [
16
- "README.markdown"
17
- ]
18
- s.files = [
19
- ".gitignore",
20
- "History.txt",
21
- "Manifest.txt",
22
- "PostInstall.txt",
23
- "README.markdown",
24
- "Rakefile",
25
- "VERSION.yml",
26
- "lib/sluggable_finder.rb",
27
- "lib/sluggable_finder/finder.rb",
28
- "lib/sluggable_finder/orm.rb",
29
- "script/console",
30
- "script/destroy",
31
- "script/generate",
32
- "sluggable_finder.gemspec",
33
- "spec/db/.gitignore",
34
- "spec/log/.gitignore",
35
- "spec/sluggable_finder_spec.rb",
36
- "spec/spec.opts",
37
- "spec/spec_helper.rb",
38
- "tasks/db.rake",
39
- "tasks/rspec.rake"
40
- ]
41
- s.homepage = %q{http://github.com/ismasan/sluggable-finder}
42
- s.rdoc_options = ["--charset=UTF-8"]
43
- s.require_paths = ["lib"]
44
- s.rubygems_version = %q{1.3.7}
5
+ s.name = "sluggable_finder"
6
+ s.version = SluggableFinder::VERSION
7
+ s.platform = Gem::Platform::RUBY
8
+ s.authors = ['Ismael Celis']
9
+ s.email = ['ismaelct@gmail.com']
10
+ s.homepage = "https://github.com/ismasan/sluggable-finder"
11
+ s.description = %q{This plugin allows models to generate a unique "slug" (url-enabled name) from any regular attribute. Add friendly URLs to your models with one line.}
45
12
  s.summary = %q{Easy friendly URLs for your ActiveRecord models}
46
- s.test_files = [
47
- "spec/sluggable_finder_spec.rb",
48
- "spec/spec_helper.rb"
49
- ]
50
13
 
51
- if s.respond_to? :specification_version then
52
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
53
- s.specification_version = 3
14
+ s.required_rubygems_version = ">= 1.3.6"
15
+ s.rubyforge_project = "sluggable_finder"
16
+
17
+ s.add_development_dependency "bundler", ">= 1.0.0"
18
+ s.add_development_dependency "rspec"
19
+ s.add_development_dependency 'rake'
20
+ s.add_development_dependency 'sqlite3'
21
+ s.add_dependency 'activerecord', "<= 2.8.0"
54
22
 
55
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
56
- s.add_runtime_dependency(%q<activerecord>, [">= 2.2.2"])
57
- else
58
- s.add_dependency(%q<activerecord>, [">= 2.2.2"])
59
- end
60
- else
61
- s.add_dependency(%q<activerecord>, [">= 2.2.2"])
62
- end
23
+ s.files = `git ls-files`.split("\n")
24
+ s.executables = `git ls-files`.split("\n").map{|f| f =~ /^bin\/(.*)/ ? $1 : nil}.compact
25
+ s.require_path = 'lib'
63
26
  end
64
27
 
@@ -1,17 +1,18 @@
1
- require File.dirname(__FILE__) + '/spec_helper'
1
+ # encoding: UTF-8
2
+ $KCODE = "UTF-8"
3
+ require File.dirname(File.expand_path(__FILE__)) + '/spec_helper'
2
4
 
3
5
  ActiveRecord::Base.establish_connection(
4
- # :adapter =>'sqlite3',
5
- # :database => File.join(File.dirname(__FILE__),'db','test.db')
6
- :adapter => 'mysql',
6
+ :adapter =>'sqlite3',
7
+ :database => File.join(File.dirname(__FILE__),'db','test.db'),
7
8
  :host => 'localhost',
8
- :database => 'sluggable_finder_test',
9
+ :database => 'spec/db/sluggable_finder_test',
9
10
  :user => 'root',
10
11
  :password => ''
11
12
  )
12
13
 
13
14
  LOGGER = Logger.new(STDOUT)
14
- ActiveRecord::Base.logger = LOGGER
15
+ # ActiveRecord::Base.logger = LOGGER
15
16
 
16
17
  # A test Model according to test schema in db/test.db
17
18
  #
data/spec/spec_helper.rb CHANGED
@@ -1,9 +1,17 @@
1
+ #!/usr/bin/env ruby -w
2
+ # encoding: UTF-8
3
+ $KCODE = "UTF-8"
4
+
5
+ require 'rubygems'
6
+ require 'bundler'
7
+ Bundler.setup
8
+
1
9
  begin
2
10
  require 'spec'
3
11
  rescue LoadError
4
12
  require 'rubygems'
5
13
  gem 'rspec'
6
- require 'spec'
14
+ require 'rspec'
7
15
  end
8
16
 
9
17
  $:.unshift(File.dirname(__FILE__) + '/../lib')
data/tasks/db.rake CHANGED
@@ -1,10 +1,9 @@
1
1
  require 'active_record'
2
2
  db = {
3
- # :adapter=>'sqlite3',
4
- # :dbfile=> File.join(File.dirname(__FILE__),'..','spec','db','test.db')
5
- :adapter => 'mysql',
3
+ :adapter=>'sqlite3',
4
+ :dbfile=> File.join(File.dirname(__FILE__),'..','spec','db','test.db'),
6
5
  :host => 'localhost',
7
- :database => 'sluggable_finder_test',
6
+ :database => 'spec/db/sluggable_finder_test',
8
7
  :user => 'root',
9
8
  :password => ''
10
9
  }
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sluggable_finder
3
3
  version: !ruby/object:Gem::Version
4
- hash: 1
4
+ hash: 7
5
5
  prerelease: false
6
6
  segments:
7
7
  - 2
8
8
  - 3
9
- - 1
10
- version: 2.3.1
9
+ - 2
10
+ version: 2.3.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Ismael Celis
@@ -15,44 +15,105 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-03-01 00:00:00 -03:00
18
+ date: 2011-05-31 00:00:00 +01:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
- name: activerecord
22
+ type: :development
23
+ name: bundler
24
+ prerelease: false
25
+ version_requirements: &id001 !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - ">="
29
+ - !ruby/object:Gem::Version
30
+ hash: 23
31
+ segments:
32
+ - 1
33
+ - 0
34
+ - 0
35
+ version: 1.0.0
36
+ requirement: *id001
37
+ - !ruby/object:Gem::Dependency
38
+ type: :development
39
+ name: rspec
23
40
  prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
41
+ version_requirements: &id002 !ruby/object:Gem::Requirement
25
42
  none: false
26
43
  requirements:
27
44
  - - ">="
28
45
  - !ruby/object:Gem::Version
29
46
  hash: 3
30
47
  segments:
31
- - 2
32
- - 2
33
- - 2
34
- version: 2.2.2
48
+ - 0
49
+ version: "0"
50
+ requirement: *id002
51
+ - !ruby/object:Gem::Dependency
52
+ type: :development
53
+ name: rake
54
+ prerelease: false
55
+ version_requirements: &id003 !ruby/object:Gem::Requirement
56
+ none: false
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ hash: 3
61
+ segments:
62
+ - 0
63
+ version: "0"
64
+ requirement: *id003
65
+ - !ruby/object:Gem::Dependency
66
+ type: :development
67
+ name: sqlite3
68
+ prerelease: false
69
+ version_requirements: &id004 !ruby/object:Gem::Requirement
70
+ none: false
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ hash: 3
75
+ segments:
76
+ - 0
77
+ version: "0"
78
+ requirement: *id004
79
+ - !ruby/object:Gem::Dependency
35
80
  type: :runtime
36
- version_requirements: *id001
81
+ name: activerecord
82
+ prerelease: false
83
+ version_requirements: &id005 !ruby/object:Gem::Requirement
84
+ none: false
85
+ requirements:
86
+ - - <=
87
+ - !ruby/object:Gem::Version
88
+ hash: 47
89
+ segments:
90
+ - 2
91
+ - 8
92
+ - 0
93
+ version: 2.8.0
94
+ requirement: *id005
37
95
  description: This plugin allows models to generate a unique "slug" (url-enabled name) from any regular attribute. Add friendly URLs to your models with one line.
38
- email: ismaelct@gmail.com
96
+ email:
97
+ - ismaelct@gmail.com
39
98
  executables: []
40
99
 
41
100
  extensions: []
42
101
 
43
- extra_rdoc_files:
44
- - README.markdown
102
+ extra_rdoc_files: []
103
+
45
104
  files:
46
105
  - .gitignore
106
+ - Gemfile
107
+ - Gemfile.lock
47
108
  - History.txt
48
109
  - Manifest.txt
49
110
  - PostInstall.txt
50
111
  - README.markdown
51
112
  - Rakefile
52
- - VERSION.yml
53
113
  - lib/sluggable_finder.rb
54
114
  - lib/sluggable_finder/finder.rb
55
115
  - lib/sluggable_finder/orm.rb
116
+ - lib/sluggable_finder/version.rb
56
117
  - script/console
57
118
  - script/destroy
58
119
  - script/generate
@@ -65,12 +126,12 @@ files:
65
126
  - tasks/db.rake
66
127
  - tasks/rspec.rake
67
128
  has_rdoc: true
68
- homepage: http://github.com/ismasan/sluggable-finder
129
+ homepage: https://github.com/ismasan/sluggable-finder
69
130
  licenses: []
70
131
 
71
132
  post_install_message:
72
- rdoc_options:
73
- - --charset=UTF-8
133
+ rdoc_options: []
134
+
74
135
  require_paths:
75
136
  - lib
76
137
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -87,17 +148,18 @@ required_rubygems_version: !ruby/object:Gem::Requirement
87
148
  requirements:
88
149
  - - ">="
89
150
  - !ruby/object:Gem::Version
90
- hash: 3
151
+ hash: 23
91
152
  segments:
92
- - 0
93
- version: "0"
153
+ - 1
154
+ - 3
155
+ - 6
156
+ version: 1.3.6
94
157
  requirements: []
95
158
 
96
- rubyforge_project:
159
+ rubyforge_project: sluggable_finder
97
160
  rubygems_version: 1.3.7
98
161
  signing_key:
99
162
  specification_version: 3
100
163
  summary: Easy friendly URLs for your ActiveRecord models
101
- test_files:
102
- - spec/sluggable_finder_spec.rb
103
- - spec/spec_helper.rb
164
+ test_files: []
165
+
data/VERSION.yml DELETED
@@ -1,5 +0,0 @@
1
- ---
2
- :major: 2
3
- :minor: 3
4
- :patch: 1
5
- :build: