meta_manager 0.2.2 → 0.2.3
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.
- 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:
|