html2pdf 0.0.6 → 0.0.7

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: 7477b49881238ef957e71d7a61cf27fdbbfa38f8
4
- data.tar.gz: 3ff70b4a6aeddfaf081793b5449e3b5a1704dca1
3
+ metadata.gz: a66264ef9c9544f757a96c15ab564a7d5cd43382
4
+ data.tar.gz: e1544c387847a14833443310b54196b5bf5336cf
5
5
  SHA512:
6
- metadata.gz: 59d359154a59830d99b40e376005bec32041aa22691856fb4f602a5f881439289349871c2d5a3df69e4ba969b144b6be2a30d87c70c6510128775dfd1a16abab
7
- data.tar.gz: 307ed5f8b36f5002b09438a642de6933ab331fc304dc1ecb688821b8f59cb641c37b7753fbe1006e162a105ee733a5d08bbc29e54490cc8554ed50576868d593
6
+ metadata.gz: db1950e020e7f3586b2b58f9d64d654c716b2f7c2accb80a4d9fc1c0d66c352fb6f3104e22add52dd056d60a0c04c9cfe38ba6710eba4311b6a2b76c140224d0
7
+ data.tar.gz: 2e7f43e76cf9205875c4c35906fd8da47b44d75a07e4f4dcd001b107cf9d083e07680a404556958093088ec42d6368d0d871f8dbbe1895ae9ad2bab46c9ee309
data/.gitignore CHANGED
@@ -18,5 +18,4 @@ tmp
18
18
  # ctags
19
19
  tags
20
20
  # Custom ignore files
21
- output.tar.gz
22
21
  html2pdf-output.tar.gz
data/CHANGELOGS.md CHANGED
@@ -1,5 +1,10 @@
1
1
  ### Html2Pdf - Changelogs
2
2
 
3
+ #### 0.0.7
4
+
5
+ - Code cleanup
6
+ - Simplify the CLI by remove some options
7
+
3
8
  #### 0.0.6
4
9
 
5
10
  - Remove the need to have 'Ghostscript' installation
data/README.md CHANGED
@@ -1,17 +1,20 @@
1
1
  ## Html2Pdf
2
2
 
3
- [![Gem Version](https://badge.fury.io/rb/html2pdf.svg)](http://badge.fury.io/rb/html2pdf)
4
- [![Dependency Status](https://gemnasium.com/agilecreativity/html2pdf.png)](https://gemnasium.com/agilecreativity/html2pdf)
5
- [![Code Climate](https://codeclimate.com/github/agilecreativity/html2pdf.png)](https://codeclimate.com/github/agilecreativity/html2pdf)
6
- [![Endorse](https://api.coderwall.com/agilecreativity/endorsecount.png)](https://coderwall.com/agilecreativity)
3
+ [![Gem Version](https://badge.fury.io/rb/html2pdf.svg)][gem]
4
+ [![Dependency Status](https://gemnasium.com/agilecreativity/html2pdf.png)][gemnasium]
5
+ [![Code Climate](https://codeclimate.com/github/agilecreativity/html2pdf.png)][codeclimate]
7
6
 
8
- Convert multiple html or xhtml files to pdfs using the power of [Wkhtmltopdf][].
7
+ [gemnasium]: https://gemnasium.com/agilecreativity/html2pdf
8
+ [codeclimate]: https://codeclimate.com/github/agilecreativity/html2pdf
9
+ [gem]: http://badge.fury.io/rb/html2pdf
10
+
11
+ Convert multiple html or xhtml files to pdfs using the power of [wkhtmltopdf][].
9
12
 
10
13
  ### Installation
11
14
 
12
15
  ### Mandatory Requirement
13
16
 
14
- - [Wkhtmltopdf][] - please follow the simple instruction on [https://github.com/pdfkit/pdfkit/wiki/Installing-WKHTMLTOPDF][]
17
+ - [wkhtmltopdf][] - please see [wkhtmltopdf installation][] for detail
15
18
 
16
19
  ### Dependencies
17
20
 
@@ -39,10 +42,6 @@ html2pdf export [OPTIONS]
39
42
  Options:
40
43
  -b, [--base-dir=BASE_DIR] # Base directory
41
44
  # Default: . (current directory)
42
- -n, [--inc-words=one two three] # List of words to be included in the result
43
- -x, [--exc-words=one two three] # List of words to be excluded from the result
44
- -i, [--ignore-case], [--no-ignore-case] # Match case insensitively
45
- # Default: true
46
45
  -r, [--recursive], [--no-recursive] # Search for files recursively
47
46
  # Default: true
48
47
  -v, [--version], [--no-version] # Display version information
@@ -53,7 +52,7 @@ Options:
53
52
  - Convert all `xhtml` and `html` from `test/fixtures/samples` directory
54
53
  recursively
55
54
  ```
56
- html2pdf -b test/fixtures/samples -r
55
+ html2pdf export -b test/fixtures/samples -r
57
56
  ```
58
57
  Before the run
59
58
  ```
@@ -92,15 +91,14 @@ the pdf version of it.
92
91
 
93
92
  ### Contributing
94
93
 
95
- 1. Fork it ( http://github.com/<my-github-username>/code_exporter/fork )
94
+ 1. Fork it ( http://github.com/agilecreativity/html2pdf/fork )
96
95
  2. Create your feature branch (`git checkout -b my-new-feature`)
97
96
  3. Commit your changes (`git commit -am 'Add some feature'`)
98
97
  4. Push to the branch (`git push origin my-new-feature`)
99
98
  5. Create new Pull Request
100
99
 
101
- [Wkhtmltopdf]: http://wkhtmltopdf.org/
102
100
  [vim_printer]: https://github.com/agilecreativity/vim_printer
103
101
  [pdfs2pdf]: https://github.com/agilecreativity/pdfs2pdf
104
- [gemnasium]: https://gemnasium.com/agilecreativity/html2pdf
105
- [codeclimate]: https://codeclimate.com/github/agilecreativity/html2pdf
106
- [https://github.com/pdfkit/pdfkit/wiki/Installing-WKHTMLTOPDF]: https://github.com/pdfkit/pdfkit/wiki/Installing-WKHTMLTOPDF
102
+ [wkhtmltopdf]: http://wkhtmltopdf.org/
103
+ [wkhtmltopdf installation]: https://github.com/pdfkit/pdfkit/wiki/Installing-WKHTMLTOPDF
104
+
data/html2pdf.gemspec CHANGED
@@ -8,8 +8,8 @@ Gem::Specification.new do |spec|
8
8
  spec.version = Html2Pdf::VERSION
9
9
  spec.authors = ['Burin Choomnuan']
10
10
  spec.email = ['agilecreativity@gmail.com']
11
- spec.summary = %q(Export html or xhtml file to pdfs with using the power of 'wkhtmltopdf')
12
- spec.description = %q(Export html or xhtml file to pdfs with 'wkhtmltopdf')
11
+ spec.summary = %q(Bulk export list of html or xhtml files to pdfs with 'wkhtmltopdf')
12
+ spec.description = %q(Export list of html or xhtml files to pdfs with 'wkhtmltopdf')
13
13
  spec.homepage = 'https://github.com/agilecreativity/html2pdf'
14
14
  spec.license = 'MIT'
15
15
  spec.files = Dir.glob('{bin,lib}/**/*') + %w(Gemfile
@@ -23,10 +23,10 @@ Gem::Specification.new do |spec|
23
23
  rubocop-todo.yml)
24
24
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
25
25
  spec.test_files = Dir.glob('{test}/**/*')
26
- spec.require_paths = ["lib"]
27
- spec.add_runtime_dependency 'thor'
26
+ spec.require_paths = ['lib']
27
+ spec.add_runtime_dependency 'thor', '~> 0.19.1'
28
28
  spec.add_runtime_dependency 'agile_utils', '~> 0.0.9'
29
- spec.add_runtime_dependency 'code_lister', '~> 0.0.8'
29
+ spec.add_runtime_dependency 'code_lister', '~> 0.0.9'
30
30
  spec.add_development_dependency 'awesome_print', '~> 1.2'
31
31
  spec.add_development_dependency 'bundler', '~> 1.5'
32
32
  spec.add_development_dependency 'gem-ctags', '~> 1.0'
data/lib/html2pdf.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  require 'agile_utils'
2
2
  require 'code_lister'
3
- require_relative './html2pdf/utils'
3
+ require_relative './html2pdf/html2pdf'
4
4
  require_relative './html2pdf/cli'
5
5
  require_relative './html2pdf/version'
6
6
  include AgileUtils::Options
data/lib/html2pdf/cli.rb CHANGED
@@ -5,18 +5,13 @@ require_relative '../html2pdf'
5
5
  module Html2Pdf
6
6
  class CLI < Thor
7
7
  desc 'export', 'export multiple html files to pdfs'
8
-
9
8
  method_option *AgileUtils::Options::BASE_DIR
10
- method_option *AgileUtils::Options::INC_WORDS
11
- method_option *AgileUtils::Options::EXC_WORDS
12
- method_option *AgileUtils::Options::IGNORE_CASE
13
9
  method_option *AgileUtils::Options::RECURSIVE
14
10
  method_option *AgileUtils::Options::VERSION
15
-
16
11
  def export
17
12
  opts = options.symbolize_keys
18
13
 
19
- unless Html2Pdf::Utils.softwares_installed?
14
+ unless Html2Pdf.softwares_installed?
20
15
  fail 'You must have valid `wkhtmltopdf` and `ghostscript` installation'
21
16
  end
22
17
 
@@ -29,7 +24,7 @@ module Html2Pdf
29
24
  exts: %w(html xhtml),
30
25
  recursive: true
31
26
  elapsed = AgileUtils::FileUtil.time do
32
- Html2Pdf::Utils.to_pdfs(input_files)
27
+ Html2Pdf.to_pdfs(input_files)
33
28
  end
34
29
 
35
30
  generated_files = AgileUtils::FileUtil.add_suffix(input_files, 'pdf')
@@ -49,10 +44,6 @@ Usage:
49
44
  Options:
50
45
  -b, [--base-dir=BASE_DIR] # Base directory
51
46
  # Default: . (current directory)
52
- -n, [--inc-words=one two three] # List of words to be included in the result
53
- -x, [--exc-words=one two three] # List of words to be excluded from the result
54
- -i, [--ignore-case], [--no-ignore-case] # Match case insensitively
55
- # Default: true
56
47
  -r, [--recursive], [--no-recursive] # Search for files recursively
57
48
  # Default: true
58
49
  -v, [--version], [--no-version] # Display version information
@@ -0,0 +1,49 @@
1
+ require 'open3'
2
+ require 'fileutils'
3
+ require_relative '../html2pdf'
4
+
5
+ module Html2Pdf
6
+ class << self
7
+ # Batch convert to pdf using `wkhtmltopdf` tool
8
+ #
9
+ # @param [Array<String>] files the input file list
10
+ # @param [String] base_dir the base directory
11
+ def to_pdfs(files)
12
+ files.each_with_index do |file, index|
13
+ puts "Convert file #{index + 1} of #{files.size} : #{file}"
14
+ to_pdf(file)
15
+ end
16
+ end
17
+
18
+ # Convert '*.xhtml' or '*.html' to pdf
19
+ #
20
+ # @param filename input filename
21
+ def to_pdf(filename)
22
+ fail "Invalid input file #{filename}" unless File.exist?(filename)
23
+ command = [
24
+ 'wkhtmltopdf',
25
+ '--margin-top 4',
26
+ '--margin-bottom 4',
27
+ '--margin-left 4',
28
+ '--margin-right 4',
29
+ '--header-center "[webpage] :: [page]/[topage]"',
30
+ '--header-spacing 1',
31
+ '--header-font-size 8',
32
+ '--header-line',
33
+ '--footer-spacing 1',
34
+ '--footer-font-size 8',
35
+ '--footer-line',
36
+ "#{filename}",
37
+ "#{filename}.pdf",
38
+ '> /dev/null']
39
+ _stdin, _stderr, status = Open3.capture3(command.join(' '))
40
+ fail "Problem processing #{filename}" unless status.success?
41
+ end
42
+
43
+ # Check and verify that the proper softwares are available.
44
+ #
45
+ def softwares_installed?
46
+ AgileUtils::Helper.which('wkhtmltopdf')
47
+ end
48
+ end
49
+ end
@@ -1,3 +1,3 @@
1
1
  module Html2Pdf
2
- VERSION = '0.0.6'
2
+ VERSION = '0.0.7'
3
3
  end
data/rubocop-todo.yml CHANGED
@@ -1,84 +1,39 @@
1
1
  # This configuration was generated by `rubocop --auto-gen-config`
2
- # on 2014-04-23 20:34:48 +1000 using RuboCop version 0.20.1.
2
+ # on 2014-05-11 21:52:58 +1000 using RuboCop version 0.21.0.
3
3
  # The point is for the user to remove these configuration records
4
4
  # one by one as the offenses are removed from the code base.
5
5
  # Note that changes in the inspected code, or installation of new
6
6
  # versions of RuboCop, may require this file to be generated again.
7
7
 
8
- # Offense count: 9
8
+ # Offense count: 3
9
9
  AmbiguousOperator:
10
10
  Enabled: false
11
11
 
12
- # Offense count: 1
13
- # Cop supports --auto-correct.
14
- # Configuration parameters: PreferredMethods.
15
- CollectionMethods:
16
- Enabled: false
17
-
18
- # Offense count: 1
19
- CyclomaticComplexity:
20
- Max: 7
21
-
22
- # Offense count: 5
12
+ # Offense count: 6
23
13
  Documentation:
24
14
  Enabled: false
25
15
 
26
- # Offense count: 1
27
- # Cop supports --auto-correct.
28
- EmptyLinesAroundBody:
29
- Enabled: true
30
-
31
16
  # Offense count: 1
32
17
  # Cop supports --auto-correct.
33
18
  # Configuration parameters: EnforcedStyle, SupportedStyles.
34
19
  HashSyntax:
35
- Enabled: true
36
-
37
- # Offense count: 4
38
- # Cop supports --auto-correct.
39
- LeadingCommentSpace:
40
- Enabled: true
20
+ Enabled: true`
41
21
 
42
- # Offense count: 18
22
+ # Offense count: 7
43
23
  LineLength:
44
- Max: 108
24
+ Max: 93
45
25
 
46
- # Offense count: 8
26
+ # Offense count: 2
47
27
  # Configuration parameters: CountComments.
48
28
  MethodLength:
49
- Max: 30
29
+ Max: 19
50
30
 
51
31
  # Offense count: 1
52
- # Cop supports --auto-correct.
53
- SpaceAfterComma:
54
- Enabled: true
32
+ RegexpLiteral:
33
+ MaxSlashes: 0
55
34
 
56
- # Offense count: 1
57
- # Cop supports --auto-correct.
58
- # Configuration parameters: EnforcedStyle, SupportedStyles, EnforcedStyleForEmptyBraces, SpaceBeforeBlockParameters.
59
- SpaceInsideBlockBraces:
60
- Enabled: true
61
-
62
- # Offense count: 1
63
- # Cop supports --auto-correct.
64
- SpecialGlobalVars:
65
- Enabled: true
66
-
67
- # Offense count: 16
35
+ # Offense count: 10
68
36
  # Cop supports --auto-correct.
69
37
  # Configuration parameters: EnforcedStyle, SupportedStyles.
70
38
  StringLiterals:
71
- Enabled: false
72
-
73
- # Offense count: 1
74
- UnreachableCode:
75
39
  Enabled: true
76
-
77
- # Offense count: 1
78
- UselessAssignment:
79
- Enabled: false
80
-
81
- # Offense count: 1
82
- # Cop supports --auto-correct.
83
- WordArray:
84
- MinSize: 2
@@ -4,10 +4,10 @@ require 'active_support/inflector'
4
4
  module Foodie
5
5
  class Food
6
6
  def self.portray(food)
7
- if food.downcase == "broccoli"
8
- "Gross!"
7
+ if food.downcase == 'broccoli'
8
+ 'Gross!'
9
9
  else
10
- "Delicious!"
10
+ 'Delicious!'
11
11
  end
12
12
  end
13
13
 
@@ -6,18 +6,18 @@ require 'foodie/generators/recipe'
6
6
 
7
7
  module Foodie
8
8
  class CLI < Thor
9
- desc "portray ITEM", "Determines if a piece of food is gross or delicious"
9
+ desc 'portray ITEM', 'Determines if a piece of food is gross or delicious'
10
10
  def portray(name)
11
11
  puts Foodie::Food.portray(name)
12
12
  end
13
13
 
14
- desc "pluralize", "Pluralizes a word"
15
- method_option :word, :aliases => :word
14
+ desc 'pluralize', 'Pluralizes a word'
15
+ method_option :word, aliases: :word
16
16
  def pluralize
17
17
  puts Foodie::Food.pluralize(options[:word])
18
18
  end
19
19
 
20
- desc "recipe", "Generates a recipe scaffold"
20
+ desc 'recipe', 'Generates a recipe scaffold'
21
21
  def recipe(group, name)
22
22
  Foodie::Generators::Recipe.start([group, name])
23
23
  end
@@ -0,0 +1,14 @@
1
+ require_relative '../../test_helper'
2
+ describe Html2Pdf do
3
+ context '#to_pdf' do
4
+ it 'raises error on invalid input file' do
5
+ assert_raises(RuntimeError) { Html2Pdf.to_pdf('bad-file-name') }
6
+ end
7
+ end
8
+ context '#softwares_installed?' do
9
+ it 'raises error if the requirements are not met' do
10
+ assert(Html2Pdf.softwares_installed?,
11
+ 'Must have valid installation of `wkhtmltopdf`')
12
+ end
13
+ end
14
+ end
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: html2pdf
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Burin Choomnuan
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-07 00:00:00.000000000 Z
11
+ date: 2014-05-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: 0.19.1
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: 0.19.1
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: agile_utils
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.0.8
47
+ version: 0.0.9
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 0.0.8
54
+ version: 0.0.9
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: awesome_print
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -206,7 +206,7 @@ dependencies:
206
206
  - - "~>"
207
207
  - !ruby/object:Gem::Version
208
208
  version: '0.8'
209
- description: Export html or xhtml file to pdfs with 'wkhtmltopdf'
209
+ description: Export list of html or xhtml files to pdfs with 'wkhtmltopdf'
210
210
  email:
211
211
  - agilecreativity@gmail.com
212
212
  executables:
@@ -225,7 +225,7 @@ files:
225
225
  - html2pdf.gemspec
226
226
  - lib/html2pdf.rb
227
227
  - lib/html2pdf/cli.rb
228
- - lib/html2pdf/utils.rb
228
+ - lib/html2pdf/html2pdf.rb
229
229
  - lib/html2pdf/version.rb
230
230
  - rubocop-todo.yml
231
231
  - test/fixtures/samples/demo1_xxx.rb
@@ -240,7 +240,7 @@ files:
240
240
  - test/fixtures/samples/sub_dir/demo4_xxx.rb
241
241
  - test/fixtures/samples/sub_dir/demo4_xxx.rb.xhtml
242
242
  - test/fixtures/samples/sub_dir/demo4_xxx.rb.xhtml.pdf
243
- - test/lib/html2pdf/test_utils.rb
243
+ - test/lib/html2pdf/test_html2pdf.rb
244
244
  - test/test_helper.rb
245
245
  homepage: https://github.com/agilecreativity/html2pdf
246
246
  licenses:
@@ -265,20 +265,20 @@ rubyforge_project:
265
265
  rubygems_version: 2.2.2
266
266
  signing_key:
267
267
  specification_version: 4
268
- summary: Export html or xhtml file to pdfs with using the power of 'wkhtmltopdf'
268
+ summary: Bulk export list of html or xhtml files to pdfs with 'wkhtmltopdf'
269
269
  test_files:
270
- - test/lib/html2pdf/test_utils.rb
271
- - test/test_helper.rb
270
+ - test/fixtures/samples/demo1_xxx.rb
272
271
  - test/fixtures/samples/demo1_xxx.rb.xhtml
272
+ - test/fixtures/samples/demo1_xxx.rb.xhtml.pdf
273
273
  - test/fixtures/samples/demo2_xxx.rb
274
- - test/fixtures/samples/demo2_xxx.rb.xhtml.pdf
275
274
  - test/fixtures/samples/demo2_xxx.rb.xhtml
275
+ - test/fixtures/samples/demo2_xxx.rb.xhtml.pdf
276
+ - test/fixtures/samples/sub_dir/demo3_xxx.rb
276
277
  - test/fixtures/samples/sub_dir/demo3_xxx.rb.xhtml
277
- - test/fixtures/samples/sub_dir/demo4_xxx.rb.xhtml.pdf
278
278
  - test/fixtures/samples/sub_dir/demo3_xxx.rb.xhtml.pdf
279
- - test/fixtures/samples/sub_dir/demo4_xxx.rb.xhtml
280
279
  - test/fixtures/samples/sub_dir/demo4_xxx.rb
281
- - test/fixtures/samples/sub_dir/demo3_xxx.rb
282
- - test/fixtures/samples/demo1_xxx.rb
283
- - test/fixtures/samples/demo1_xxx.rb.xhtml.pdf
280
+ - test/fixtures/samples/sub_dir/demo4_xxx.rb.xhtml
281
+ - test/fixtures/samples/sub_dir/demo4_xxx.rb.xhtml.pdf
282
+ - test/lib/html2pdf/test_html2pdf.rb
283
+ - test/test_helper.rb
284
284
  has_rdoc:
@@ -1,51 +0,0 @@
1
- require 'open3'
2
- require 'fileutils'
3
- require_relative '../html2pdf'
4
-
5
- module Html2Pdf
6
- module Utils
7
- class << self
8
- # Batch convert to pdf using `wkhtmltopdf` tool
9
- #
10
- # @param [Array<String>] files the input file list
11
- # @param [String] base_dir the base directory
12
- def to_pdfs(files)
13
- files.each_with_index do |file, index|
14
- puts "Convert file #{index + 1} of #{files.size} : #{file}"
15
- to_pdf(file)
16
- end
17
- end
18
-
19
- # Convert '*.xhtml' or '*.html' to pdf
20
- #
21
- # @param filename input filename
22
- def to_pdf(filename)
23
- fail "Invalid input file #{filename}" unless File.exist?(filename)
24
- command = [
25
- 'wkhtmltopdf',
26
- '--margin-top 4',
27
- '--margin-bottom 4',
28
- '--margin-left 4',
29
- '--margin-right 4',
30
- '--header-center "[webpage] :: [page]/[topage]"',
31
- '--header-spacing 1',
32
- '--header-font-size 8',
33
- '--header-line',
34
- '--footer-spacing 1',
35
- '--footer-font-size 8',
36
- '--footer-line',
37
- "#{filename}",
38
- "#{filename}.pdf",
39
- '> /dev/null']
40
- _stdin, _stderr, status = Open3.capture3(command.join(' '))
41
- fail "Problem processing #{filename}" unless status.success?
42
- end
43
-
44
- # Check and verify that the proper softwares are available.
45
- #
46
- def softwares_installed?
47
- AgileUtils::Helper.which('wkhtmltopdf')
48
- end
49
- end
50
- end
51
- end
@@ -1,14 +0,0 @@
1
- require_relative '../../test_helper'
2
- describe Html2Pdf::Utils do
3
- context '#to_pdf' do
4
- it 'raises error on invalid input file' do
5
- assert_raises(RuntimeError) { Html2Pdf::Utils.to_pdf('bad-file-name') }
6
- end
7
- end
8
- context '#softwares_installed?' do
9
- it 'raises error if the requirements are not met' do
10
- assert(Html2Pdf::Utils.softwares_installed?,
11
- 'Must have valid installation of `wkhtmltopdf` and `ghostscript`')
12
- end
13
- end
14
- end