meta_manager 0.0.6 → 0.0.7
Sign up to get free protection for your applications and to get access to all the features.
- data/app/models/meta_tag.rb +1 -1
- data/lib/meta_manager/taggable.rb +6 -12
- data/lib/meta_manager/version.rb +1 -1
- data/test/dummy/log/test.log +3401 -0
- data/test/models/category_test.rb +13 -2
- data/test/models/meta_tag_test.rb +3 -0
- metadata +8 -8
data/app/models/meta_tag.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
class MetaTag < ::ActiveRecord::Base
|
2
2
|
belongs_to :taggable, :polymorphic => true
|
3
3
|
|
4
|
-
validates_presence_of :name, :taggable_type
|
4
|
+
validates_presence_of :name, :taggable_type, :content
|
5
5
|
validates_uniqueness_of :name, :scope => [:taggable_type, :taggable_id, :is_dynamic]
|
6
6
|
|
7
7
|
attr_accessible :name, :content, :is_dynamic
|
@@ -5,20 +5,14 @@ module MetaManager
|
|
5
5
|
included do
|
6
6
|
has_many :meta_tags, :as => :taggable, :dependent => :destroy, :autosave => true
|
7
7
|
|
8
|
-
accepts_nested_attributes_for :meta_tags, :reject_if =>
|
8
|
+
accepts_nested_attributes_for :meta_tags, :reject_if => proc { |tag| tag['content'].blank? }, :allow_destroy => true
|
9
9
|
end
|
10
|
-
|
11
|
-
# Find meta tag by name or build new record
|
12
|
-
def find_or_build_meta_tag(attr_name)
|
13
|
-
key = normalize_meta_tag_name(attr_name)
|
14
|
-
self.meta_tags.where(:name => key).first || self.meta_tags.build(:name => key)
|
15
|
-
end
|
16
|
-
|
10
|
+
|
17
11
|
# Save meta tags records into one hash
|
18
|
-
def meta_tag(attr_name)
|
12
|
+
def meta_tag(attr_name, options={})
|
19
13
|
key = normalize_meta_tag_name(attr_name)
|
20
14
|
@meta_tag ||= {}
|
21
|
-
@meta_tag[key] ||=
|
15
|
+
@meta_tag[key] ||= self.meta_tags.where(:name => key).first || (options[:build] ? self.meta_tags.build(:name => key) : nil)
|
22
16
|
end
|
23
17
|
|
24
18
|
def respond_to?(method_sym, include_private = false)
|
@@ -41,8 +35,8 @@ module MetaManager
|
|
41
35
|
if key =~ meta_match_case
|
42
36
|
attr_name = key.gsub(meta_match_case, '')
|
43
37
|
|
44
|
-
if key =~ /=$/
|
45
|
-
record = meta_tag(attr_name.chop)
|
38
|
+
if key =~ /=$/ && !args.first.blank?
|
39
|
+
record = meta_tag(attr_name.chop, :build => true)
|
46
40
|
record.content = args.first
|
47
41
|
else
|
48
42
|
meta_tag(attr_name).try(:content)
|
data/lib/meta_manager/version.rb
CHANGED