seo_meta 1.0.4 → 1.0.5

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.
@@ -35,7 +35,7 @@ def is_seo_meta(options = {})
35
35
  extend ::SeoMeta::ClassMethods
36
36
 
37
37
  # Ensure seo_meta is saved when the model is saved.
38
- after_save :save_meta_tags
38
+ after_save :save_meta_tags!
39
39
 
40
40
  # Delegate both the accessor and setters for the fields to :seo_meta
41
41
  fields = ::SeoMeta.attributes.keys.reject{|field|
@@ -5,10 +5,9 @@ module SeoMeta
5
5
  def included(base)
6
6
  # This has to be introduced using module_eval because it overrides something.
7
7
  base.module_eval do
8
- def seo_meta_with_build
9
- seo_meta_without_build || build_seo_meta_tags
8
+ def seo_meta
9
+ find_seo_meta_tags || build_seo_meta_tags
10
10
  end
11
- alias_method_chain :seo_meta, :build
12
11
 
13
12
  def attributes
14
13
  super.merge(seo_meta_attributes)
@@ -34,12 +33,17 @@ module SeoMeta
34
33
  end
35
34
 
36
35
  protected
36
+ def find_seo_meta_tags
37
+ @seo_meta ||= ::SeoMetum.where(:seo_meta_type => self.class.name,
38
+ :seo_meta_id => self.id).first
39
+ end
40
+
37
41
  def build_seo_meta_tags
38
42
  @seo_meta ||= ::SeoMetum.new :seo_meta_type => self.class.name
39
43
  end
40
44
 
41
- def save_meta_tags
42
- seo_meta.seo_meta_id ||= self.id
45
+ def save_meta_tags!
46
+ seo_meta.seo_meta_id ||= self.id unless seo_meta.persisted?
43
47
  seo_meta.save
44
48
  end
45
49
  end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: seo_meta
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 1.0.4
5
+ version: 1.0.5
6
6
  platform: ruby
7
7
  authors:
8
8
  - Philip Arndt
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-04-04 00:00:00 Z
13
+ date: 2011-04-28 00:00:00 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: refinerycms-generators
@@ -70,3 +70,4 @@ specification_version: 3
70
70
  summary: SEO Meta tags plugin
71
71
  test_files: []
72
72
 
73
+ has_rdoc: