slim2pdf 0.0.4 → 0.0.9

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
- SHA1:
3
- metadata.gz: bc9d771f216eae1dc0b8ba400bfecb83df7e44d0
4
- data.tar.gz: c8d008fbf438237655c525435c1ff41a7beb314f
2
+ SHA256:
3
+ metadata.gz: 8dcba92ccc5c2d56d0af7975ed6dedc0eb59cfff89d15394522a21d652cee4f2
4
+ data.tar.gz: 2b47ff7023e57b5a538c186a1df0fd778019252435285025cb5d69e23e5129a4
5
5
  SHA512:
6
- metadata.gz: aea4495ddb57e688b82691d28af08c39e68edc848f8f73db359ce364fe7c160244e77096c5274cb9df19f7f31fa4d90bb4a87d6ade50c5b809f212e22ab9ef42
7
- data.tar.gz: fc816a715660466247e250db9de0e3427740fec8a1bd3f5da6c5df21321a5e1e9513fb388e5754e37f62ae799ab142749576afa0a581642ad604cca7fbfb0298
6
+ metadata.gz: 68ae4c5d48388bb41bc81597ef60f6c3abc237f3964a571c52e2c319febc6779a2615e1758bea99cb07f285411997d86d2eef235aa7fc9bbf3c631ab1495e449
7
+ data.tar.gz: 64f4e03efdf8f89f131671d1a0c968125fccc0f56cb262ffbcba0ced2f5ee9c1b4fc43afbd4bbf46e6fe68365eb19240f545612f8cb41aa375d47a2aeb060a2b
data/.gitignore CHANGED
@@ -14,3 +14,4 @@ spec/reports
14
14
  test/tmp
15
15
  test/version_tmp
16
16
  tmp
17
+ /.idea
@@ -1,4 +1,5 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 2.0.0
4
- - 1.9.3
3
+ - 2.5.8
4
+ - 2.6.6
5
+ - 2.7.2
@@ -2,6 +2,6 @@ require 'slim2pdf'
2
2
 
3
3
  writer = Slim2pdf::Writer.new
4
4
  writer.template = 'doc/examples/agreement/template.slim'
5
- writer.data = {date: '2014-01-14', part1: 'Google', part2: 'Microsoft'}
5
+ writer.data = { date: '2014-01-14', part1: 'Google', part2: 'Microsoft' }
6
6
  writer.footer_text = 'Agreement footer'
7
7
  writer.save_to_pdf('doc/examples/agreement/output.pdf')
@@ -1,7 +1,7 @@
1
- require "slim2pdf/version"
2
- require "slim"
3
- require "ostruct"
4
- require "fileutils"
5
- require "pathname"
6
- require "tempfile"
7
- require "slim2pdf/writer"
1
+ require 'slim2pdf/version'
2
+ require 'slim'
3
+ require 'ostruct'
4
+ require 'fileutils'
5
+ require 'pathname'
6
+ require 'tempfile'
7
+ require 'slim2pdf/writer'
@@ -1,3 +1,3 @@
1
1
  module Slim2pdf
2
- VERSION = "0.0.4"
2
+ VERSION = '0.0.9'.freeze
3
3
  end
@@ -1,13 +1,16 @@
1
1
  module Slim2pdf
2
2
  class Writer
3
3
  attr_accessor :template, :data
4
- attr_accessor :wkhtmltopdf_path, :wkhtmltopdf_command
4
+ attr_accessor :wkhtmltopdf_path
5
+ attr_writer :wkhtmltopdf_command
5
6
  attr_accessor :footer_text, :footer_font, :footer_font_size
6
- attr_accessor :logger
7
+ attr_writer :logger
7
8
 
8
- def initialize(template=nil, data={})
9
+ def initialize(template = nil, data = {})
9
10
  @template = template
10
11
  @data = data
12
+ @wkhtmltopdf_path = nil
13
+ @wkhtmltopdf_command = nil
11
14
  end
12
15
 
13
16
  def render_to_html
@@ -38,33 +41,36 @@ module Slim2pdf
38
41
 
39
42
  def logger
40
43
  @logger ||= defined?(Rails) ? Rails.logger : nil
44
+ rescue NoMethodError
45
+ nil
41
46
  end
42
47
 
43
48
  private
44
- # Change hash data to scope object
45
- def scope
46
- OpenStruct.new(data)
47
- end
48
49
 
49
- # Create dir if not exists
50
- def create_dir(path)
51
- FileUtils.mkdir_p(Pathname.new(path).dirname)
52
- end
50
+ # Change hash data to scope object
51
+ def scope
52
+ OpenStruct.new(data)
53
+ end
53
54
 
54
- def create_tmp_html
55
- tmp = Tempfile.new ['slim2pdf', '.html']
56
- begin
57
- tmp.write render_to_html
58
- ensure
59
- tmp.close
60
- end
61
- tmp
62
- end
55
+ # Create dir if not exists
56
+ def create_dir(path)
57
+ FileUtils.mkdir_p(Pathname.new(path).dirname)
58
+ end
63
59
 
64
- def footer_params
65
- return unless footer_text
66
- "--footer-line --footer-font-name '#{footer_font || 'verdana'}' " +
67
- "--footer-font-size '#{footer_font_size || 10}' --footer-left '#{footer_text}'"
60
+ def create_tmp_html
61
+ tmp = Tempfile.new ['slim2pdf', '.html']
62
+ begin
63
+ tmp.write render_to_html
64
+ ensure
65
+ tmp.close
68
66
  end
67
+ tmp
68
+ end
69
+
70
+ def footer_params
71
+ return unless footer_text
72
+ "--footer-line --footer-font-name '#{footer_font || 'verdana'}' " +
73
+ "--footer-font-size '#{footer_font_size || 10}' --footer-left '#{footer_text}'"
74
+ end
69
75
  end
70
76
  end
@@ -18,10 +18,11 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_development_dependency "bundler", "~> 1.7"
21
+ spec.add_development_dependency "bundler"
22
22
  spec.add_development_dependency "rake"
23
+ spec.add_development_dependency "minitest"
23
24
  spec.add_development_dependency "simplecov"
24
25
 
25
- spec.add_dependency 'slim', '~> 3.0.2'
26
- spec.add_dependency "wkhtmltopdf-binary", "~> 0.9.9.3"
26
+ spec.add_dependency 'slim', '~> 4.0'
27
+ spec.add_dependency "wkhtmltopdf-binary", '0.12.5.4'
27
28
  end
@@ -3,9 +3,9 @@ require 'logger'
3
3
  require 'stringio'
4
4
 
5
5
  module Slim2pdf
6
- class WriterTest < MiniTest::Unit::TestCase
6
+ class WriterTest < Minitest::Test
7
7
  def setup
8
- @data = {title: 'Slim2pdf', content: 'Slim to PDF conversion gem'}
8
+ @data = { title: 'Slim2pdf', content: 'Slim to PDF conversion gem' }
9
9
  @template = File.expand_path('../tpl/test.slim', __FILE__)
10
10
  @writer = Writer.new(@template, @data)
11
11
  end
@@ -29,36 +29,36 @@ module Slim2pdf
29
29
 
30
30
  def test_render_to_html
31
31
  html = @writer.render_to_html
32
- assert_match %r(<title>Slim2pdf</title>), html
33
- assert_match %r(<p>Slim to PDF conversion gem</p>), html
32
+ assert_match %r{<title>Slim2pdf</title>}, html
33
+ assert_match %r{<p>Slim to PDF conversion gem</p>}, html
34
34
  end
35
35
 
36
36
  def test_save_to_html
37
37
  path = '/tmp/test.html'
38
38
  @writer.save_to_html(path)
39
- assert File.exists?(path)
39
+ assert File.exist?(path)
40
40
  html = File.read(path)
41
- assert_match %r(<title>Slim2pdf</title>), html
42
- assert_match %r(<p>Slim to PDF conversion gem</p>), html
41
+ assert_match %r{<title>Slim2pdf</title>}, html
42
+ assert_match %r{<p>Slim to PDF conversion gem</p>}, html
43
43
  File.unlink(path)
44
- assert_equal false, File.exists?(path)
44
+ assert_equal false, File.exist?(path)
45
45
  end
46
46
 
47
47
  def test_save_to_html_with_dir_creation
48
48
  path = '/tmp/a/b/c/test.html'
49
49
  @writer.save_to_html(path)
50
50
  html = File.read(path)
51
- assert_match %r(<html>), html
51
+ assert_match(/<html>/, html)
52
52
  FileUtils.rm_rf('/tmp/a')
53
- assert_equal false, File.exists?('/tmp/a')
53
+ assert_equal false, File.exist?('/tmp/a')
54
54
  end
55
55
 
56
56
  def test_save_to_pdf
57
57
  path = '/tmp/test.pdf'
58
58
  @writer.save_to_pdf(path)
59
- assert File.exists?(path)
59
+ assert File.exist?(path)
60
60
  File.unlink(path)
61
- assert_equal false, File.exists?(path)
61
+ assert_equal false, File.exist?(path)
62
62
  end
63
63
 
64
64
  def test_wkhtmltopdf_path
@@ -76,14 +76,14 @@ module Slim2pdf
76
76
  def test_footer_params
77
77
  @writer.footer_text = 'Footer'
78
78
  command = @writer.wkhtmltopdf_command
79
- assert_match /Footer/, command
80
- assert_match /10/, command
81
- assert_match /verdana/, command
79
+ assert_match(/Footer/, command)
80
+ assert_match(/10/, command)
81
+ assert_match(/verdana/, command)
82
82
  @writer.footer_font = 'arial'
83
83
  @writer.footer_font_size = 14
84
84
  command = @writer.wkhtmltopdf_command
85
- assert_match /14/, command
86
- assert_match /arial/, command
85
+ assert_match(/14/, command)
86
+ assert_match(/arial/, command)
87
87
  end
88
88
 
89
89
  def test_logger_accessor
@@ -102,9 +102,9 @@ module Slim2pdf
102
102
  @writer.save_to_pdf('/tmp/out.pdf')
103
103
  File.unlink('/tmp/out.pdf')
104
104
  log = sio.string
105
- assert_match %r(/tmp/out.html), log
106
- assert_match %r(/tmp/out.pdf), log
107
- assert_match /Run command: wkhtmltopdf/, log
105
+ assert_match %r{/tmp/out.html}, log
106
+ assert_match %r{/tmp/out.pdf}, log
107
+ assert_match(/Run command: wkhtmltopdf/, log)
108
108
  end
109
109
  end
110
110
  end
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: slim2pdf
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Piotr Macuk
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-03 00:00:00.000000000 Z
11
+ date: 2020-10-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '1.7'
19
+ version: '0'
20
20
  type: :development
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: '1.7'
26
+ version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: minitest
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: simplecov
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -58,28 +72,28 @@ dependencies:
58
72
  requirements:
59
73
  - - "~>"
60
74
  - !ruby/object:Gem::Version
61
- version: 3.0.2
75
+ version: '4.0'
62
76
  type: :runtime
63
77
  prerelease: false
64
78
  version_requirements: !ruby/object:Gem::Requirement
65
79
  requirements:
66
80
  - - "~>"
67
81
  - !ruby/object:Gem::Version
68
- version: 3.0.2
82
+ version: '4.0'
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: wkhtmltopdf-binary
71
85
  requirement: !ruby/object:Gem::Requirement
72
86
  requirements:
73
- - - "~>"
87
+ - - '='
74
88
  - !ruby/object:Gem::Version
75
- version: 0.9.9.3
89
+ version: 0.12.5.4
76
90
  type: :runtime
77
91
  prerelease: false
78
92
  version_requirements: !ruby/object:Gem::Requirement
79
93
  requirements:
80
- - - "~>"
94
+ - - '='
81
95
  - !ruby/object:Gem::Version
82
- version: 0.9.9.3
96
+ version: 0.12.5.4
83
97
  description: Slim2pdf renders slim template with data hash and save the results as
84
98
  pdf file.
85
99
  email:
@@ -117,7 +131,7 @@ homepage: ''
117
131
  licenses:
118
132
  - MIT
119
133
  metadata: {}
120
- post_install_message:
134
+ post_install_message:
121
135
  rdoc_options: []
122
136
  require_paths:
123
137
  - lib
@@ -132,9 +146,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
132
146
  - !ruby/object:Gem::Version
133
147
  version: '0'
134
148
  requirements: []
135
- rubyforge_project:
136
- rubygems_version: 2.4.3
137
- signing_key:
149
+ rubygems_version: 3.1.4
150
+ signing_key:
138
151
  specification_version: 4
139
152
  summary: Slim template to pdf file conversion tool.
140
153
  test_files: