docparser 0.2.0 → 0.2.2

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: 94ae9577e872555f07210deffe7c4ebc192ac617
4
- data.tar.gz: cec0672efe1be1d5bab9d3bff313b4b5c8bc9513
3
+ metadata.gz: 9cd285e165c839e427e95d54298b8e8ab5a6056d
4
+ data.tar.gz: c18bf5d8e4f3227587152211014eafcc7fbf0f39
5
5
  SHA512:
6
- metadata.gz: f1105cb8834ea0c03dd1e4672ae75792ef3a242b44a3a11d718ebcf444723ea7d0e42a64f23972c2c6faf1f7ddb5c7e10cb418094fad37d255c58ad3c1ebf0a2
7
- data.tar.gz: 5afaaee3978d2ad2f50d980622540714645a02673f2ed9d3a645b415230141839dd32f31295c37a798427745a87bedb742a02c8eba11a6f379f0e6655514e58f
6
+ metadata.gz: bed20d4093001e9147f90573ce596e17350a5defae63d76ab2a486d9272555fafafdc27dfa155a06c76144aea49b94251b3b7be4052053ff7034cf750ca8ae0c
7
+ data.tar.gz: 3ef3f2360e53f98ed508651ea2f363d78808fb41b50605d99a6f3086262053081678d30e5882f3d87d86d4b685d0ea05347069f407c41f2f738c180810d2f93f
@@ -2,9 +2,11 @@ language: ruby
2
2
  rvm:
3
3
  - 2.0.0
4
4
  - 2.1.1
5
+ - rbx-2.2.5
5
6
  - ruby-head
6
7
  - jruby-head
7
8
  matrix:
8
9
  allow_failures:
9
10
  - rvm: ruby-head
10
- - rvm: jruby-head
11
+ - rvm: jruby-head
12
+ - rvm: rbx-2.2.5
data/Gemfile CHANGED
@@ -3,10 +3,10 @@ gemspec
3
3
  source 'https://rubygems.org'
4
4
 
5
5
  group :test do
6
- gem 'minitest', '~> 5.3.0'
6
+ gem 'minitest', '~> 5.3.2'
7
7
  gem 'coveralls', require: false
8
8
  gem 'rake'
9
- gem 'rubocop', '~> 0.18.1'
9
+ gem 'rubocop', '~> 0.20.1'
10
10
  gem 'simplecov', require: false
11
11
  gem 'simple_mock'
12
12
  end
@@ -20,12 +20,12 @@ Gem::Specification.new do |spec|
20
20
  spec.extra_rdoc_files = ['README.md', 'LICENSE']
21
21
 
22
22
  spec.add_runtime_dependency 'nokogiri', '~> 1.6.1'
23
- spec.add_runtime_dependency 'parallel', '~> 0.9.1'
23
+ spec.add_runtime_dependency 'parallel', '~> 1.0.0'
24
24
  spec.add_runtime_dependency 'axlsx', '~> 2.0.1'
25
25
  spec.add_runtime_dependency 'log4r', '~> 1.1.10'
26
26
 
27
27
  spec.add_development_dependency 'yard'
28
- spec.add_development_dependency 'redcarpet'
28
+ spec.add_development_dependency 'kramdown', '~> 1.3.2'
29
29
  spec.add_development_dependency 'github-markup'
30
30
  spec.required_ruby_version = '>= 2.0.0'
31
31
  end
@@ -32,7 +32,7 @@ module DocParser
32
32
  # Adds a row to an output
33
33
  def add_row(*row, output: 0)
34
34
  output = @parser.outputs.index(output) if output.is_a? Output
35
- @logger.debug { "#{filename}: Adding row #{row.flatten.to_s}" }
35
+ @logger.debug { "#{filename}: Adding row #{row.flatten}" }
36
36
  results[output] << row.flatten
37
37
  end
38
38
 
@@ -5,7 +5,20 @@ module DocParser
5
5
  attr_reader :rowcount
6
6
 
7
7
  # Creates a new output
8
+ #
9
+ # You can assign the output to the Parser so it automatically writes all
10
+ # data to the file you want.
11
+ #
12
+ # Do not use this class as an output, instead use one of the classes that
13
+ # inherit from it
14
+ #
8
15
  # @param filename [String] Output filename
16
+ # @see Parser
17
+ # @see CSVOutput
18
+ # @see HTMLOutput
19
+ # @see YAMLOutput
20
+ # @see XLSXOutput
21
+ # @see MultiOutput
9
22
  def initialize(filename: filename)
10
23
  @rowcount = 0
11
24
  @filename = filename
@@ -34,7 +47,7 @@ module DocParser
34
47
  @file.close unless @file.closed?
35
48
  @logger.info 'Finished writing'
36
49
  size = File.size(@filename) / 1024.0
37
- @logger.info sprintf('%s: %d rows, %.2f KiB', @filename, rowcount, size)
50
+ @logger.info format('%s: %d rows, %.2f KiB', @filename, rowcount, size)
38
51
  end
39
52
 
40
53
  # Called after the file is opened
@@ -8,6 +8,7 @@ module DocParser
8
8
  def open_file
9
9
  @package = Axlsx::Package.new
10
10
  @package.workbook.date1904 = false # Fix for OS X
11
+ @package.use_shared_strings = true # Fix for Numbers
11
12
  @sheet = @package.workbook.add_worksheet
12
13
  @file.close
13
14
  end
@@ -32,7 +32,8 @@ module DocParser
32
32
  # @!visibility private
33
33
  attr_reader :outputs, :files, :num_processes, :encoding
34
34
 
35
- # Creates a new parser instance
35
+ # Creates a new Parser instance
36
+ #
36
37
  # @param files [Array] An array containing URLs or paths to files
37
38
  # @param quiet [Boolean] Be quiet
38
39
  # @param encoding [String] The encoding to use for opening the files
@@ -55,9 +56,12 @@ module DocParser
55
56
  @logger.info "DocParser v#{VERSION} loaded"
56
57
  end
57
58
 
58
- #
59
59
  # Parses the `files`
60
60
  #
61
+ # Accepts a block which is executed for each document in the Document
62
+ # context where you can access the content using Nokogiri.
63
+ #
64
+ # @see Document
61
65
  def parse!(&block)
62
66
  @logger.info "Parsing #{@files.length} files (encoding: #{@encoding})."
63
67
  start_time = Time.now
@@ -72,7 +76,7 @@ module DocParser
72
76
 
73
77
  write_to_outputs
74
78
 
75
- @logger.info sprintf('Done processing in %.2fs.', Time.now - start_time)
79
+ @logger.info format('Done processing in %.2fs.', Time.now - start_time)
76
80
  end
77
81
 
78
82
  private
@@ -83,7 +87,7 @@ module DocParser
83
87
  @outputs << output
84
88
  elsif output.is_a?(Array) && output.all? { |o| o.is_a? Output }
85
89
  @outputs = output
86
- elsif !output.nil?
90
+ elsif output
87
91
  fail ArgumentError, 'Invalid outputs specified'
88
92
  end
89
93
 
@@ -2,5 +2,5 @@
2
2
  # See README.md for information on using DocParser
3
3
  module DocParser
4
4
  # The current version of DocParser
5
- VERSION = '0.2.0'
5
+ VERSION = '0.2.2'
6
6
  end
@@ -12,7 +12,7 @@ describe DocParser::CSVOutput do
12
12
  Dir.mktmpdir do |dir|
13
13
  filename = File.join(dir, 'test.csv')
14
14
  DocParser::CSVOutput.new(filename: filename)
15
- File.exists?(filename).must_equal true
15
+ File.exist?(filename).must_equal true
16
16
  end
17
17
  end
18
18
 
@@ -12,7 +12,7 @@ describe DocParser::HTMLOutput do
12
12
  Dir.mktmpdir do |dir|
13
13
  filename = File.join(dir, 'test.html')
14
14
  DocParser::HTMLOutput.new(filename: filename)
15
- File.exists?(filename).must_equal true
15
+ File.exist?(filename).must_equal true
16
16
  end
17
17
  end
18
18
 
@@ -12,7 +12,7 @@ describe DocParser::JSONOutput do
12
12
  Dir.mktmpdir do |dir|
13
13
  filename = File.join(dir, 'test.json')
14
14
  DocParser::JSONOutput.new(filename: filename)
15
- File.exists?(filename).must_equal true
15
+ File.exist?(filename).must_equal true
16
16
  end
17
17
  end
18
18
 
@@ -13,9 +13,9 @@ describe DocParser::MultiOutput do
13
13
  filename = File.join(dir, 'test')
14
14
  DocParser::MultiOutput.new(filename: filename)
15
15
 
16
- File.exists?(filename).must_equal false
16
+ File.exist?(filename).must_equal false
17
17
  ['.csv', '.html', '.yml', '.xlsx', '.json'].each do |ext|
18
- File.exists?(filename + ext).must_equal true
18
+ File.exist?(filename + ext).must_equal true
19
19
  end
20
20
  end
21
21
  end
@@ -12,7 +12,7 @@ describe DocParser::XLSXOutput do
12
12
  Dir.mktmpdir do |dir|
13
13
  filename = File.join(dir, 'test.xlsx')
14
14
  DocParser::XLSXOutput.new(filename: filename)
15
- File.exists?(filename).must_equal true
15
+ File.exist?(filename).must_equal true
16
16
  end
17
17
  end
18
18
 
@@ -12,7 +12,7 @@ describe DocParser::YAMLOutput do
12
12
  Dir.mktmpdir do |dir|
13
13
  filename = File.join(dir, 'test.yml')
14
14
  DocParser::YAMLOutput.new(filename: filename)
15
- File.exists?(filename).must_equal true
15
+ File.exist?(filename).must_equal true
16
16
  end
17
17
  end
18
18
 
@@ -12,7 +12,7 @@ describe DocParser::Output do
12
12
  Dir.mktmpdir do |dir|
13
13
  filename = File.join(dir, 'test.csv')
14
14
  DocParser::Output.new(filename: filename)
15
- File.exists?(filename).must_equal true
15
+ File.exist?(filename).must_equal true
16
16
  end
17
17
  end
18
18
 
@@ -1,5 +1,6 @@
1
1
  require 'simplecov'
2
2
  require 'coveralls'
3
+ Coveralls.wear!
3
4
  SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
4
5
  SimpleCov::Formatter::HTMLFormatter,
5
6
  Coveralls::SimpleCov::Formatter
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: docparser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jurriaan Pruis
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-08 00:00:00.000000000 Z
11
+ date: 2014-04-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.9.1
33
+ version: 1.0.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 0.9.1
40
+ version: 1.0.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: axlsx
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -81,19 +81,19 @@ dependencies:
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
- name: redcarpet
84
+ name: kramdown
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ">="
87
+ - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '0'
89
+ version: 1.3.2
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ">="
94
+ - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '0'
96
+ version: 1.3.2
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: github-markup
99
99
  requirement: !ruby/object:Gem::Requirement