metatag_cop 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +1 -1
- data/Gemfile.lock +7 -1
- data/README.md +22 -2
- data/bin/metatag_cop +1 -1
- data/lib/metatag_cop.rb +2 -0
- data/lib/metatag_cop/cops/cop.rb +33 -11
- data/lib/metatag_cop/version.rb +1 -1
- data/metatag_cop.gemspec +3 -1
- metadata +31 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f040b160b5d89f9f6a5233168f5c433dd1cc6e43
|
4
|
+
data.tar.gz: 8707ed68c05b56a66500b3f1b7df89255003cda7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5bb21a4816504a1ee81f99389923066091deab3d610d3f8a67b298d3df7d4ff7a92afb486ed8805d3a1662c69682dd17234f575c1f041cdb334c17d95919febd
|
7
|
+
data.tar.gz: 2423bc403267a13ea729fe44bfde665a2859ad41837280b27ed4a5c8df2c26540d56f522628d9494de632a36abb6298edc1db73818ce958c14f86d247d56fb34
|
data/.rubocop.yml
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,13 +1,18 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
metatag_cop (0.1.
|
4
|
+
metatag_cop (0.1.3)
|
5
|
+
formatador (~> 0.2.5)
|
6
|
+
kosi (~> 1.0)
|
5
7
|
nokogiri (~> 1.7)
|
6
8
|
|
7
9
|
GEM
|
8
10
|
remote: https://rubygems.org/
|
9
11
|
specs:
|
10
12
|
diff-lcs (1.3)
|
13
|
+
formatador (0.2.5)
|
14
|
+
kosi (1.0.0)
|
15
|
+
unicode (>= 0.4.4)
|
11
16
|
mini_portile2 (2.1.0)
|
12
17
|
nokogiri (1.7.1)
|
13
18
|
mini_portile2 (~> 2.1.0)
|
@@ -25,6 +30,7 @@ GEM
|
|
25
30
|
diff-lcs (>= 1.2.0, < 2.0)
|
26
31
|
rspec-support (~> 3.5.0)
|
27
32
|
rspec-support (3.5.0)
|
33
|
+
unicode (0.4.4.4)
|
28
34
|
|
29
35
|
PLATFORMS
|
30
36
|
ruby
|
data/README.md
CHANGED
@@ -1,6 +1,9 @@
|
|
1
1
|
# MetatagCop
|
2
2
|
|
3
|
-
MetatagCop loads csv file and checks whether meta tags is set proper value.
|
3
|
+
MetatagCop loads csv file and checks whether meta tags is set proper value.
|
4
|
+
Any questions, issues and pull requests are welcome!
|
5
|
+
|
6
|
+
[![https://gyazo.com/ad116c7c62b7782320a8fe50ba5f8b99](https://i.gyazo.com/ad116c7c62b7782320a8fe50ba5f8b99.gif)](https://gyazo.com/ad116c7c62b7782320a8fe50ba5f8b99)
|
4
7
|
|
5
8
|
## Installation
|
6
9
|
|
@@ -28,7 +31,24 @@ https://www.google.co.jp/, exepected title here, exepected description here
|
|
28
31
|
https://www.google.com/doodles, exepected title here, exepected description here, exepected h1 here
|
29
32
|
```
|
30
33
|
|
31
|
-
2. Run ` $ metatag_cop file_path `
|
34
|
+
2. Run ` $ metatag_cop file_path ` like this.
|
35
|
+
|
36
|
+
` $ metatag_cop ~/sample.csv `
|
37
|
+
|
38
|
+
3. Check result in the console.
|
39
|
+
|
40
|
+
```
|
41
|
+
url: https://www.google.co.jp/
|
42
|
+
[title] expected: exepected title here, actual: Google
|
43
|
+
[description] expected: exepected description here, actual: 世界中のあらゆる情報を検索するためのツールを提供しています。さまざまな検索機能を活用して、お探しの情報を見つけてください。
|
44
|
+
[keywords] expected: exepected keywords here, actual:
|
45
|
+
[h1] expected: exepected h1 here, actual:
|
46
|
+
url: https://www.google.com/doodles
|
47
|
+
[title] expected: exepected title here, actual: Google Doodles
|
48
|
+
[description] expected: exepected description here, actual:
|
49
|
+
[keywords] expected: exepected keywords here, actual:
|
50
|
+
[h1] expected: exepected h1 here, actual:
|
51
|
+
```
|
32
52
|
|
33
53
|
## Development
|
34
54
|
|
data/bin/metatag_cop
CHANGED
data/lib/metatag_cop.rb
CHANGED
data/lib/metatag_cop/cops/cop.rb
CHANGED
@@ -4,31 +4,53 @@ module MetatagCop
|
|
4
4
|
module Cops
|
5
5
|
#
|
6
6
|
class Cop
|
7
|
-
attr_reader :records
|
7
|
+
attr_reader :records, :progress
|
8
8
|
|
9
9
|
def initialize(records)
|
10
10
|
@records = records
|
11
|
+
@progress = Formatador::ProgressBar.new(
|
12
|
+
records.length, color: 'green'
|
13
|
+
)
|
11
14
|
end
|
12
15
|
|
13
16
|
def run
|
14
|
-
|
17
|
+
results = []
|
15
18
|
records.each do |record|
|
16
|
-
|
19
|
+
result = []
|
17
20
|
parser = MetatagCop::Parser.new(record.url)
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
21
|
+
|
22
|
+
result.push error_msg(:title, record.title, parser.title) unless parser.title == record.title
|
23
|
+
result.push error_msg(:description, record.description, parser.description) unless parser.description == record.description
|
24
|
+
result.push error_msg(:keywords, record.keywords, parser.keywords) unless parser.keywords == record.keywords
|
25
|
+
result.push error_msg(:h1, record.h1, parser.h1) unless parser.h1 == record.h1
|
26
|
+
|
27
|
+
results.unshift({ url: record.url, res: result }) unless result.empty?
|
28
|
+
|
29
|
+
progress.increment
|
30
|
+
end
|
31
|
+
|
32
|
+
kosi = Kosi::Table.new(connector_char: '-', separate_each_row: true)
|
33
|
+
results.each do |result|
|
34
|
+
Formatador.display_line("[red]#{result[:url]}[/]")
|
35
|
+
result[:res].each do |error|
|
36
|
+
print kosi.render(error)
|
37
|
+
end
|
24
38
|
end
|
25
|
-
error_msgs
|
26
39
|
end
|
27
40
|
|
28
41
|
private
|
29
42
|
|
30
43
|
def error_msg(tag, expected, actual)
|
31
|
-
|
44
|
+
[
|
45
|
+
[
|
46
|
+
"[#{tag}] expected",
|
47
|
+
" [#{tag}] actual"
|
48
|
+
],
|
49
|
+
[
|
50
|
+
"#{expected} ",
|
51
|
+
" #{actual}"
|
52
|
+
]
|
53
|
+
]
|
32
54
|
end
|
33
55
|
end
|
34
56
|
end
|
data/lib/metatag_cop/version.rb
CHANGED
data/metatag_cop.gemspec
CHANGED
@@ -11,7 +11,7 @@ Gem::Specification.new do |spec|
|
|
11
11
|
spec.email = ['mailto.takita.yusuke@gmail.com']
|
12
12
|
|
13
13
|
spec.summary = 'metatag_cop loads csv file and checks whether meta tags is set proper value.'
|
14
|
-
spec.description = '
|
14
|
+
spec.description = 'metatag_cop loads csv file and checks whether meta tags is set proper value.'
|
15
15
|
spec.homepage = 'https://github.com/tackeyy/metatag_cop'
|
16
16
|
spec.license = 'MIT'
|
17
17
|
|
@@ -23,6 +23,8 @@ Gem::Specification.new do |spec|
|
|
23
23
|
spec.require_paths = ['lib']
|
24
24
|
|
25
25
|
spec.add_dependency 'nokogiri', '~> 1.7'
|
26
|
+
spec.add_dependency 'formatador', '~> 0.2.5'
|
27
|
+
spec.add_dependency 'kosi', '~> 1.0'
|
26
28
|
|
27
29
|
spec.add_development_dependency 'bundler', '~> 1.14'
|
28
30
|
spec.add_development_dependency 'rake', '~> 10.0'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: metatag_cop
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- tackeyy
|
@@ -24,6 +24,34 @@ dependencies:
|
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.7'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: formatador
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 0.2.5
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 0.2.5
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: kosi
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.0'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.0'
|
27
55
|
- !ruby/object:Gem::Dependency
|
28
56
|
name: bundler
|
29
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -66,7 +94,8 @@ dependencies:
|
|
66
94
|
- - "~>"
|
67
95
|
- !ruby/object:Gem::Version
|
68
96
|
version: '3.0'
|
69
|
-
description:
|
97
|
+
description: metatag_cop loads csv file and checks whether meta tags is set proper
|
98
|
+
value.
|
70
99
|
email:
|
71
100
|
- mailto.takita.yusuke@gmail.com
|
72
101
|
executables:
|