docparser 0.2.3 → 0.3.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.
- checksums.yaml +5 -5
- data/.rubocop.yml +15 -3
- data/.rubocop_todo.yml +45 -0
- data/.travis.yml +1 -1
- data/Gemfile +5 -4
- data/README.md +2 -2
- data/Rakefile +3 -1
- data/docparser.gemspec +9 -9
- data/example.rb +2 -0
- data/lib/docparser.rb +2 -0
- data/lib/docparser/document.rb +20 -10
- data/lib/docparser/output.rb +9 -6
- data/lib/docparser/output/csv_output.rb +2 -0
- data/lib/docparser/output/html_output.rb +52 -49
- data/lib/docparser/output/json_output.rb +3 -1
- data/lib/docparser/output/multi_output.rb +3 -1
- data/lib/docparser/output/nil_output.rb +5 -6
- data/lib/docparser/output/xlsx_output.rb +2 -0
- data/lib/docparser/output/yaml_output.rb +4 -1
- data/lib/docparser/parser.rb +9 -13
- data/lib/docparser/version.rb +3 -1
- data/test/.rubocop.yml +6 -2
- data/test/.rubocop_todo.yml +23 -0
- data/test/lib/docparser/blackbox_test.rb +5 -4
- data/test/lib/docparser/document_test.rb +19 -14
- data/test/lib/docparser/output/csv_output_test.rb +5 -10
- data/test/lib/docparser/output/html_output_test.rb +5 -10
- data/test/lib/docparser/output/json_output_test.rb +8 -13
- data/test/lib/docparser/output/multi_output_test.rb +6 -12
- data/test/lib/docparser/output/nil_output_test.rb +4 -9
- data/test/lib/docparser/output/xlsx_output_test.rb +5 -10
- data/test/lib/docparser/output/yaml_output_test.rb +22 -27
- data/test/lib/docparser/output_test.rb +3 -8
- data/test/lib/docparser/parser_test.rb +2 -22
- data/test/lib/docparser/version_test.rb +2 -0
- data/test/support/hackaday/dl.rb +2 -0
- data/test/test_helper.rb +2 -3
- metadata +20 -35
- data/test/lib/docparser/logging_test.rb +0 -19
@@ -1,13 +1,8 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require_relative '../../../test_helper'
|
2
4
|
|
3
5
|
describe DocParser::XLSXOutput do
|
4
|
-
before do
|
5
|
-
Log4r::Logger['docparser'].level = Log4r::ERROR
|
6
|
-
end
|
7
|
-
after do
|
8
|
-
Log4r::Logger['docparser'].level = Log4r::INFO
|
9
|
-
end
|
10
|
-
|
11
6
|
it 'must create a file' do
|
12
7
|
Dir.mktmpdir do |dir|
|
13
8
|
filename = File.join(dir, 'test.xlsx')
|
@@ -31,7 +26,7 @@ describe DocParser::XLSXOutput do
|
|
31
26
|
Dir.mktmpdir do |dir|
|
32
27
|
filename = File.join(dir, 'test.xlsx')
|
33
28
|
output = DocParser::XLSXOutput.new(filename: filename)
|
34
|
-
output.add_row %w
|
29
|
+
output.add_row %w[aap noot mies]
|
35
30
|
output.add_row ['aap', 'noot', 'mies;']
|
36
31
|
output.close
|
37
32
|
sheet = output.instance_variable_get(:@sheet)
|
@@ -45,8 +40,8 @@ describe DocParser::XLSXOutput do
|
|
45
40
|
output = DocParser::XLSXOutput.new(filename: filename)
|
46
41
|
output.header = 'test', 'the', 'header'
|
47
42
|
output.rowcount.must_equal 0
|
48
|
-
output.add_row %w
|
49
|
-
output.add_row %w
|
43
|
+
output.add_row %w[aap noot mies]
|
44
|
+
output.add_row %w[aap noot mies]
|
50
45
|
output.rowcount.must_equal 2
|
51
46
|
end
|
52
47
|
end
|
@@ -1,13 +1,8 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require_relative '../../../test_helper'
|
2
4
|
|
3
5
|
describe DocParser::YAMLOutput do
|
4
|
-
before do
|
5
|
-
Log4r::Logger['docparser'].level = Log4r::ERROR
|
6
|
-
end
|
7
|
-
after do
|
8
|
-
Log4r::Logger['docparser'].level = Log4r::INFO
|
9
|
-
end
|
10
|
-
|
11
6
|
it 'must create a file' do
|
12
7
|
Dir.mktmpdir do |dir|
|
13
8
|
filename = File.join(dir, 'test.yml')
|
@@ -31,7 +26,7 @@ describe DocParser::YAMLOutput do
|
|
31
26
|
filename = File.join(dir, 'test.yml')
|
32
27
|
output = DocParser::YAMLOutput.new(filename: filename)
|
33
28
|
lambda do
|
34
|
-
output.add_row %w
|
29
|
+
output.add_row %w[aap noot mies]
|
35
30
|
end.must_raise(DocParser::MissingHeaderException)
|
36
31
|
end
|
37
32
|
end
|
@@ -41,24 +36,24 @@ describe DocParser::YAMLOutput do
|
|
41
36
|
filename = File.join(dir, 'test.csv')
|
42
37
|
output = DocParser::YAMLOutput.new(filename: filename)
|
43
38
|
output.header = 'test', 'the', 'header'
|
44
|
-
output.add_row %w
|
45
|
-
output.add_row %w
|
46
|
-
output.add_row %w
|
39
|
+
output.add_row %w[a b c]
|
40
|
+
output.add_row %w[aap noot mies"]
|
41
|
+
output.add_row %w[aap noot] # testing empty column
|
47
42
|
output.close
|
48
|
-
open(filename).read.must_equal
|
49
|
-
---
|
50
|
-
test: a
|
51
|
-
the: b
|
52
|
-
header: c
|
53
|
-
---
|
54
|
-
test: aap
|
55
|
-
the: noot
|
56
|
-
header: mies\"
|
57
|
-
---
|
58
|
-
test: aap
|
59
|
-
the: noot
|
60
|
-
header: ''
|
61
|
-
YAMLEND
|
43
|
+
open(filename).read.must_equal <<~YAMLEND
|
44
|
+
---
|
45
|
+
test: a
|
46
|
+
the: b
|
47
|
+
header: c
|
48
|
+
---
|
49
|
+
test: aap
|
50
|
+
the: noot
|
51
|
+
header: mies\"
|
52
|
+
---
|
53
|
+
test: aap
|
54
|
+
the: noot
|
55
|
+
header: ''
|
56
|
+
YAMLEND
|
62
57
|
end
|
63
58
|
end
|
64
59
|
|
@@ -68,8 +63,8 @@ YAMLEND
|
|
68
63
|
output = DocParser::YAMLOutput.new(filename: filename)
|
69
64
|
output.header = 'test', 'the', 'header'
|
70
65
|
output.rowcount.must_equal 0
|
71
|
-
output.add_row %w
|
72
|
-
output.add_row %w
|
66
|
+
output.add_row %w[aap noot mies]
|
67
|
+
output.add_row %w[aap noot mies]
|
73
68
|
output.rowcount.must_equal 2
|
74
69
|
end
|
75
70
|
end
|
@@ -1,13 +1,8 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require_relative '../../test_helper'
|
2
4
|
|
3
5
|
describe DocParser::Output do
|
4
|
-
before do
|
5
|
-
Log4r::Logger['docparser'].level = Log4r::ERROR
|
6
|
-
end
|
7
|
-
after do
|
8
|
-
Log4r::Logger['docparser'].level = Log4r::INFO
|
9
|
-
end
|
10
|
-
|
11
6
|
it 'must create a file' do
|
12
7
|
Dir.mktmpdir do |dir|
|
13
8
|
filename = File.join(dir, 'test.csv')
|
@@ -32,7 +27,7 @@ describe DocParser::Output do
|
|
32
27
|
output.header = 'test', 'the', 'header'
|
33
28
|
end
|
34
29
|
header = output.instance_variable_get(:@header)
|
35
|
-
header.must_equal %w
|
30
|
+
header.must_equal %w[test the header]
|
36
31
|
$method_id.must_equal :header
|
37
32
|
end
|
38
33
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require_relative '../../test_helper'
|
2
4
|
describe DocParser::Parser do
|
3
5
|
before do
|
@@ -8,7 +10,6 @@ describe DocParser::Parser do
|
|
8
10
|
SimpleCov.at_exit do
|
9
11
|
SimpleCov.result.format!
|
10
12
|
end
|
11
|
-
Log4r::Logger['docparser'].level = Log4r::INFO
|
12
13
|
end
|
13
14
|
|
14
15
|
it 'should initialize correctly' do
|
@@ -16,27 +17,6 @@ describe DocParser::Parser do
|
|
16
17
|
parser.must_be_instance_of DocParser::Parser
|
17
18
|
end
|
18
19
|
|
19
|
-
it 'should define a new logger' do
|
20
|
-
DocParser::Parser.new(quiet: true)
|
21
|
-
logger = Log4r::Logger['docparser::parser']
|
22
|
-
logger.wont_be_nil
|
23
|
-
logger.must_be_instance_of Log4r::Logger
|
24
|
-
end
|
25
|
-
|
26
|
-
it 'should set logger level depending on the quiet setting' do
|
27
|
-
# rubocop : disable UselessAssignment
|
28
|
-
parser = DocParser::Parser.new(quiet: true)
|
29
|
-
logger = Log4r::Logger['docparser']
|
30
|
-
old_output = logger.outputters.pop
|
31
|
-
logger.level.must_equal Log4r::ERROR
|
32
|
-
parser = DocParser::Parser.new(quiet: false)
|
33
|
-
logger.level.must_equal Log4r::INFO
|
34
|
-
parser = DocParser::Parser.new
|
35
|
-
logger.level.must_equal Log4r::INFO
|
36
|
-
logger.outputters.push old_output
|
37
|
-
# rubocop : enable UselessAssignment
|
38
|
-
end
|
39
|
-
|
40
20
|
it 'should only process the files in range' do
|
41
21
|
files = (0..20).map { |i| "file_#{i}" }
|
42
22
|
parser = DocParser::Parser.new(quiet: true,
|
data/test/support/hackaday/dl.rb
CHANGED
data/test/test_helper.rb
CHANGED
@@ -1,9 +1,8 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'simplecov'
|
2
|
-
require 'coveralls'
|
3
|
-
Coveralls.wear!
|
4
4
|
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
|
5
5
|
SimpleCov::Formatter::HTMLFormatter,
|
6
|
-
Coveralls::SimpleCov::Formatter
|
7
6
|
]
|
8
7
|
SimpleCov.start do
|
9
8
|
# add_filter '/test/'
|
metadata
CHANGED
@@ -1,73 +1,59 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: docparser
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jurriaan Pruis
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-04-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - "~>"
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: 1.6.1
|
20
|
-
type: :runtime
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - "~>"
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: 1.6.1
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: parallel
|
14
|
+
name: axlsx
|
29
15
|
requirement: !ruby/object:Gem::Requirement
|
30
16
|
requirements:
|
31
17
|
- - "~>"
|
32
18
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
19
|
+
version: 2.0.1
|
34
20
|
type: :runtime
|
35
21
|
prerelease: false
|
36
22
|
version_requirements: !ruby/object:Gem::Requirement
|
37
23
|
requirements:
|
38
24
|
- - "~>"
|
39
25
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
26
|
+
version: 2.0.1
|
41
27
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
28
|
+
name: nokogiri
|
43
29
|
requirement: !ruby/object:Gem::Requirement
|
44
30
|
requirements:
|
45
31
|
- - "~>"
|
46
32
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
33
|
+
version: 1.10.0
|
48
34
|
type: :runtime
|
49
35
|
prerelease: false
|
50
36
|
version_requirements: !ruby/object:Gem::Requirement
|
51
37
|
requirements:
|
52
38
|
- - "~>"
|
53
39
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
40
|
+
version: 1.10.0
|
55
41
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
42
|
+
name: parallel
|
57
43
|
requirement: !ruby/object:Gem::Requirement
|
58
44
|
requirements:
|
59
45
|
- - "~>"
|
60
46
|
- !ruby/object:Gem::Version
|
61
|
-
version: 1.
|
47
|
+
version: '1.10'
|
62
48
|
type: :runtime
|
63
49
|
prerelease: false
|
64
50
|
version_requirements: !ruby/object:Gem::Requirement
|
65
51
|
requirements:
|
66
52
|
- - "~>"
|
67
53
|
- !ruby/object:Gem::Version
|
68
|
-
version: 1.
|
54
|
+
version: '1.10'
|
69
55
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
56
|
+
name: github-markup
|
71
57
|
requirement: !ruby/object:Gem::Requirement
|
72
58
|
requirements:
|
73
59
|
- - ">="
|
@@ -86,16 +72,16 @@ dependencies:
|
|
86
72
|
requirements:
|
87
73
|
- - "~>"
|
88
74
|
- !ruby/object:Gem::Version
|
89
|
-
version: 1.
|
75
|
+
version: 2.1.0
|
90
76
|
type: :development
|
91
77
|
prerelease: false
|
92
78
|
version_requirements: !ruby/object:Gem::Requirement
|
93
79
|
requirements:
|
94
80
|
- - "~>"
|
95
81
|
- !ruby/object:Gem::Version
|
96
|
-
version: 1.
|
82
|
+
version: 2.1.0
|
97
83
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
84
|
+
name: yard
|
99
85
|
requirement: !ruby/object:Gem::Requirement
|
100
86
|
requirements:
|
101
87
|
- - ">="
|
@@ -120,6 +106,7 @@ files:
|
|
120
106
|
- ".coveralls.yml"
|
121
107
|
- ".gitignore"
|
122
108
|
- ".rubocop.yml"
|
109
|
+
- ".rubocop_todo.yml"
|
123
110
|
- ".travis.yml"
|
124
111
|
- ".yardops"
|
125
112
|
- Gemfile
|
@@ -141,9 +128,9 @@ files:
|
|
141
128
|
- lib/docparser/parser.rb
|
142
129
|
- lib/docparser/version.rb
|
143
130
|
- test/.rubocop.yml
|
131
|
+
- test/.rubocop_todo.yml
|
144
132
|
- test/lib/docparser/blackbox_test.rb
|
145
133
|
- test/lib/docparser/document_test.rb
|
146
|
-
- test/lib/docparser/logging_test.rb
|
147
134
|
- test/lib/docparser/output/csv_output_test.rb
|
148
135
|
- test/lib/docparser/output/html_output_test.rb
|
149
136
|
- test/lib/docparser/output/json_output_test.rb
|
@@ -212,23 +199,22 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
212
199
|
requirements:
|
213
200
|
- - ">="
|
214
201
|
- !ruby/object:Gem::Version
|
215
|
-
version:
|
202
|
+
version: '0'
|
216
203
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
217
204
|
requirements:
|
218
205
|
- - ">="
|
219
206
|
- !ruby/object:Gem::Version
|
220
207
|
version: '0'
|
221
208
|
requirements: []
|
222
|
-
|
223
|
-
rubygems_version: 2.2.2
|
209
|
+
rubygems_version: 3.1.2
|
224
210
|
signing_key:
|
225
211
|
specification_version: 4
|
226
212
|
summary: DocParser is a Ruby Gem for webscraping
|
227
213
|
test_files:
|
228
214
|
- test/.rubocop.yml
|
215
|
+
- test/.rubocop_todo.yml
|
229
216
|
- test/lib/docparser/blackbox_test.rb
|
230
217
|
- test/lib/docparser/document_test.rb
|
231
|
-
- test/lib/docparser/logging_test.rb
|
232
218
|
- test/lib/docparser/output/csv_output_test.rb
|
233
219
|
- test/lib/docparser/output/html_output_test.rb
|
234
220
|
- test/lib/docparser/output/json_output_test.rb
|
@@ -285,4 +271,3 @@ test_files:
|
|
285
271
|
- test/support/test_html.html
|
286
272
|
- test/support/test_xml.xml
|
287
273
|
- test/test_helper.rb
|
288
|
-
has_rdoc:
|
@@ -1,19 +0,0 @@
|
|
1
|
-
require_relative '../../test_helper'
|
2
|
-
|
3
|
-
describe DocParser do
|
4
|
-
it 'should have a valid logger' do
|
5
|
-
logger = Log4r::Logger['docparser']
|
6
|
-
logger.wont_be_nil
|
7
|
-
logger.must_be_instance_of Log4r::Logger
|
8
|
-
end
|
9
|
-
|
10
|
-
it 'must have the correct loglevel by default' do
|
11
|
-
Log4r::Logger['docparser'].level.must_equal Log4r::INFO
|
12
|
-
end
|
13
|
-
|
14
|
-
it 'should log to the correct output' do
|
15
|
-
outputters = Log4r::Logger['docparser'].outputters
|
16
|
-
outputters.length.must_equal 1
|
17
|
-
outputters.first.must_be_instance_of Log4r::StdoutOutputter
|
18
|
-
end
|
19
|
-
end
|