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 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: