slim2pdf 0.0.3 → 0.0.8

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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 9814f702d186324bae874a073b16882f961d9a8d58346de02ad5469de30ff9b9
4
+ data.tar.gz: a94b7e0e7b748ee5136fdb4e5f20fe931c74e97ff23311330f90a1789312c3f7
5
+ SHA512:
6
+ metadata.gz: 848d253708c820a5382430b2f0ab2438af90095a5bc61f0995320a8c07e2dd044f9c34daabeb58372a980ab7ae7db3ca0d15d3e4692d3ef05e47209ab57312f2
7
+ data.tar.gz: 0ab7dcb15ddee0b7d7708ea0b6c3bd3cf392b7b7e86e73633d3f264bab2c904b8376a1806e0dd882affe989d6481ce281da0c9cba1e781c4528f0a8e2e895660
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.3"
2
+ VERSION = '0.0.8'.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.3"
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', '~> 2.0.2'
26
- spec.add_dependency "wkhtmltopdf-binary", "~> 0.9.9.1"
26
+ spec.add_dependency 'slim', '~> 4.0'
27
+ spec.add_dependency "wkhtmltopdf-binary", '~> 0.12'
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,96 +1,99 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: slim2pdf
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
5
- prerelease:
4
+ version: 0.0.8
6
5
  platform: ruby
7
6
  authors:
8
7
  - Piotr Macuk
9
- autorequire:
8
+ autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2014-01-21 00:00:00.000000000 Z
11
+ date: 2020-10-28 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: bundler
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ~>
17
+ - - ">="
20
18
  - !ruby/object:Gem::Version
21
- version: '1.3'
19
+ version: '0'
22
20
  type: :development
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ~>
24
+ - - ">="
28
25
  - !ruby/object:Gem::Version
29
- version: '1.3'
26
+ version: '0'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: rake
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: minitest
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
36
46
  - !ruby/object:Gem::Version
37
47
  version: '0'
38
48
  type: :development
39
49
  prerelease: false
40
50
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
51
  requirements:
43
- - - ! '>='
52
+ - - ">="
44
53
  - !ruby/object:Gem::Version
45
54
  version: '0'
46
55
  - !ruby/object:Gem::Dependency
47
56
  name: simplecov
48
57
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
58
  requirements:
51
- - - ! '>='
59
+ - - ">="
52
60
  - !ruby/object:Gem::Version
53
61
  version: '0'
54
62
  type: :development
55
63
  prerelease: false
56
64
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
65
  requirements:
59
- - - ! '>='
66
+ - - ">="
60
67
  - !ruby/object:Gem::Version
61
68
  version: '0'
62
69
  - !ruby/object:Gem::Dependency
63
70
  name: slim
64
71
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
72
  requirements:
67
- - - ~>
73
+ - - "~>"
68
74
  - !ruby/object:Gem::Version
69
- version: 2.0.2
75
+ version: '4.0'
70
76
  type: :runtime
71
77
  prerelease: false
72
78
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
79
  requirements:
75
- - - ~>
80
+ - - "~>"
76
81
  - !ruby/object:Gem::Version
77
- version: 2.0.2
82
+ version: '4.0'
78
83
  - !ruby/object:Gem::Dependency
79
84
  name: wkhtmltopdf-binary
80
85
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
86
  requirements:
83
- - - ~>
87
+ - - "~>"
84
88
  - !ruby/object:Gem::Version
85
- version: 0.9.9.1
89
+ version: '0.12'
86
90
  type: :runtime
87
91
  prerelease: false
88
92
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
93
  requirements:
91
- - - ~>
94
+ - - "~>"
92
95
  - !ruby/object:Gem::Version
93
- version: 0.9.9.1
96
+ version: '0.12'
94
97
  description: Slim2pdf renders slim template with data hash and save the results as
95
98
  pdf file.
96
99
  email:
@@ -99,8 +102,8 @@ executables: []
99
102
  extensions: []
100
103
  extra_rdoc_files: []
101
104
  files:
102
- - .gitignore
103
- - .travis.yml
105
+ - ".gitignore"
106
+ - ".travis.yml"
104
107
  - Gemfile
105
108
  - LICENSE.txt
106
109
  - README.md
@@ -127,33 +130,25 @@ files:
127
130
  homepage: ''
128
131
  licenses:
129
132
  - MIT
130
- post_install_message:
133
+ metadata: {}
134
+ post_install_message:
131
135
  rdoc_options: []
132
136
  require_paths:
133
137
  - lib
134
138
  required_ruby_version: !ruby/object:Gem::Requirement
135
- none: false
136
139
  requirements:
137
- - - ! '>='
140
+ - - ">="
138
141
  - !ruby/object:Gem::Version
139
142
  version: '0'
140
- segments:
141
- - 0
142
- hash: 3380417682014750478
143
143
  required_rubygems_version: !ruby/object:Gem::Requirement
144
- none: false
145
144
  requirements:
146
- - - ! '>='
145
+ - - ">="
147
146
  - !ruby/object:Gem::Version
148
147
  version: '0'
149
- segments:
150
- - 0
151
- hash: 3380417682014750478
152
148
  requirements: []
153
- rubyforge_project:
154
- rubygems_version: 1.8.25
155
- signing_key:
156
- specification_version: 3
149
+ rubygems_version: 3.0.8
150
+ signing_key:
151
+ specification_version: 4
157
152
  summary: Slim template to pdf file conversion tool.
158
153
  test_files:
159
154
  - test/test_helper.rb