drnic-princely 1.1.3 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.1.3
1
+ 1.2.0
data/init.rb CHANGED
@@ -1 +1 @@
1
- require "./lib/princely/rails"
1
+ require File.dirname(__FILE__) + "/lib/princely/rails"
data/lib/princely.rb CHANGED
@@ -56,7 +56,7 @@ class Princely
56
56
  # Returns PDF as a stream, so we can use send_data to shoot
57
57
  # it down the pipe using Rails.
58
58
  #
59
- def pdf_from_string(string)
59
+ def pdf_from_string(string, output_file = '-')
60
60
  path = self.exe_path()
61
61
  # Don't spew errors to the standard out...and set up to take IO
62
62
  # as input and output
@@ -75,4 +75,21 @@ class Princely
75
75
  pdf.close_read
76
76
  return result
77
77
  end
78
+
79
+ def pdf_from_string_to_file(string, output_file)
80
+ path = self.exe_path()
81
+ # Don't spew errors to the standard out...and set up to take IO
82
+ # as input and output
83
+ path << " --silent - -o #{output_file}"
84
+
85
+ # Show the command used...
86
+ logger.info "\n\nPRINCE XML PDF COMMAND"
87
+ logger.info path
88
+ logger.info ''
89
+
90
+ # Actually call the prince command, and pass the entire data stream back.
91
+ pdf = IO.popen(path, "w+")
92
+ pdf.puts(string)
93
+ pdf.close
94
+ end
78
95
  end
@@ -37,7 +37,11 @@ module PdfHelper
37
37
  html_string.gsub!( /src=["'](\S+\?\d*)["']/i ) { |m| 'src="' + $1.split('?').first + '"' }
38
38
 
39
39
  # Send the generated PDF file from our html string.
40
- return prince.pdf_from_string(html_string)
40
+ if filename = options[:filename] || options[:file]
41
+ prince.pdf_from_string_to_file(html_string, filename)
42
+ else
43
+ prince.pdf_from_string(html_string)
44
+ end
41
45
  end
42
46
 
43
47
  def make_and_send_pdf(pdf_name, options = {})
data/princely.gemspec CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{princely}
8
- s.version = "1.1.3"
8
+ s.version = "1.2.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Michael Bleigh", "Seth from Subimage Interactive"]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: drnic-princely
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.3
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Bleigh