acts_more_seo 0.4.3 → 1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: f08c3bede0d31c1308f305c064c968dc0d87dd38
4
+ data.tar.gz: c2cabffcb04a922af38fa87b55ed762ac0f2d94c
5
+ SHA512:
6
+ metadata.gz: 38bb4fc54d82262168ea60e8c9528eb077657b71ba5248a1eb2d780de28b73e416d17f47580ceca2c1106fb65cbbbdd62962440ad28dcfa239ce09c8808c591d
7
+ data.tar.gz: e930f8f58c5e8e43955c24c90fef8eceab5195593ac8f07090293a7025440ef24bd9015205edb3b28989425d96e58c969e76667a8bf1db3b63a881cc1c2b0293
data/CHANGELOG.rdoc CHANGED
@@ -28,3 +28,5 @@ Backward compatibility improvements
28
28
  * Multiply pauses fix
29
29
  = Version 0.4.3
30
30
  * Casting non-string types to string before creating url
31
+ = Version 1.0.0
32
+ = Rails 4 support (no backward compatibility)
data/Gemfile CHANGED
@@ -1,2 +1,3 @@
1
1
  source "http://rubygems.org"
2
2
  gemspec
3
+ gem 'activerecord', '>= 4.0.0', '< 4.1'
data/Rakefile CHANGED
@@ -3,13 +3,13 @@ require 'rubygems'
3
3
  require 'rake'
4
4
  require 'echoe'
5
5
 
6
- Echoe.new('acts_more_seo', '0.4.3') do |p|
6
+ Echoe.new('acts_more_seo', '1') do |p|
7
7
  p.description = "Gem makes your ActiveRecord models more SEO friendly. Changes URL to look way better"
8
- p.url = "https://github.com/mensfeld/Css-Image-Embedder"
8
+ p.url = "https://github.com/mensfeld/Acts-more-SEO"
9
9
  p.author = "Maciej Mensfeld"
10
10
  p.email = "maciej@mensfeld.pl"
11
11
  p.ignore_pattern = ["tmp/*", "script/*"]
12
12
  p.dependencies = ["babosa"]
13
- p.development_dependencies = ["rspec >=2.0.0", "activerecord"]
13
+ p.development_dependencies = ["rspec >=2.0.0", "activerecord >=4.0.0"]
14
14
  end
15
15
 
@@ -2,37 +2,37 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = "acts_more_seo"
5
- s.version = "0.4.3"
5
+ s.version = "1"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Maciej Mensfeld"]
9
- s.date = "2013-01-01"
9
+ s.date = "2013-06-27"
10
10
  s.description = "Gem makes your ActiveRecord models more SEO friendly. Changes URL to look way better"
11
11
  s.email = "maciej@mensfeld.pl"
12
12
  s.extra_rdoc_files = ["CHANGELOG.rdoc", "README.md", "lib/acts_more_seo.rb", "lib/generators/acts_more_seo/install_generator.rb", "lib/generators/acts_more_seo/templates/create_seo_history_migration.rb", "lib/seo_finder.rb", "lib/seo_formatter.rb", "lib/seo_history.rb", "lib/string_ext.rb"]
13
13
  s.files = ["CHANGELOG.rdoc", "Gemfile", "MIT-LICENSE", "Manifest", "README.md", "Rakefile", "acts_more_seo.gemspec", "init.rb", "lib/acts_more_seo.rb", "lib/generators/acts_more_seo/install_generator.rb", "lib/generators/acts_more_seo/templates/create_seo_history_migration.rb", "lib/seo_finder.rb", "lib/seo_formatter.rb", "lib/seo_history.rb", "lib/string_ext.rb", "spec/acts_more_seo_spec.rb", "spec/spec_helper.rb"]
14
- s.homepage = "https://github.com/mensfeld/Css-Image-Embedder"
14
+ s.homepage = "https://github.com/mensfeld/Acts-more-SEO"
15
15
  s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Acts_more_seo", "--main", "README.md"]
16
16
  s.require_paths = ["lib"]
17
17
  s.rubyforge_project = "acts_more_seo"
18
- s.rubygems_version = "1.8.10"
18
+ s.rubygems_version = "2.0.0"
19
19
  s.summary = "Gem makes your ActiveRecord models more SEO friendly. Changes URL to look way better"
20
20
 
21
21
  if s.respond_to? :specification_version then
22
- s.specification_version = 3
22
+ s.specification_version = 4
23
23
 
24
24
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
25
25
  s.add_runtime_dependency(%q<babosa>, [">= 0"])
26
26
  s.add_development_dependency(%q<rspec>, [">= 2.0.0"])
27
- s.add_development_dependency(%q<activerecord>, [">= 0"])
27
+ s.add_development_dependency(%q<activerecord>, [">= 4.0.0"])
28
28
  else
29
29
  s.add_dependency(%q<babosa>, [">= 0"])
30
30
  s.add_dependency(%q<rspec>, [">= 2.0.0"])
31
- s.add_dependency(%q<activerecord>, [">= 0"])
31
+ s.add_dependency(%q<activerecord>, [">= 4.0.0"])
32
32
  end
33
33
  else
34
34
  s.add_dependency(%q<babosa>, [">= 0"])
35
35
  s.add_dependency(%q<rspec>, [">= 2.0.0"])
36
- s.add_dependency(%q<activerecord>, [">= 0"])
36
+ s.add_dependency(%q<activerecord>, [">= 4.0.0"])
37
37
  end
38
38
  end
data/init.rb CHANGED
@@ -1,2 +1 @@
1
1
  require 'acts_more_seo'
2
-
data/lib/seo_finder.rb CHANGED
@@ -35,9 +35,9 @@ module Acts
35
35
  # Try to find element in an instance class table
36
36
  def search_in_table(name)
37
37
  if @klass.seo_use_id
38
- @klass.find_by_id(name)
38
+ @klass.find_by(:id => name)
39
39
  else
40
- @klass.find_by_seo_url name, :first
40
+ @klass.find_by(:seo_url => name)
41
41
  end
42
42
  end
43
43
 
@@ -47,14 +47,14 @@ module Acts
47
47
  if @klass.seo_use_id
48
48
  @klass.find(name)
49
49
  else
50
- @klass.find_by_seo_url! name, :first
50
+ @klass.find_by!(:seo_url => name)
51
51
  end
52
52
  end
53
53
 
54
54
  # Try to find element in its seo history
55
55
  def search_in_history(name)
56
56
  sql = 'seo_url = ? AND seo_historable_type = ?'
57
- ret = Acts::MoreSeo::SeoHistory.where(sql, name, @klass.to_s).limit(1).first
57
+ ret = Acts::MoreSeo::SeoHistory.where(sql, name, @klass.to_s).first
58
58
  ret = ret.seo_historable if ret
59
59
  ret
60
60
  end
@@ -4,26 +4,26 @@ require 'spec_helper'
4
4
  ROOT = File.expand_path(File.dirname(__FILE__))
5
5
 
6
6
  class CoolElement < ActiveRecord::Base
7
- acts_more_seo
7
+ acts_more_seo
8
8
  end
9
9
 
10
10
  class CoolerElement < ActiveRecord::Base
11
- acts_more_seo :title
11
+ acts_more_seo :title
12
12
  end
13
13
 
14
14
  class SpecialElement < ActiveRecord::Base
15
- acts_more_seo :columns => [:name, :surname, :title]
15
+ acts_more_seo :columns => [:name, :surname, :title]
16
16
  end
17
17
 
18
18
  class BestElement < ActiveRecord::Base
19
- acts_more_seo :columns => [:name, :surname, :title], :use_id => false
19
+ acts_more_seo :columns => [:name, :surname, :title], :use_id => false
20
20
  end
21
21
 
22
22
  class HistorableElement < ActiveRecord::Base
23
- acts_more_seo :columns => :name,
24
- :use_id => false,
25
- :history => true,
26
- :case_sensitive => true
23
+ acts_more_seo :columns => :name,
24
+ :use_id => false,
25
+ :history => true,
26
+ :case_sensitive => true
27
27
  end
28
28
 
29
29
  class IntegerElement < ActiveRecord::Base
@@ -40,12 +40,12 @@ describe CoolElement do
40
40
  a.name.to_url.should == 'kraj-zelaza'
41
41
  end
42
42
 
43
- context 'when we add some pauses in the name' do
44
- it "should replace them and leave only one" do
45
- a = subject.create(:name => 'Kraj - Żelaza')
46
- a.name.to_url.should == 'kraj-zelaza'
47
- end
48
- end
43
+ context 'when we add some pauses in the name' do
44
+ it "should replace them and leave only one" do
45
+ a = subject.create(:name => 'Kraj - Żelaza')
46
+ a.name.to_url.should == 'kraj-zelaza'
47
+ end
48
+ end
49
49
  end
50
50
 
51
51
  context "when we have a class which has use_id => true" do
@@ -100,7 +100,7 @@ describe CoolerElement do
100
100
 
101
101
  it "should raise error when there is no element" do
102
102
  a = subject.create
103
- lambda { subject.find_by_seo!(a.id+1) }.should raise_error(ActiveRecord::RecordNotFound)
103
+ lambda { subject.find_by_seo!(a.id+1) }.should raise_error(ActiveRecord::RecordNotFound)
104
104
  end
105
105
  end
106
106
 
@@ -142,8 +142,8 @@ describe SpecialElement do
142
142
 
143
143
  context "when there are all the params" do
144
144
  it "should return nice url" do
145
- a = subject.create({:name => 'maciej', :surname => 'mensfeld', :title => 'test abc'})
146
- a.to_param.should eql("#{a.id}-maciej-mensfeld-test-abc")
145
+ a = subject.create({:name => 'maciej', :surname => 'mensfeld', :title => 'test abc'})
146
+ a.to_param.should eql("#{a.id}-maciej-mensfeld-test-abc")
147
147
  end
148
148
  end
149
149
  end
@@ -184,10 +184,10 @@ describe BestElement do
184
184
 
185
185
  context "when there are all the params" do
186
186
  it "should return nice url" do
187
- a = subject.create({:name => 'maciej', :surname => 'mensfeld', :title => 'test abc'})
188
- a.seo_url.should eql("maciej-mensfeld-test-abc")
189
- a.reload
190
- a.seo_url.should eql("maciej-mensfeld-test-abc")
187
+ a = subject.create({:name => 'maciej', :surname => 'mensfeld', :title => 'test abc'})
188
+ a.seo_url.should eql("maciej-mensfeld-test-abc")
189
+ a.reload
190
+ a.seo_url.should eql("maciej-mensfeld-test-abc")
191
191
  end
192
192
  end
193
193
 
@@ -202,22 +202,22 @@ describe BestElement do
202
202
 
203
203
  context "when updating object" do
204
204
  it "should have refreshed seo_url" do
205
- a = subject.create({:name => 'mensfeld', :title => 'test abc'})
206
- a.seo_url.should eql("mensfeld-test-abc")
207
- a.name = 'kowalski'
208
- a.save
209
- a.seo_url.should eql("kowalski-test-abc")
210
- subject.find_by_seo("kowalski-test-abc").should eql(a)
205
+ a = subject.create({:name => 'mensfeld', :title => 'test abc'})
206
+ a.seo_url.should eql("mensfeld-test-abc")
207
+ a.name = 'kowalski'
208
+ a.save
209
+ a.seo_url.should eql("kowalski-test-abc")
210
+ subject.find_by_seo("kowalski-test-abc").should eql(a)
211
211
  end
212
212
  end
213
213
 
214
214
  context "when we have two objects" do
215
215
  it "should assing to the second - seo url with id" do
216
- a = subject.create({:name => 'mensfeld', :title => 'test abc'})
217
- b = subject.create({:name => 'mensfeld ', :title => 'test abc'})
218
- a.seo_url.should eql("mensfeld-test-abc")
219
- b.reload
220
- b.seo_url.should eql("#{b.id}-mensfeld-test-abc")
216
+ a = subject.create({:name => 'mensfeld', :title => 'test abc'})
217
+ b = subject.create({:name => 'mensfeld ', :title => 'test abc'})
218
+ a.seo_url.should eql("mensfeld-test-abc")
219
+ b.reload
220
+ b.seo_url.should eql("#{b.id}-mensfeld-test-abc")
221
221
  end
222
222
 
223
223
  context "and we change name in a second one" do
metadata CHANGED
@@ -1,49 +1,57 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: acts_more_seo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.3
5
- prerelease:
4
+ version: '1'
6
5
  platform: ruby
7
6
  authors:
8
7
  - Maciej Mensfeld
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-01-01 00:00:00.000000000 Z
11
+ date: 2013-06-27 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: babosa
16
- requirement: &20812460 !ruby/object:Gem::Requirement
17
- none: false
15
+ requirement: !ruby/object:Gem::Requirement
18
16
  requirements:
19
- - - ! '>='
17
+ - - '>='
20
18
  - !ruby/object:Gem::Version
21
19
  version: '0'
22
20
  type: :runtime
23
21
  prerelease: false
24
- version_requirements: *20812460
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
25
27
  - !ruby/object:Gem::Dependency
26
28
  name: rspec
27
- requirement: &20811840 !ruby/object:Gem::Requirement
28
- none: false
29
+ requirement: !ruby/object:Gem::Requirement
29
30
  requirements:
30
- - - ! '>='
31
+ - - '>='
31
32
  - !ruby/object:Gem::Version
32
33
  version: 2.0.0
33
34
  type: :development
34
35
  prerelease: false
35
- version_requirements: *20811840
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: 2.0.0
36
41
  - !ruby/object:Gem::Dependency
37
42
  name: activerecord
38
- requirement: &20811140 !ruby/object:Gem::Requirement
39
- none: false
43
+ requirement: !ruby/object:Gem::Requirement
40
44
  requirements:
41
- - - ! '>='
45
+ - - '>='
42
46
  - !ruby/object:Gem::Version
43
- version: '0'
47
+ version: 4.0.0
44
48
  type: :development
45
49
  prerelease: false
46
- version_requirements: *20811140
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: 4.0.0
47
55
  description: Gem makes your ActiveRecord models more SEO friendly. Changes URL to
48
56
  look way better
49
57
  email: maciej@mensfeld.pl
@@ -77,8 +85,9 @@ files:
77
85
  - lib/string_ext.rb
78
86
  - spec/acts_more_seo_spec.rb
79
87
  - spec/spec_helper.rb
80
- homepage: https://github.com/mensfeld/Css-Image-Embedder
88
+ homepage: https://github.com/mensfeld/Acts-more-SEO
81
89
  licenses: []
90
+ metadata: {}
82
91
  post_install_message:
83
92
  rdoc_options:
84
93
  - --line-numbers
@@ -90,22 +99,20 @@ rdoc_options:
90
99
  require_paths:
91
100
  - lib
92
101
  required_ruby_version: !ruby/object:Gem::Requirement
93
- none: false
94
102
  requirements:
95
- - - ! '>='
103
+ - - '>='
96
104
  - !ruby/object:Gem::Version
97
105
  version: '0'
98
106
  required_rubygems_version: !ruby/object:Gem::Requirement
99
- none: false
100
107
  requirements:
101
- - - ! '>='
108
+ - - '>='
102
109
  - !ruby/object:Gem::Version
103
110
  version: '1.2'
104
111
  requirements: []
105
112
  rubyforge_project: acts_more_seo
106
- rubygems_version: 1.8.10
113
+ rubygems_version: 2.0.0
107
114
  signing_key:
108
- specification_version: 3
115
+ specification_version: 4
109
116
  summary: Gem makes your ActiveRecord models more SEO friendly. Changes URL to look
110
117
  way better
111
118
  test_files: []