acts_as_pdf 0.1.8 → 0.2.0
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 +4 -4
- data/README.md +15 -9
- data/lib/acts_as_pdf.rb +10 -3
- data/lib/acts_as_pdf/version.rb +1 -1
- data/lib/acts_as_pdf/version.rb~ +3 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: aed2d61006356c5a5f5c6d0da19e6f21ca9fc9c4
|
4
|
+
data.tar.gz: b0d5565e985ca90ae57ad4c4a61bbd52f713a7de
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d309aa8dfa569a4bde034e1a46cce105097af7573765d9e085a2efd9824f416dfd27cfe74a2064d66f84eaaaf491dea8c3ab2dbace44d7fb2555c2c210f4dcb3
|
7
|
+
data.tar.gz: 327879b0182f060b69d799ba79cf832b3a8029e3de8792584e69e30336d0311b01527e9924cb9916d4ce8d63e6146002e73894904e9211a05d670db83884b414
|
data/README.md
CHANGED
@@ -29,13 +29,19 @@ class Bill < ApplicationRecord
|
|
29
29
|
|
30
30
|
def generate_bill user, company, obj # has many arguments or no one
|
31
31
|
{
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
32
|
+
variables: {
|
33
|
+
"//COMPANY_NAME//": company.company_name,
|
34
|
+
"//COMPANY_FULL_ADDRESS//": company.company_full_address,
|
35
|
+
"//COMPANY_USER_POST//": company.company_user_post,
|
36
|
+
"//USER_FIRST_NAME//": user.first_name,
|
37
|
+
"//USER_LAST_NAME//": user.last_name,
|
38
|
+
"//OBJECT_PRICE//": obj.salary,
|
39
|
+
"//OBJECT_CURRENCY//": obj.currency
|
40
|
+
},
|
41
|
+
options: { # optional, only if you need footer or header
|
42
|
+
header: { font_size: 16, center: 'header' }
|
43
|
+
footer: { font_size: 10, center: 'footer'}
|
44
|
+
}
|
39
45
|
}
|
40
46
|
end
|
41
47
|
|
@@ -80,12 +86,12 @@ Now you can use it at runtime:
|
|
80
86
|
|
81
87
|
**users_controller.rb**
|
82
88
|
```ruby
|
83
|
-
class
|
89
|
+
class UsersController < ApplicationController
|
84
90
|
|
85
91
|
def after_buying_something
|
86
92
|
bill = Bill.find(param[:bill_id])
|
87
93
|
product = Product.find(param[:product_id])
|
88
|
-
@pdf = bill.
|
94
|
+
@pdf = bill.generate_pdf(params, [@user, product.company, product])
|
89
95
|
end
|
90
96
|
end
|
91
97
|
```
|
data/lib/acts_as_pdf.rb
CHANGED
@@ -6,8 +6,12 @@ module ActsAsPdf
|
|
6
6
|
@@pdf_options = {}
|
7
7
|
cattr_accessor :pdf_options
|
8
8
|
|
9
|
+
def get_hash args
|
10
|
+
@hash ||= (self.send(ActsAsPdf.pdf_options[self.class.to_s.downcase][:opts][:method], *args) rescue {})
|
11
|
+
end
|
12
|
+
|
9
13
|
def md_pdf args = []
|
10
|
-
|
14
|
+
get_hash args
|
11
15
|
output = md_to_pdf
|
12
16
|
|
13
17
|
opts = ActsAsPdf.pdf_options[self.class.to_s.downcase][:opts]
|
@@ -15,7 +19,7 @@ module ActsAsPdf
|
|
15
19
|
font_size = opts[:font_size] || '10'
|
16
20
|
line_height = opts[:line_height] || '180%'
|
17
21
|
|
18
|
-
hash.each { |k, v| output.gsub!(k.to_s, v.to_s) }
|
22
|
+
@hash[:variables].each { |k, v| output.gsub!(k.to_s, v.to_s) } if @hash.keys.include? :variables
|
19
23
|
"<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'> <style type = 'text/css'> body { font-family: #{font_name}; font-size: #{font_size}; line-height: #{line_height}; }</style> " + output
|
20
24
|
end
|
21
25
|
|
@@ -43,8 +47,11 @@ module ActsAsPdf
|
|
43
47
|
end
|
44
48
|
|
45
49
|
def generate_pdf params, args = []
|
50
|
+
get_hash args
|
46
51
|
model = self.preview params
|
47
|
-
|
52
|
+
opts = ActsAsPdf.pdf_options[self.class.to_s.downcase][:opts]
|
53
|
+
@hash[:options] = {} unless @hash[:options].present?
|
54
|
+
WickedPdf.new.pdf_from_string(model.md_pdf(args), opts.merge(@hash[:options]))
|
48
55
|
end
|
49
56
|
|
50
57
|
module ClassMethods
|
data/lib/acts_as_pdf/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: acts_as_pdf
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Oren Carta-Lag
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-01-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: html-pipeline
|
@@ -74,6 +74,7 @@ extensions: []
|
|
74
74
|
extra_rdoc_files: []
|
75
75
|
files:
|
76
76
|
- lib/acts_as_pdf/version.rb
|
77
|
+
- lib/acts_as_pdf/version.rb~
|
77
78
|
- lib/acts_as_pdf.rb
|
78
79
|
- lib/preview_pdf.rb
|
79
80
|
- lib/tasks/acts_as_pdf_tasks.rake
|