slim2pdf 0.0.3 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
@@ -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