metamagic 3.0.0 → 3.0.1
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/metamagic/renderer.rb +1 -1
- data/lib/metamagic/tags/meta_tag.rb +2 -1
- data/lib/metamagic/tags/property_tag.rb +1 -1
- data/lib/metamagic/tags/title_tag.rb +1 -1
- data/lib/metamagic/version.rb +1 -1
- data/test/legacy_test.rb +11 -0
- data/test/meta_tag_test.rb +44 -0
- data/test/metamagic_test.rb +1 -31
- data/test/open_graph_test.rb +18 -0
- data/test/property_tag_test.rb +47 -0
- data/test/title_tag_test.rb +13 -0
- data/test/twitter_test.rb +16 -0
- metadata +23 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fba62bacfa3f4e346ae0524f52b8514f6d9b20b5
|
4
|
+
data.tar.gz: 58f310e55106f357ae972bdf1d5386b1ab5261d5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2e9bad37c4556b757d3b774cbb0d80ea5fb83658d60e01a3baa3fd2dac4c2af7d3701322cb905529738c72da8cfa313544e80f3d218cc753fb119c950d4d5dee
|
7
|
+
data.tar.gz: 0b6de62e85b5dddf63a10179169cd1e675f5630f3d14d1dafce7c2cee1534aec478214bb9767ee8482ecdda732d214524e6130a89822c7eb95eec05d1a6b569e
|
data/lib/metamagic/renderer.rb
CHANGED
@@ -6,7 +6,7 @@ module Metamagic
|
|
6
6
|
end
|
7
7
|
|
8
8
|
def to_html
|
9
|
-
Array(value).map { |value| tag(:meta, property: key, content: value) }.join("\n").html_safe
|
9
|
+
Array(value).compact.map { |value| tag(:meta, property: key, content: value) }.join("\n").html_safe.presence
|
10
10
|
end
|
11
11
|
|
12
12
|
def sort_order
|
data/lib/metamagic/version.rb
CHANGED
data/test/legacy_test.rb
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class LegacyTest < ActionView::TestCase
|
4
|
+
include Metamagic::ViewHelper
|
5
|
+
|
6
|
+
test "old property definition" do
|
7
|
+
assert_raises ArgumentError do
|
8
|
+
meta [:property => "og:image", :content => "http://mydomain.com/images/my_image.jpg"]
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class MetaTagTest < ActionView::TestCase
|
4
|
+
include Metamagic::ViewHelper
|
5
|
+
|
6
|
+
test "nil meta value" do
|
7
|
+
title "Test Title"
|
8
|
+
description nil
|
9
|
+
|
10
|
+
assert_equal %{<title>Test Title</title>},
|
11
|
+
metamagic
|
12
|
+
end
|
13
|
+
|
14
|
+
test "array as meta value" do
|
15
|
+
keywords %w{one two three}
|
16
|
+
|
17
|
+
assert_equal %{<meta content="one, two, three" name="keywords" />},
|
18
|
+
metamagic
|
19
|
+
end
|
20
|
+
|
21
|
+
test "empty array as meta value" do
|
22
|
+
title "Test Title"
|
23
|
+
keywords []
|
24
|
+
|
25
|
+
assert_equal %{<title>Test Title</title>},
|
26
|
+
metamagic
|
27
|
+
end
|
28
|
+
|
29
|
+
test "nil in array as meta value" do
|
30
|
+
title "Test Title"
|
31
|
+
keywords ["one", nil, "two"]
|
32
|
+
|
33
|
+
assert_equal %{<title>Test Title</title>\n<meta content="one, two" name="keywords" />},
|
34
|
+
metamagic
|
35
|
+
end
|
36
|
+
|
37
|
+
test "nil only array as meta value" do
|
38
|
+
title "Test Title"
|
39
|
+
keywords [nil]
|
40
|
+
|
41
|
+
assert_equal %{<title>Test Title</title>},
|
42
|
+
metamagic
|
43
|
+
end
|
44
|
+
end
|
data/test/metamagic_test.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
|
3
|
-
class
|
3
|
+
class MetamagicTest < ActionView::TestCase
|
4
4
|
include Metamagic::ViewHelper
|
5
5
|
|
6
6
|
test "meta tags generation" do
|
@@ -31,30 +31,6 @@ class HelperMethodsTest < ActionView::TestCase
|
|
31
31
|
metamagic
|
32
32
|
end
|
33
33
|
|
34
|
-
test "open graph" do
|
35
|
-
meta title: "Test Title",
|
36
|
-
og: {
|
37
|
-
image: {
|
38
|
-
url: "http://test.com/image.jpg",
|
39
|
-
type: "image/png"
|
40
|
-
}
|
41
|
-
}
|
42
|
-
|
43
|
-
assert_equal %{<title>Test Title</title>\n<meta content="http://test.com/image.jpg" property="og:image:url" />\n<meta content="image/png" property="og:image:type" />},
|
44
|
-
metamagic
|
45
|
-
end
|
46
|
-
|
47
|
-
test "twitter cards" do
|
48
|
-
meta title: "Test Title",
|
49
|
-
twitter: {
|
50
|
-
card: :summary,
|
51
|
-
site: "@flickr"
|
52
|
-
}
|
53
|
-
|
54
|
-
assert_equal %{<title>Test Title</title>\n<meta content="summary" property="twitter:card" />\n<meta content="@flickr" property="twitter:site" />},
|
55
|
-
metamagic
|
56
|
-
end
|
57
|
-
|
58
34
|
test "custom tags" do
|
59
35
|
Metamagic::Renderer.register_tag_type :custom, ->(key, value) { tag(:custom_tag, one: key, two: value) }
|
60
36
|
|
@@ -99,10 +75,4 @@ class HelperMethodsTest < ActionView::TestCase
|
|
99
75
|
assert_equal %{<title>My Title</title>\n<meta content="one, two, three" name="keywords" />\n<meta content="My description." name="description" />\n<meta content="http://test.com/image.png" property="og:image" />\n<meta content="summary" property="twitter:card" />},
|
100
76
|
metamagic
|
101
77
|
end
|
102
|
-
|
103
|
-
test "old property definition" do
|
104
|
-
assert_raises ArgumentError do
|
105
|
-
meta [:property => "og:image", :content => "http://mydomain.com/images/my_image.jpg"]
|
106
|
-
end
|
107
|
-
end
|
108
78
|
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class OpenGraphTest < ActionView::TestCase
|
4
|
+
include Metamagic::ViewHelper
|
5
|
+
|
6
|
+
test "open graph" do
|
7
|
+
meta title: "Test Title",
|
8
|
+
og: {
|
9
|
+
image: {
|
10
|
+
url: "http://test.com/image.jpg",
|
11
|
+
type: "image/png"
|
12
|
+
}
|
13
|
+
}
|
14
|
+
|
15
|
+
assert_equal %{<title>Test Title</title>\n<meta content="http://test.com/image.jpg" property="og:image:url" />\n<meta content="image/png" property="og:image:type" />},
|
16
|
+
metamagic
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class PropertyTagTest < ActionView::TestCase
|
4
|
+
include Metamagic::ViewHelper
|
5
|
+
|
6
|
+
test "property array" do
|
7
|
+
og image: ["one.jpg", "two.jpg"]
|
8
|
+
|
9
|
+
assert_equal %{<meta content="one.jpg" property="og:image" />\n<meta content="two.jpg" property="og:image" />},
|
10
|
+
metamagic
|
11
|
+
end
|
12
|
+
|
13
|
+
test "nil property" do
|
14
|
+
og title: "Test Title",
|
15
|
+
image: nil
|
16
|
+
|
17
|
+
assert_equal %{<meta content="Test Title" property="og:title" />},
|
18
|
+
metamagic
|
19
|
+
end
|
20
|
+
|
21
|
+
test "nil only property array" do
|
22
|
+
og title: "Test Title",
|
23
|
+
image: [nil]
|
24
|
+
|
25
|
+
assert_equal %{<meta content="Test Title" property="og:title" />},
|
26
|
+
metamagic
|
27
|
+
end
|
28
|
+
|
29
|
+
test "nil in property array" do
|
30
|
+
og title: "Test Title",
|
31
|
+
image: ["one.jpg", nil, "two.jpg"]
|
32
|
+
|
33
|
+
assert_equal %{<meta content="Test Title" property="og:title" />\n<meta content="one.jpg" property="og:image" />\n<meta content="two.jpg" property="og:image" />},
|
34
|
+
metamagic
|
35
|
+
end
|
36
|
+
|
37
|
+
test "empty property array" do
|
38
|
+
og image: "http://test.com/image.png",
|
39
|
+
book: {
|
40
|
+
author: ["Leif Davidsen", "Anders Mogensen"],
|
41
|
+
tag: []
|
42
|
+
}
|
43
|
+
|
44
|
+
assert_equal %{<meta content="http://test.com/image.png" property="og:image" />\n<meta content="Leif Davidsen" property="og:book:author" />\n<meta content="Anders Mogensen" property="og:book:author" />},
|
45
|
+
metamagic
|
46
|
+
end
|
47
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class TitleTagTest < ActionView::TestCase
|
4
|
+
include Metamagic::ViewHelper
|
5
|
+
|
6
|
+
test "nil title" do
|
7
|
+
title nil
|
8
|
+
description "Test description"
|
9
|
+
|
10
|
+
assert_equal %{<meta content="Test description" name="description" />},
|
11
|
+
metamagic
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class TwitterTest < ActionView::TestCase
|
4
|
+
include Metamagic::ViewHelper
|
5
|
+
|
6
|
+
test "twitter cards" do
|
7
|
+
meta title: "Test Title",
|
8
|
+
twitter: {
|
9
|
+
card: :summary,
|
10
|
+
site: "@flickr"
|
11
|
+
}
|
12
|
+
|
13
|
+
assert_equal %{<title>Test Title</title>\n<meta content="summary" property="twitter:card" />\n<meta content="@flickr" property="twitter:site" />},
|
14
|
+
metamagic
|
15
|
+
end
|
16
|
+
end
|
metadata
CHANGED
@@ -1,41 +1,41 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: metamagic
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.
|
4
|
+
version: 3.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Lasse Bunk
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-06-
|
11
|
+
date: 2014-06-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - '>='
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: 3.0.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - '>='
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 3.0.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: sqlite3
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - '>='
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - '>='
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
description: Metamagic is a simple Ruby on Rails plugin for creating meta tags.
|
@@ -45,8 +45,8 @@ executables: []
|
|
45
45
|
extensions: []
|
46
46
|
extra_rdoc_files: []
|
47
47
|
files:
|
48
|
-
-
|
49
|
-
-
|
48
|
+
- .gitignore
|
49
|
+
- .travis.yml
|
50
50
|
- CHANGELOG.md
|
51
51
|
- Gemfile
|
52
52
|
- LICENSE.txt
|
@@ -101,8 +101,14 @@ files:
|
|
101
101
|
- test/dummy/public/422.html
|
102
102
|
- test/dummy/public/500.html
|
103
103
|
- test/dummy/public/favicon.ico
|
104
|
+
- test/legacy_test.rb
|
105
|
+
- test/meta_tag_test.rb
|
104
106
|
- test/metamagic_test.rb
|
107
|
+
- test/open_graph_test.rb
|
108
|
+
- test/property_tag_test.rb
|
105
109
|
- test/test_helper.rb
|
110
|
+
- test/title_tag_test.rb
|
111
|
+
- test/twitter_test.rb
|
106
112
|
homepage: http://github.com/lassebunk/metamagic
|
107
113
|
licenses:
|
108
114
|
- MIT
|
@@ -113,17 +119,17 @@ require_paths:
|
|
113
119
|
- lib
|
114
120
|
required_ruby_version: !ruby/object:Gem::Requirement
|
115
121
|
requirements:
|
116
|
-
- -
|
122
|
+
- - '>='
|
117
123
|
- !ruby/object:Gem::Version
|
118
124
|
version: '0'
|
119
125
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
120
126
|
requirements:
|
121
|
-
- -
|
127
|
+
- - '>='
|
122
128
|
- !ruby/object:Gem::Version
|
123
129
|
version: '0'
|
124
130
|
requirements: []
|
125
131
|
rubyforge_project:
|
126
|
-
rubygems_version: 2.
|
132
|
+
rubygems_version: 2.1.10
|
127
133
|
signing_key:
|
128
134
|
specification_version: 4
|
129
135
|
summary: Simple Ruby on Rails plugin for creating meta tags.
|
@@ -167,5 +173,11 @@ test_files:
|
|
167
173
|
- test/dummy/public/422.html
|
168
174
|
- test/dummy/public/500.html
|
169
175
|
- test/dummy/public/favicon.ico
|
176
|
+
- test/legacy_test.rb
|
177
|
+
- test/meta_tag_test.rb
|
170
178
|
- test/metamagic_test.rb
|
179
|
+
- test/open_graph_test.rb
|
180
|
+
- test/property_tag_test.rb
|
171
181
|
- test/test_helper.rb
|
182
|
+
- test/title_tag_test.rb
|
183
|
+
- test/twitter_test.rb
|