metatag_cop 0.1.2 → 0.1.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/.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)
|
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:
|