slim2pdf 0.0.2 → 0.0.3

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,4 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.0.0
4
+ - 1.9.3
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Slim2pdf [![Code Climate](https://codeclimate.com/github/macuk/slim2pdf.png)](https://codeclimate.com/github/macuk/slim2pdf)
1
+ # Slim2pdf [![Code Climate](https://codeclimate.com/github/macuk/slim2pdf.png)](https://codeclimate.com/github/macuk/slim2pdf) [![Build Status](https://travis-ci.org/macuk/slim2pdf.png?branch=master)](https://travis-ci.org/macuk/slim2pdf)
2
2
 
3
3
  Slim2pdf renders [slim template](http://slim-lang.com/) with data hash and saves the results as pdf file.
4
4
 
@@ -18,30 +18,49 @@ Or install it yourself as:
18
18
 
19
19
  ## Usage
20
20
 
21
- require 'slim2pdf'
21
+ ```ruby
22
+ require 'slim2pdf'
23
+ ```
22
24
 
23
25
  ### Create writer object
24
26
 
25
- writer = Slim2pdf::Writer.new
26
- writer.template = 'template.slim'
27
- writer.data = {name: 'John', surname: 'Doe'}
27
+ ```ruby
28
+ writer = Slim2pdf::Writer.new
29
+ writer.template = 'template.slim'
30
+ writer.data = {name: 'John', surname: 'Doe'}
31
+ ```
28
32
 
29
33
  ### Set parameters in initializer
30
34
 
31
- writer = Slim2pdf::Writer.new('template.slim', {name: 'John', surname: 'Doe'})
35
+ ```ruby
36
+ writer = Slim2pdf::Writer.new('template.slim', {name: 'John', surname: 'Doe'})
37
+ ```
32
38
 
33
39
  ### Possible actions
34
40
 
35
- writer.render_to_html # return rendered html as string
41
+ ```ruby
42
+ writer.render_to_html # return rendered html as string
36
43
 
37
- writer.save_to_html('output.html') # saves rendered html to file
44
+ writer.save_to_html('output.html') # saves rendered html to file
38
45
 
39
- writer.save_to_pdf('output.pdf') # saves rendered html as pdf file
46
+ writer.save_to_pdf('output.pdf') # saves rendered html as pdf file
47
+ ```
40
48
 
41
- ### Changing default wkhtmltopdf command
49
+ ### Changing default wkhtmltopdf path
42
50
 
43
- writer = Slim2pdf::Writer.new
44
- writer.wkhtmltopdf_command = '/your/path/to/wkhtmltopdf --your --params'
51
+ ```ruby
52
+ writer = Slim2pdf::Writer.new
53
+ writer.wkhtmltopdf_path = '/your/path/to/wkhtmltopdf'
54
+ ```
55
+
56
+ Wkhtmltopdf params will be generated automatically.
57
+
58
+ ### Changing default wkhtmltopdf command with params
59
+
60
+ ```ruby
61
+ writer = Slim2pdf::Writer.new
62
+ writer.wkhtmltopdf_command = '/bin/some_wrapper /your/path/to/wkhtmltopdf --your --params'
63
+ ```
45
64
 
46
65
  Input (html) and output (pdf) files will be added automatically.
47
66
 
@@ -49,38 +68,40 @@ Input (html) and output (pdf) files will be added automatically.
49
68
 
50
69
  ### Save simple slim template without data to pdf file
51
70
 
52
- require 'slim2pdf'
71
+ ```ruby
72
+ require 'slim2pdf'
53
73
 
54
- writer = Slim2pdf::Writer.new('simple.slim')
55
- writer.save_to_pdf('simple.pdf')
74
+ writer = Slim2pdf::Writer.new('simple.slim')
75
+ writer.save_to_pdf('simple.pdf')
76
+ ```
56
77
 
57
78
  See: [doc/examples/simple](https://github.com/macuk/slim2pdf/tree/master/doc/examples/simple)
58
79
 
59
80
  ### Generate agreement with footer
60
81
 
61
- require 'slim2pdf'
62
-
63
- writer = Slim2pdf::Writer.new('agreement.slim')
64
- writer.data = {date: '2014-01-14', part1: 'Google', part2: 'Microsoft'}
65
- writer.footer_text = 'Agreement footer'
66
- writer.save_to_pdf('agreement.pdf')
82
+ ```ruby
83
+ writer = Slim2pdf::Writer.new('agreement.slim')
84
+ writer.data = {date: '2014-01-14', part1: 'Google', part2: 'Microsoft'}
85
+ writer.footer_text = 'Agreement footer'
86
+ writer.save_to_pdf('agreement.pdf')
87
+ ```
67
88
 
68
89
  See: [doc/examples/agreement](https://github.com/macuk/slim2pdf/tree/master/doc/examples/agreement)
69
90
 
70
91
  ### Generate bulk invoices
71
92
 
72
- require 'slim2pdf'
73
-
74
- writer = Slim2pdf::Writer.new('invoice.slim')
75
- buyers = ['Buyer A', 'Buyer B', 'Buyer C', 'Buyer D']
76
- buyers.each_with_index do |buyer, index|
77
- number = index + 1
78
- writer.data = {
79
- seller: 'Seller', buyer: buyer, number: "#{number}/2014",
80
- item_name: 'Service', price: '$100', date: '2014-01-14'
81
- }
82
- writer.save_to_pdf("invoice-#{number}.pdf")
83
- end
93
+ ```ruby
94
+ writer = Slim2pdf::Writer.new('invoice.slim')
95
+ buyers = ['Buyer A', 'Buyer B', 'Buyer C', 'Buyer D']
96
+ buyers.each_with_index do |buyer, index|
97
+ number = index + 1
98
+ writer.data = {
99
+ seller: 'Seller', buyer: buyer, number: "#{number}/2014",
100
+ item_name: 'Service', price: '$100', date: '2014-01-14'
101
+ }
102
+ writer.save_to_pdf("invoice-#{number}.pdf")
103
+ end
104
+ ```
84
105
 
85
106
  See: [doc/examples/invoices](https://github.com/macuk/slim2pdf/tree/master/doc/examples/invoices)
86
107
 
@@ -88,10 +109,12 @@ See: [doc/examples/invoices](https://github.com/macuk/slim2pdf/tree/master/doc/e
88
109
 
89
110
  ### Setting logger
90
111
 
91
- require 'logger'
112
+ ```ruby
113
+ require 'logger'
92
114
 
93
- writer = Slim2pdf::Writer.new
94
- writer.logger = Logger.new(STDERR)
115
+ writer = Slim2pdf::Writer.new
116
+ writer.logger = Logger.new(STDERR)
117
+ ```
95
118
 
96
119
  If you use Slim2pdf with Rails, the Rails.logger will be set automatically.
97
120
 
@@ -1,3 +1,3 @@
1
1
  module Slim2pdf
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -1,7 +1,7 @@
1
1
  module Slim2pdf
2
2
  class Writer
3
3
  attr_accessor :template, :data
4
- attr_accessor :wkhtmltopdf_command
4
+ attr_accessor :wkhtmltopdf_path, :wkhtmltopdf_command
5
5
  attr_accessor :footer_text, :footer_font, :footer_font_size
6
6
  attr_accessor :logger
7
7
 
@@ -32,7 +32,8 @@ module Slim2pdf
32
32
 
33
33
  # wkhtmltopdf command without html and pdf file params
34
34
  def wkhtmltopdf_command
35
- @wkhtmltopdf_command || "wkhtmltopdf #{footer_params} -q"
35
+ path = @wkhtmltopdf_path || 'wkhtmltopdf'
36
+ @wkhtmltopdf_command || "#{path} #{footer_params} -q"
36
37
  end
37
38
 
38
39
  def logger
@@ -61,9 +61,14 @@ module Slim2pdf
61
61
  assert_equal false, File.exists?(path)
62
62
  end
63
63
 
64
+ def test_wkhtmltopdf_path
65
+ assert_equal 'wkhtmltopdf -q', @writer.wkhtmltopdf_command
66
+ @writer.wkhtmltopdf_path = '/test/path/to/wkhtmltopdf'
67
+ assert_equal '/test/path/to/wkhtmltopdf -q', @writer.wkhtmltopdf_command
68
+ end
69
+
64
70
  def test_wkhtmltopdf_command
65
- assert_match /wkhtmltopdf/, @writer.wkhtmltopdf_command
66
- assert_match /-q/, @writer.wkhtmltopdf_command
71
+ assert_equal 'wkhtmltopdf -q', @writer.wkhtmltopdf_command
67
72
  @writer.wkhtmltopdf_command = 'test -a -b -c'
68
73
  assert_equal 'test -a -b -c', @writer.wkhtmltopdf_command
69
74
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: slim2pdf
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-01-15 00:00:00.000000000 Z
12
+ date: 2014-01-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -100,6 +100,7 @@ extensions: []
100
100
  extra_rdoc_files: []
101
101
  files:
102
102
  - .gitignore
103
+ - .travis.yml
103
104
  - Gemfile
104
105
  - LICENSE.txt
105
106
  - README.md
@@ -138,7 +139,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
138
139
  version: '0'
139
140
  segments:
140
141
  - 0
141
- hash: -782601368619973164
142
+ hash: 3380417682014750478
142
143
  required_rubygems_version: !ruby/object:Gem::Requirement
143
144
  none: false
144
145
  requirements:
@@ -147,7 +148,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
147
148
  version: '0'
148
149
  segments:
149
150
  - 0
150
- hash: -782601368619973164
151
+ hash: 3380417682014750478
151
152
  requirements: []
152
153
  rubyforge_project:
153
154
  rubygems_version: 1.8.25