meta_tags-rails 1.0.0

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.
Files changed (42) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +7 -0
  3. data/.rspec +3 -0
  4. data/.ruby-gemset +1 -0
  5. data/.ruby-version +1 -0
  6. data/.travis.yml +21 -0
  7. data/CHANGELOG.md +135 -0
  8. data/Gemfile +13 -0
  9. data/MIT-LICENSE +22 -0
  10. data/README.md +627 -0
  11. data/Rakefile +28 -0
  12. data/lib/meta_tags-rails.rb +37 -0
  13. data/lib/meta_tags-rails/configuration.rb +21 -0
  14. data/lib/meta_tags-rails/content_tag.rb +14 -0
  15. data/lib/meta_tags-rails/controller_helper.rb +44 -0
  16. data/lib/meta_tags-rails/meta_tags_collection.rb +176 -0
  17. data/lib/meta_tags-rails/renderer.rb +253 -0
  18. data/lib/meta_tags-rails/tag.rb +25 -0
  19. data/lib/meta_tags-rails/text_normalizer.rb +148 -0
  20. data/lib/meta_tags-rails/version.rb +4 -0
  21. data/lib/meta_tags-rails/view_helper.rb +205 -0
  22. data/meta-tags.gemspec +30 -0
  23. data/spec/configuration_spec.rb +14 -0
  24. data/spec/controller_helper_spec.rb +42 -0
  25. data/spec/spec_helper.rb +84 -0
  26. data/spec/text_normalizer/normalize_title_spec.rb +43 -0
  27. data/spec/text_normalizer/truncate_array_spec.rb +60 -0
  28. data/spec/view_helper/charset_spec.rb +16 -0
  29. data/spec/view_helper/custom_spec.rb +67 -0
  30. data/spec/view_helper/description_spec.rb +61 -0
  31. data/spec/view_helper/icon_spec.rb +42 -0
  32. data/spec/view_helper/keywords_spec.rb +58 -0
  33. data/spec/view_helper/links_spec.rb +125 -0
  34. data/spec/view_helper/module_spec.rb +41 -0
  35. data/spec/view_helper/noindex_spec.rb +107 -0
  36. data/spec/view_helper/open_graph_spec.rb +86 -0
  37. data/spec/view_helper/open_search_spec.rb +33 -0
  38. data/spec/view_helper/refresh_spec.rb +32 -0
  39. data/spec/view_helper/title_spec.rb +155 -0
  40. data/spec/view_helper/twitter_spec.rb +31 -0
  41. data/spec/view_helper_spec.rb +57 -0
  42. metadata +172 -0
@@ -0,0 +1,31 @@
1
+ require 'spec_helper'
2
+
3
+ describe MetaTags::ViewHelper, 'displaying Twitter meta tags' do
4
+ subject { ActionView::Base.new }
5
+
6
+ it 'should display meta tags specified with :twitter' do
7
+ subject.set_meta_tags(twitter: {
8
+ title: 'Twitter Share Title',
9
+ card: 'photo',
10
+ image: {
11
+ _: 'http://example.com/1.png',
12
+ width: 123,
13
+ height: 321,
14
+ }
15
+ })
16
+ subject.display_meta_tags(site: 'someSite').tap do |meta|
17
+ expect(meta).to have_tag('meta', with: { content: "Twitter Share Title", name: "twitter:title" })
18
+ expect(meta).to have_tag('meta', with: { content: "photo", name: "twitter:card" })
19
+ expect(meta).to have_tag('meta', with: { content: "http://example.com/1.png", name: "twitter:image" })
20
+ expect(meta).to have_tag('meta', with: { content: "123", name: "twitter:image:width" })
21
+ expect(meta).to have_tag('meta', with: { content: "321", name: "twitter:image:height" })
22
+ end
23
+ end
24
+
25
+ it "should display mirrored content" do
26
+ subject.set_meta_tags(title: 'someTitle')
27
+ subject.display_meta_tags(twitter: { title: :title }).tap do |meta|
28
+ expect(meta).to have_tag('meta', with: { content: "someTitle", name: "twitter:title" })
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,57 @@
1
+ require 'spec_helper'
2
+
3
+ describe MetaTags::ViewHelper do
4
+ subject { ActionView::Base.new }
5
+
6
+ context 'returning values' do
7
+ it 'should return title' do
8
+ expect(subject.title('some-title')).to eq('some-title')
9
+ end
10
+
11
+ it 'should return headline if specified' do
12
+ expect(subject.title('some-title', 'some-headline')).to eq('some-headline')
13
+ end
14
+
15
+ it 'should return title' do
16
+ expect(subject.title('some-title')).to eq('some-title')
17
+ expect(subject.title).to eq('some-title')
18
+ end
19
+
20
+ it 'should return description' do
21
+ expect(subject.description('some-description')).to eq('some-description')
22
+ end
23
+
24
+ it 'should return keywords' do
25
+ expect(subject.keywords('some-keywords')).to eq('some-keywords')
26
+ end
27
+
28
+ it 'should return noindex' do
29
+ expect(subject.noindex('some-noindex')).to eq('some-noindex')
30
+ end
31
+
32
+ it 'should return nofollow' do
33
+ expect(subject.noindex('some-nofollow')).to eq('some-nofollow')
34
+ end
35
+ end
36
+
37
+ context 'while handling string meta tag names' do
38
+ it 'should work with common parameters' do
39
+ subject.display_meta_tags('site' => 'someSite', 'title' => 'someTitle').tap do |meta|
40
+ expect(meta).to eq('<title>someSite | someTitle</title>')
41
+ end
42
+ end
43
+
44
+ it 'should work with open graph parameters' do
45
+ subject.set_meta_tags('og' => {
46
+ 'title' => 'facebook title',
47
+ 'description' => 'facebook description'
48
+ })
49
+ subject.display_meta_tags(site: 'someSite').tap do |meta|
50
+ expect(meta).to have_tag('meta', with: { content: "facebook title", property: "og:title" })
51
+ expect(meta).to have_tag('meta', with: { content: "facebook description", property: "og:description" })
52
+ end
53
+ end
54
+ end
55
+
56
+ it_behaves_like '.set_meta_tags'
57
+ end
metadata ADDED
@@ -0,0 +1,172 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: meta_tags-rails
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Dmytro Shteflyuk
8
+ - Yves Siegrist
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2016-08-03 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: actionpack
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - ">="
19
+ - !ruby/object:Gem::Version
20
+ version: 3.0.0
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ version: 3.0.0
28
+ - !ruby/object:Gem::Dependency
29
+ name: rake
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: '0'
35
+ type: :development
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
42
+ - !ruby/object:Gem::Dependency
43
+ name: rspec
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - "~>"
47
+ - !ruby/object:Gem::Version
48
+ version: 3.3.0
49
+ type: :development
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - "~>"
54
+ - !ruby/object:Gem::Version
55
+ version: 3.3.0
56
+ - !ruby/object:Gem::Dependency
57
+ name: rspec-html-matchers
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: '0'
63
+ type: :development
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ - !ruby/object:Gem::Dependency
71
+ name: yard
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - ">="
82
+ - !ruby/object:Gem::Version
83
+ version: '0'
84
+ - !ruby/object:Gem::Dependency
85
+ name: bluecloth
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ version: '0'
91
+ type: :development
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - ">="
96
+ - !ruby/object:Gem::Version
97
+ version: '0'
98
+ description: Search Engine Optimization (SEO) plugin for Ruby on Rails applications.
99
+ email:
100
+ - Elektron1c97@gmail.com
101
+ executables: []
102
+ extensions: []
103
+ extra_rdoc_files:
104
+ - README.md
105
+ - CHANGELOG.md
106
+ files:
107
+ - ".gitignore"
108
+ - ".rspec"
109
+ - ".ruby-gemset"
110
+ - ".ruby-version"
111
+ - ".travis.yml"
112
+ - CHANGELOG.md
113
+ - Gemfile
114
+ - MIT-LICENSE
115
+ - README.md
116
+ - Rakefile
117
+ - lib/meta_tags-rails.rb
118
+ - lib/meta_tags-rails/configuration.rb
119
+ - lib/meta_tags-rails/content_tag.rb
120
+ - lib/meta_tags-rails/controller_helper.rb
121
+ - lib/meta_tags-rails/meta_tags_collection.rb
122
+ - lib/meta_tags-rails/renderer.rb
123
+ - lib/meta_tags-rails/tag.rb
124
+ - lib/meta_tags-rails/text_normalizer.rb
125
+ - lib/meta_tags-rails/version.rb
126
+ - lib/meta_tags-rails/view_helper.rb
127
+ - meta-tags.gemspec
128
+ - spec/configuration_spec.rb
129
+ - spec/controller_helper_spec.rb
130
+ - spec/spec_helper.rb
131
+ - spec/text_normalizer/normalize_title_spec.rb
132
+ - spec/text_normalizer/truncate_array_spec.rb
133
+ - spec/view_helper/charset_spec.rb
134
+ - spec/view_helper/custom_spec.rb
135
+ - spec/view_helper/description_spec.rb
136
+ - spec/view_helper/icon_spec.rb
137
+ - spec/view_helper/keywords_spec.rb
138
+ - spec/view_helper/links_spec.rb
139
+ - spec/view_helper/module_spec.rb
140
+ - spec/view_helper/noindex_spec.rb
141
+ - spec/view_helper/open_graph_spec.rb
142
+ - spec/view_helper/open_search_spec.rb
143
+ - spec/view_helper/refresh_spec.rb
144
+ - spec/view_helper/title_spec.rb
145
+ - spec/view_helper/twitter_spec.rb
146
+ - spec/view_helper_spec.rb
147
+ homepage: http://github.com/Elektron1c97/meta_tags-rails
148
+ licenses:
149
+ - MIT
150
+ metadata: {}
151
+ post_install_message:
152
+ rdoc_options:
153
+ - "--charset=UTF-8"
154
+ require_paths:
155
+ - lib
156
+ required_ruby_version: !ruby/object:Gem::Requirement
157
+ requirements:
158
+ - - ">="
159
+ - !ruby/object:Gem::Version
160
+ version: '0'
161
+ required_rubygems_version: !ruby/object:Gem::Requirement
162
+ requirements:
163
+ - - ">="
164
+ - !ruby/object:Gem::Version
165
+ version: '0'
166
+ requirements: []
167
+ rubyforge_project:
168
+ rubygems_version: 2.4.5
169
+ signing_key:
170
+ specification_version: 4
171
+ summary: Collection of SEO helpers for Ruby on Rails.
172
+ test_files: []