metamagic 3.0.0 → 3.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 51fe3e857376924eb66e388066c0c0b6a26e0ec8
4
- data.tar.gz: 76f4eefc651bcf2efa087e9a283db8e747856447
3
+ metadata.gz: fba62bacfa3f4e346ae0524f52b8514f6d9b20b5
4
+ data.tar.gz: 58f310e55106f357ae972bdf1d5386b1ab5261d5
5
5
  SHA512:
6
- metadata.gz: 4ad6a68d73ce4b98057ff488618ccec093e2b6cd1a75b4611fc4f80795916b336073f4f206a243e71d64ed843e96b73eb020d3003ea26c354a4a45f8a18671bd
7
- data.tar.gz: 87383b4816f9403bdc96daa0e381cb6a6b3616409c0c977c51ed427c0509670918d9453cad3458873c97cfbc7a0ff16c7c071ea2faa841a5ce90aad36fd3b523
6
+ metadata.gz: 2e9bad37c4556b757d3b774cbb0d80ea5fb83658d60e01a3baa3fd2dac4c2af7d3701322cb905529738c72da8cfa313544e80f3d218cc753fb119c950d4d5dee
7
+ data.tar.gz: 0b6de62e85b5dddf63a10179169cd1e675f5630f3d14d1dafce7c2cee1534aec478214bb9767ee8482ecdda732d214524e6130a89822c7eb95eec05d1a6b569e
@@ -53,7 +53,7 @@ module Metamagic
53
53
  end
54
54
 
55
55
  def render
56
- tags.sort.map(&:to_html).join("\n").html_safe
56
+ tags.sort.map(&:to_html).compact.join("\n").html_safe
57
57
  end
58
58
 
59
59
  def method_missing(*args)
@@ -1,7 +1,8 @@
1
1
  module Metamagic
2
2
  class MetaTag < Tag
3
3
  def to_html
4
- tag(:meta, name: key, content: Array(value).join(", "))
4
+ return unless values = Array(value).compact.presence
5
+ tag(:meta, name: key, content: values.join(", "))
5
6
  end
6
7
 
7
8
  def sort_order
@@ -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
@@ -1,7 +1,7 @@
1
1
  module Metamagic
2
2
  class TitleTag < Tag
3
3
  def to_html
4
- content_tag(:title, value)
4
+ content_tag(:title, value) if value
5
5
  end
6
6
 
7
7
  def sort_order
@@ -1,3 +1,3 @@
1
1
  module Metamagic
2
- VERSION = "3.0.0"
2
+ VERSION = "3.0.1"
3
3
  end
@@ -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
@@ -1,6 +1,6 @@
1
1
  require 'test_helper'
2
2
 
3
- class HelperMethodsTest < ActionView::TestCase
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.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-23 00:00:00.000000000 Z
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
- - ".gitignore"
49
- - ".travis.yml"
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.2.1
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