princely 1.3.0 → 1.4.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.
Files changed (4) hide show
  1. data/lib/princely.rb +18 -12
  2. data/lib/princely/version.rb +1 -1
  3. metadata +44 -7
  4. data/VERSION +0 -1
@@ -1,4 +1,4 @@
1
- # PrinceXML Ruby interface.
1
+ # PrinceXML Ruby interface.
2
2
  # http://www.princexml.com
3
3
  #
4
4
  # Library by Subimage Interactive - http://www.subimage.com
@@ -14,7 +14,6 @@
14
14
  # :type => 'application/pdf'
15
15
  # )
16
16
  #
17
- $:.unshift(File.dirname(__FILE__))
18
17
  require 'logger'
19
18
  require 'princely/rails' if defined?(Rails)
20
19
 
@@ -29,6 +28,7 @@ class Princely
29
28
  raise "Cannot find prince command-line app in $PATH" if @exe_path.length == 0
30
29
  raise "Cannot find prince command-line app at #{@exe_path}" if @exe_path && !File.executable?(@exe_path)
31
30
  @style_sheets = ''
31
+ @cmd_args = ''
32
32
  @log_file = options[:log_file]
33
33
  @logger = options[:logger]
34
34
  end
@@ -38,7 +38,7 @@ class Princely
38
38
  end
39
39
 
40
40
  def log_file
41
- @log_file ||= defined?(Rails) ?
41
+ @log_file ||= defined?(Rails) ?
42
42
  Rails.root.join("log/prince.log") :
43
43
  File.expand_path(File.dirname(__FILE__) + "/log/prince.log")
44
44
  end
@@ -54,7 +54,7 @@ class Princely
54
54
  `which prince`.chomp
55
55
  end
56
56
  end
57
-
57
+
58
58
  # Sets stylesheets...
59
59
  # Can pass in multiple paths for css files.
60
60
  #
@@ -63,17 +63,23 @@ class Princely
63
63
  @style_sheets << " -s #{sheet} "
64
64
  end
65
65
  end
66
-
66
+
67
+ # Sets arbitrary command line arguments
68
+ def add_cmd_args(str)
69
+ @cmd_args << " #{str} "
70
+ end
71
+
67
72
  # Returns fully formed executable path with any command line switches
68
73
  # we've set based on our variables.
69
74
  #
70
75
  def exe_path
71
76
  # Add any standard cmd line arguments we need to pass
72
77
  @exe_path << " --input=html --server --log=#{log_file} "
78
+ @exe_path << @cmd_args
73
79
  @exe_path << @style_sheets
74
80
  return @exe_path
75
81
  end
76
-
82
+
77
83
  # Makes a pdf from a passed in string.
78
84
  #
79
85
  # Returns PDF as a stream, so we can use send_data to shoot
@@ -81,15 +87,15 @@ class Princely
81
87
  #
82
88
  def pdf_from_string(string, output_file = '-')
83
89
  path = self.exe_path()
84
- # Don't spew errors to the standard out...and set up to take IO
90
+ # Don't spew errors to the standard out...and set up to take IO
85
91
  # as input and output
86
92
  path << ' --silent - -o -'
87
-
93
+
88
94
  # Show the command used...
89
95
  logger.info "\n\nPRINCE XML PDF COMMAND"
90
96
  logger.info path
91
97
  logger.info ''
92
-
98
+
93
99
  # Actually call the prince command, and pass the entire data stream back.
94
100
  pdf = IO.popen(path, "w+")
95
101
  pdf.puts(string)
@@ -102,15 +108,15 @@ class Princely
102
108
 
103
109
  def pdf_from_string_to_file(string, output_file)
104
110
  path = self.exe_path()
105
- # Don't spew errors to the standard out...and set up to take IO
111
+ # Don't spew errors to the standard out...and set up to take IO
106
112
  # as input and output
107
113
  path << " --silent - -o '#{output_file}' >> '#{log_file}' 2>> '#{log_file}'"
108
-
114
+
109
115
  # Show the command used...
110
116
  logger.info "\n\nPRINCE XML PDF COMMAND"
111
117
  logger.info path
112
118
  logger.info ''
113
-
119
+
114
120
  # Actually call the prince command, and pass the entire data stream back.
115
121
  pdf = IO.popen(path, "w+")
116
122
  pdf.puts(string)
@@ -1,3 +1,3 @@
1
1
  class Princely
2
- VERSION = "1.3.0"
2
+ VERSION = "1.4.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: princely
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.4.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,8 +10,40 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-01-25 00:00:00.000000000 Z
14
- dependencies: []
13
+ date: 2013-05-04 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: rspec
17
+ requirement: !ruby/object:Gem::Requirement
18
+ none: false
19
+ requirements:
20
+ - - '>='
21
+ - !ruby/object:Gem::Version
22
+ version: '0'
23
+ type: :development
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - '>='
29
+ - !ruby/object:Gem::Version
30
+ version: '0'
31
+ - !ruby/object:Gem::Dependency
32
+ name: rake
33
+ requirement: !ruby/object:Gem::Requirement
34
+ none: false
35
+ requirements:
36
+ - - '>='
37
+ - !ruby/object:Gem::Version
38
+ version: '0'
39
+ type: :development
40
+ prerelease: false
41
+ version_requirements: !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - '>='
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
15
47
  description: A wrapper for the PrinceXML PDF generation library.
16
48
  email:
17
49
  - michael@intridea.com
@@ -24,7 +56,6 @@ files:
24
56
  - MIT-LICENSE
25
57
  - README.rdoc
26
58
  - Rakefile
27
- - VERSION
28
59
  - lib/princely.rb
29
60
  - lib/princely/pdf_helper.rb
30
61
  - lib/princely/rails.rb
@@ -38,18 +69,24 @@ require_paths:
38
69
  required_ruby_version: !ruby/object:Gem::Requirement
39
70
  none: false
40
71
  requirements:
41
- - - ! '>='
72
+ - - '>='
42
73
  - !ruby/object:Gem::Version
43
74
  version: '0'
75
+ segments:
76
+ - 0
77
+ hash: 978515199395042526
44
78
  required_rubygems_version: !ruby/object:Gem::Requirement
45
79
  none: false
46
80
  requirements:
47
- - - ! '>='
81
+ - - '>='
48
82
  - !ruby/object:Gem::Version
49
83
  version: '0'
84
+ segments:
85
+ - 0
86
+ hash: 978515199395042526
50
87
  requirements: []
51
88
  rubyforge_project:
52
- rubygems_version: 1.8.24
89
+ rubygems_version: 1.8.25
53
90
  signing_key:
54
91
  specification_version: 3
55
92
  summary: A simple Rails wrapper for the PrinceXML PDF generation library.
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 1.2.6