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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a261480a5e5bbc7214c796a0cd1bee10666c8708
4
- data.tar.gz: 872bf784efc1622d25780e68c8b6b51d84fcdcdb
3
+ metadata.gz: f040b160b5d89f9f6a5233168f5c433dd1cc6e43
4
+ data.tar.gz: 8707ed68c05b56a66500b3f1b7df89255003cda7
5
5
  SHA512:
6
- metadata.gz: 6e99fb777035c40f823fe622087ec5262dc0893eb16da1c2b8112dd57293702f84990bf0629d7f943b11b779708ed3a4f78befe77c3541da7efb09dcbefb3652
7
- data.tar.gz: fd1fe03226c003eddefa577110b79ab93af0cf0006cf3022d0381ba5cb3ce4c186030e91c6c92f70bb889950bc7b08c2bfd33def82700d7426c0f68ad5f98cf3
6
+ metadata.gz: 5bb21a4816504a1ee81f99389923066091deab3d610d3f8a67b298d3df7d4ff7a92afb486ed8805d3a1662c69682dd17234f575c1f041cdb334c17d95919febd
7
+ data.tar.gz: 2423bc403267a13ea729fe44bfde665a2859ad41837280b27ed4a5c8df2c26540d56f522628d9494de632a36abb6298edc1db73818ce958c14f86d247d56fb34
data/.rubocop.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  AllCops:
2
- TargetRubyVersion: 2.3
2
+ TargetRubyVersion: 2.3.1
3
3
 
4
4
  Metrics/PerceivedComplexity:
5
5
  Enabled: false
data/Gemfile.lock CHANGED
@@ -1,13 +1,18 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- metatag_cop (0.1.0)
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
@@ -2,4 +2,4 @@
2
2
 
3
3
  require 'metatag_cop'
4
4
 
5
- puts MetatagCop::Handler.execute
5
+ MetatagCop::Handler.execute
data/lib/metatag_cop.rb CHANGED
@@ -1,4 +1,6 @@
1
1
  require 'csv'
2
+ require 'formatador'
3
+ require 'kosi'
2
4
 
3
5
  require 'metatag_cop/version'
4
6
  require 'metatag_cop/handler'
@@ -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
- error_msgs = []
17
+ results = []
15
18
  records.each do |record|
16
- error_msg = []
19
+ result = []
17
20
  parser = MetatagCop::Parser.new(record.url)
18
- error_msg.push error_msg(:title, record.title, parser.title) unless parser.title == record.title
19
- error_msg.push error_msg(:description, record.description, parser.description) unless parser.description == record.description
20
- error_msg.push error_msg(:keywords, record.keywords, parser.keywords) unless parser.keywords == record.keywords
21
- error_msg.push error_msg(:h1, record.h1, parser.h1) unless parser.h1 == record.h1
22
- error_msg.unshift "url: #{record.url}" unless error_msg.empty?
23
- error_msgs.push error_msg unless error_msg.empty?
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
- "[#{tag}] expected: #{expected}, actual: #{actual}"
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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module MetatagCop
4
- VERSION = '0.1.2'
4
+ VERSION = '0.1.3'
5
5
  end
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 = 'Any feedback is webcome! You can find me [here](https://twitter.com/3chhe).'
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.2
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: Any feedback is webcome! You can find me [here](https://twitter.com/3chhe).
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: