meta_manager 0.2.2 → 0.2.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/meta_manager/taggable.rb +25 -25
- data/lib/meta_manager/version.rb +1 -1
- metadata +10 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 419562a536239133d474b71e3aafa19d50a9073d
|
4
|
+
data.tar.gz: 412be83ee94a87915a82e3e6216b4f48482e24ae
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0f8c7998821a4764e20e1f83d3c0892d4f288832f7ea800f6c1dde5f398e22f3a494c2543694cd326a7f30740f2191c3507ff5c436ec204f2063d0e47b538df3
|
7
|
+
data.tar.gz: 30ba5960694e4c7e9316fd09686076085220da16a73e2957542ad9a9f9397e654b17e49227410b72307b86e98402f45620011ccabd95935fac12ddea8d4140bc
|
@@ -1,17 +1,20 @@
|
|
1
1
|
module MetaManager
|
2
2
|
module Taggable
|
3
3
|
extend ::ActiveSupport::Concern
|
4
|
-
|
5
|
-
included do
|
4
|
+
|
5
|
+
included do
|
6
6
|
has_many :meta_tags, :as => :taggable, :dependent => :destroy, :autosave => true
|
7
|
-
|
7
|
+
|
8
8
|
accepts_nested_attributes_for :meta_tags, :reject_if => proc { |tag| tag['content'].blank? }, :allow_destroy => true
|
9
|
+
|
10
|
+
alias_method_chain :respond_to?, :tags
|
11
|
+
alias_method_chain :method_missing, :tags
|
9
12
|
end
|
10
|
-
|
13
|
+
|
11
14
|
# Save meta tags records into one hash
|
12
15
|
def meta_tag(attr_name, options={})
|
13
16
|
key = normalize_meta_tag_name(attr_name)
|
14
|
-
|
17
|
+
|
15
18
|
cached_meta_tags[key] ||= self.meta_tags.detect {|t| t.name == key}
|
16
19
|
cached_meta_tags[key] ||= self.meta_tags.build(:name => key) if options[:build]
|
17
20
|
cached_meta_tags[key]
|
@@ -20,38 +23,35 @@ module MetaManager
|
|
20
23
|
def cached_meta_tags
|
21
24
|
@cached_meta_tags ||= {}
|
22
25
|
end
|
23
|
-
|
24
|
-
def
|
25
|
-
if method_sym.to_s =~ meta_match_case
|
26
|
-
|
27
|
-
else
|
28
|
-
super
|
29
|
-
end
|
26
|
+
|
27
|
+
def respond_to_with_tags?(method_sym, include_all = false)
|
28
|
+
return true if method_sym.to_s =~ meta_match_case
|
29
|
+
respond_to_without_tags?(method_sym, include_all)
|
30
30
|
end
|
31
|
-
|
31
|
+
|
32
32
|
protected
|
33
|
-
|
34
|
-
def
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
def method_missing(method, *args, &block)
|
39
|
-
key = method.to_s
|
40
|
-
|
33
|
+
|
34
|
+
def method_missing_with_tags(method_name, *args)
|
35
|
+
key = method_name.to_s
|
36
|
+
|
41
37
|
if key =~ meta_match_case
|
42
38
|
attr_name = key.gsub(meta_match_case, '')
|
43
|
-
|
39
|
+
|
44
40
|
if key =~ /=$/ && !args.first.blank?
|
45
41
|
record = meta_tag(attr_name, :build => true)
|
46
42
|
record.content = args.first
|
47
|
-
else
|
43
|
+
else
|
48
44
|
meta_tag(attr_name).try(:content)
|
49
45
|
end
|
50
46
|
else
|
51
|
-
|
47
|
+
return method_missing_without_tags(method_name, *args)
|
52
48
|
end
|
53
49
|
end
|
54
|
-
|
50
|
+
|
51
|
+
def normalize_meta_tag_name(value)
|
52
|
+
value.to_s.downcase.strip.gsub("_before_type_cast", '').gsub(/=$/, '')
|
53
|
+
end
|
54
|
+
|
55
55
|
def meta_match_case
|
56
56
|
/^tag_/
|
57
57
|
end
|
data/lib/meta_manager/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: meta_manager
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pavel Galeta
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-05-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: orm_adapter
|
@@ -87,7 +87,11 @@ executables: []
|
|
87
87
|
extensions: []
|
88
88
|
extra_rdoc_files: []
|
89
89
|
files:
|
90
|
+
- MIT-LICENSE
|
91
|
+
- README.rdoc
|
92
|
+
- Rakefile
|
90
93
|
- db/migrate/20120105114018_create_meta_tags.rb
|
94
|
+
- lib/meta_manager.rb
|
91
95
|
- lib/meta_manager/engine.rb
|
92
96
|
- lib/meta_manager/helper.rb
|
93
97
|
- lib/meta_manager/model.rb
|
@@ -97,13 +101,10 @@ files:
|
|
97
101
|
- lib/meta_manager/orm/mongoid.rb
|
98
102
|
- lib/meta_manager/taggable.rb
|
99
103
|
- lib/meta_manager/version.rb
|
100
|
-
- lib/meta_manager.rb
|
101
104
|
- lib/tasks/meta_manager_tasks.rake
|
102
|
-
- MIT-LICENSE
|
103
|
-
- Rakefile
|
104
|
-
- README.rdoc
|
105
105
|
- test/controllers/posts_controller_test.rb
|
106
106
|
- test/controllers/welcome_controller_test.rb
|
107
|
+
- test/dummy/Rakefile
|
107
108
|
- test/dummy/app/assets/javascripts/application.js
|
108
109
|
- test/dummy/app/assets/stylesheets/application.css
|
109
110
|
- test/dummy/app/controllers/application_controller.rb
|
@@ -116,6 +117,7 @@ files:
|
|
116
117
|
- test/dummy/app/views/posts/index.html.erb
|
117
118
|
- test/dummy/app/views/posts/show.html.erb
|
118
119
|
- test/dummy/app/views/welcome/index.html.erb
|
120
|
+
- test/dummy/config.ru
|
119
121
|
- test/dummy/config/application.rb
|
120
122
|
- test/dummy/config/boot.rb
|
121
123
|
- test/dummy/config/database.yml
|
@@ -132,7 +134,6 @@ files:
|
|
132
134
|
- test/dummy/config/initializers/wrap_parameters.rb
|
133
135
|
- test/dummy/config/locales/en.yml
|
134
136
|
- test/dummy/config/routes.rb
|
135
|
-
- test/dummy/config.ru
|
136
137
|
- test/dummy/db/migrate/20111226131910_create_categories.rb
|
137
138
|
- test/dummy/db/migrate/20111226131911_create_posts.rb
|
138
139
|
- test/dummy/db/test.sqlite3
|
@@ -141,7 +142,6 @@ files:
|
|
141
142
|
- test/dummy/public/422.html
|
142
143
|
- test/dummy/public/500.html
|
143
144
|
- test/dummy/public/favicon.ico
|
144
|
-
- test/dummy/Rakefile
|
145
145
|
- test/dummy/script/rails
|
146
146
|
- test/meta_manager_test.rb
|
147
147
|
- test/models/category_test.rb
|
@@ -166,7 +166,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
166
166
|
version: '0'
|
167
167
|
requirements: []
|
168
168
|
rubyforge_project:
|
169
|
-
rubygems_version: 2.
|
169
|
+
rubygems_version: 2.4.5
|
170
170
|
signing_key:
|
171
171
|
specification_version: 4
|
172
172
|
summary: Head meta tags manager for models.
|
@@ -216,3 +216,4 @@ test_files:
|
|
216
216
|
- test/models/category_test.rb
|
217
217
|
- test/models/meta_tag_test.rb
|
218
218
|
- test/test_helper.rb
|
219
|
+
has_rdoc:
|