acts_more_seo 0.2.5 → 0.2.6

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.rdoc CHANGED
@@ -11,4 +11,6 @@
11
11
  = Version 0.2.4
12
12
  Backward compatibility improvements
13
13
  = Version 0.2.5
14
- * Using ID when to_url returns same string as existing (conflicts)
14
+ * Using ID when to_url returns same string as existing (conflicts)
15
+ = Version 0.2.6
16
+ * find_by_seo and find_by_seo! (with raising not found exception)
data/Rakefile CHANGED
@@ -3,7 +3,7 @@ require 'rubygems'
3
3
  require 'rake'
4
4
  require 'echoe'
5
5
 
6
- Echoe.new('acts_more_seo', '0.2.5') do |p|
6
+ Echoe.new('acts_more_seo', '0.2.6') do |p|
7
7
  p.description = "Gem makes your ActiveRecord models more SEO friendly. Changes URL to look way better"
8
8
  p.url = "https://github.com/mensfeld/Css-Image-Embedder"
9
9
  p.author = "Maciej Mensfeld"
@@ -2,11 +2,11 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{acts_more_seo}
5
- s.version = "0.2.5"
5
+ s.version = "0.2.6"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = [%q{Maciej Mensfeld}]
9
- s.date = %q{2011-11-07}
9
+ s.date = %q{2011-11-15}
10
10
  s.description = %q{Gem makes your ActiveRecord models more SEO friendly. Changes URL to look way better}
11
11
  s.email = %q{maciej@mensfeld.pl}
12
12
  s.extra_rdoc_files = [%q{CHANGELOG.rdoc}, %q{README.md}, %q{lib/acts_more_seo.rb}, %q{lib/string_ext.rb}]
data/lib/acts_more_seo.rb CHANGED
@@ -91,13 +91,19 @@ module Acts
91
91
  self.column_names.include?("#{:seo_url}")
92
92
  end
93
93
 
94
- def find_by_seo(id)
94
+ def find_by_seo!(id)
95
95
  if self.seo_use_id
96
96
  find(id)
97
97
  else
98
- el = find_by_seo_url id, :first
99
- raise ActiveRecord::RecordNotFound unless el
100
- el
98
+ find_by_seo_url! id, :first
99
+ end
100
+ end
101
+
102
+ def find_by_seo(id)
103
+ if self.seo_use_id
104
+ find_by_id(id)
105
+ else
106
+ find_by_seo_url id, :first
101
107
  end
102
108
  end
103
109
 
@@ -29,7 +29,8 @@ describe CoolElement do
29
29
  subject.find_by_seo(a.id).should eql(a)
30
30
  subject.find_by_seo(a.to_param).should eql(a)
31
31
  subject.find_by_seo("#{a.to_param}aaa").should eql(a)
32
- lambda { subject.find_by_seo("134534dass") }.should raise_error(ActiveRecord::RecordNotFound)
32
+ subject.find_by_seo("134534dass").should eql(nil)
33
+ lambda { subject.find_by_seo!("134534dass") }.should raise_error(ActiveRecord::RecordNotFound)
33
34
  end
34
35
  end
35
36
 
@@ -72,7 +73,7 @@ describe CoolerElement do
72
73
 
73
74
  it "should raise error when there is no element" do
74
75
  a = subject.create
75
- lambda { subject.find_by_seo(a.id+1) }.should raise_error(ActiveRecord::RecordNotFound)
76
+ lambda { subject.find_by_seo!(a.id+1) }.should raise_error(ActiveRecord::RecordNotFound)
76
77
  end
77
78
  end
78
79
 
@@ -80,7 +81,7 @@ describe CoolerElement do
80
81
  it "should return nice url" do
81
82
  a = subject.create(:title => 'bla bla bla')
82
83
  a.to_param.should eql("#{a.id}-bla-bla-bla")
83
- subject.find_by_seo(a.to_param).should eql(a)
84
+ subject.find_by_seo!(a.to_param).should eql(a)
84
85
  end
85
86
 
86
87
  context "and there are some url-not-friendly letters" do
@@ -167,8 +168,8 @@ describe BestElement do
167
168
  context "when we have a class which has use_id => false" do
168
169
  it "should find element only when seo_url is same (or by id)" do
169
170
  a = subject.create(:name => 'bla bla bla')
170
- subject.find_by_seo(a.seo_url).should eql(a)
171
- lambda { subject.find_by_seo("#{a.to_param}aaa") }.should raise_error(ActiveRecord::RecordNotFound)
171
+ subject.find_by_seo!(a.seo_url).should eql(a)
172
+ lambda { subject.find_by_seo!("#{a.to_param}aaa") }.should raise_error(ActiveRecord::RecordNotFound)
172
173
  end
173
174
  end
174
175
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: acts_more_seo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.5
4
+ version: 0.2.6
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-11-07 00:00:00.000000000Z
12
+ date: 2011-11-15 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: &17432380 !ruby/object:Gem::Requirement
16
+ requirement: &15894980 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 2.0.0
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *17432380
24
+ version_requirements: *15894980
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: active_record
27
- requirement: &17431920 !ruby/object:Gem::Requirement
27
+ requirement: &15868480 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,7 +32,7 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *17431920
35
+ version_requirements: *15868480
36
36
  description: Gem makes your ActiveRecord models more SEO friendly. Changes URL to
37
37
  look way better
38
38
  email: maciej@mensfeld.pl